? ? ? ? 为用户及用户程序提供一个更好、更简单、更清晰的计算机模型,并管理所有硬件设备。方便使用,资源管理。
? ? ? ? 并发、共享、虚拟、异步。
????????内核态:当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。其他的属于用户态。
????????用户程序运行在用户态,操作系统运行在内核态。(操作系统内核运行在内核态,而服务器运行在用户态)。
????????用户态不能干扰内核态。所以CPU指令就有两种,特权指令和非特权指令。不同的状态对应不同的指令。
系统态(核心态、特态、管态):执行全部指令。
用户态(常态、目态):执行非特权指令。
? ? ? ? 凡是与资源共享的有关操作(如存储分配、I/O操作、文件管理),都必须通过系统调用的方式向操作系统内核提出请求服务,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。
?分层式结构是什么?
- 按功能流图的调用顺序等原则划分为若干层(最底层为硬件,最高层为用户接口)
- 每层只能调用紧邻他的低层功能和服务(单向依赖)
- 每层对其上层隐藏其下各层的存在
? 优点
- 便于系统的调试和验证,简化了系统的设计和实现
- 易于理解、维护和维护
? 缺点?
- 效率低下
- 合理定各层比较困难
微内核原理是什么?
????????在操作系统内核中只留下一些最基本的功能,而将其它服 务尽可能地从内核中分离出去,用若干个运行在用户态的服务 器进程来实现,形成“客户/服务器模式” 。普通用户进程通过内 核向服务器进程发送请求。
微内核的基本功能
- 进程管理
- 低级存储器管理
- 中断和陷入处理
微内核优缺点?
- 优点:易扩展、方便移植、安全可靠性高
- 缺点:消息传递开销+模式切换开,运行效率有所降低
- 例如:客户和服务器之间通信都需要通过微内核,致使同样的服务请 求至少需要四次上下文切换(之前需要2次),甚至更多。
????????当前OS系统设计中当前最好的方法是使用可载入模块。其中内核有一个核 心组件的集合,可以在启动时或运行时通过模块连接附加的服务。这种方 法在目前得到了广泛的应用,如Linux、MacOS、Solaris和Windows等。
????????这种设计的想法是内核提供核心的服务,其它服务动态实现。如我们可以 将CPU调度和内存管理算法直接放入内核,把对不同文件系统的支持放入 可载入模块中。
????????进程是程序在并发环境过程中的执行过程
? ? ? ? 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
????????动态、并发、独立、异步
????????两者最本质的区别就是进程是动态的,程序是静态的。进程是暂时的,程序是永久的。
注意:进程从运行态变为阻塞态是主动的行为,从阻塞态变为被动态是被动的行为,需要其他相关进程的协助。
????????使执行的进程暂停执行,静止下来,不再参与CPU的竞争,我们把这种静止状态称为挂起状态 (从内存交换到外存)。
????????引入挂起操作的原因,是基于系统和用户的如下需要:
- 终端用户的需要。
- 父进程请求。
- 负荷调节的需要。系统负荷过重,内存空间紧张
- 操作系统的需要。操作系统可能需要挂起后台进程或一些服务进程,或某些可能导致系统故 障的进程。
- 进程全部阻塞,处理机空闲。
(1)进程实体的组成
????????PCB :当程序运行的时候,操作系统会为该进程构建一个叫进程控制块 (PCB)的数据结构,用以记录该进程的各种信息。
????????进程实体 = PCB + 程序段 + 数据段。
????????PCB是操作系统中最重要的记录型数据结构,每个进程都 有一个PCB;用以描述进程的当前情况以及管理进程运行的全部信息
(2)PCB的组成?
(3)PCB的作用
- 作为独立运行基本单位的标志。
????????? 每个进程有唯一的进程控制块
????????? PCB是进程存在的唯一标识?
- 能实现间断性运行方式。?
- 提供进程管理所需要的信息。?
- 提供进程调度所需要的信息。
- 实现与其它进程的同步与通信
?
?
?
?????????以上三种硬件方法都简单、高效,关中断方法则不适用于多CPU系统,但三 种方法都不符合“让权等待”原则
????????代码题
??
?
(4)扩充内存逻辑地址空间方法
?
(5)内存保护?
动态分区算法
?
页式管理
?
段式管理
?