操作系统的逻辑结构
以模块为基本的单位构建
1.整体式结构
特点:
模块调用自由
模块设计,编码和调试独立
模块通信多以 全局变量 形式完成
缺点:
信息传递随意,维护更新困难
2.层次结构
例子:TCP/IP协议栈
所有功能模块按照调用次序排成若干层,相邻层间只有单向依赖或者单向调用。
分层原则
硬件相关–底层
外部特性–最外层
中间层–调用次序或消息传递顺序
共性服务–较低层
活跃功能–较低层
优点
结构清晰,避免循环调用
整体问题局部化,系统的正确性容易保证
有利于操作系统的维护扩充移植。
3.微内核结构
操作系统=微内核+核外服务器
微内核
足够小,提供os最基本核心的功能和服务
实现与硬件紧密相关的处理
实现一些较为基本的功能
负责客户和服务器间的通信
核外服务器
完成OS的绝大部分服务功能,等待 应用程序 提出请求
由若干服务器或进程共同完成
例如进程/线程服务器,虚存服务器,设备管理服务器
CPU
CPU态
CPU的工作状态
对资源和指令使用权限的描述
态就是对指令权限的描述,比如说系统底层需要特权权限去操作这些重要指令,就需要计算机需要什么状态去执行它。
态的分类
1.核态
能够访问所有资源和执行所有指令
管理程序/OS内核
2.用户态
能够访问部分资源,其他资源受限
用户程序
3.管态
介于用户态和核态之间的态。
用户态和核态之间的转换
1.用户态向核态转换
用户态请求OS提供服务
发生中断
用户进程产生错误
用户态企图执行特权指令
2.核态向用户态转换的情形
一般是执行中断返回 IRET
INTEL CPU的态
RING 0~RING 3(RING 0 最核心 RING3最外层)
程序段A访问程序段B时进行权限检查(态)
程序段:请求特权级(Requested Priviledge Level) RPL=0.3
描述符特权级:DPL(Description Priviledge Level)DPL=0.3