学习资源: https://www.bilibili.com/video/av46264774/
二、操作系统逻辑结构
1. 操作系统的逻辑结构
- 整体式结构
- 以模块为基本单位构建
- 模块设计、编码和调试独立;模块调用自由;模块通信多以全局变量形式完成
- 信息传递随意,维护和更新困难
- 层次结构 (类似TCP/IP协议栈)
- 所有功能模块按照调用次序排成若干层, 相邻层间只有单向依赖或单向调用
- 微内核机构 (Minix OS)
操作系统 = 微内核 + 核外服务器- 微内核: 足够小,提供OS最基本的核心功能和服务
- 实现与硬件紧密相关的处理
- 实现一些较基本的功能
- 负责客户和服务器间的通信
- 核外服务器: 完成OS的绝大部分服务功能,等待应用程序提出请求
- 进程服务器、线程服务器,需存服务器、设备管理服务器等,以进程形式运行在用户态。
- 微内核: 足够小,提供OS最基本的核心功能和服务
Linux是单体内核(宏内核)
2. CPU的态
支持操作系统的最基本硬件结构
- CPU
- 内存
- 中断
- 时钟
CPU态(Mode)
- CPU的工作状态
- 对资源和指令使用权限的描述
态的分类
- 核态(kernel mode)
- 能够访问所有资源和执行所有指令
- 管理程序 / OS内核
- 用户态(User mode, 目态)
- 仅能够访问部分资源,其它资源受限
- 用户程序
- 管态(Supervisor mode)
- 介于核态和用户态之间
用户态和核态之间的准换
- 用户态向核态转换
- 用户请求OS提供服务
- 发生中断
- 用户进程产生错误(内部中断)
- 用户态企图执行特权指令
- 核态向用户态转换
- 一般是执行中断返回: IRET
存储体系
CPU读取指令或数据时的访问顺序
- 访问缓存(命中, HIT)
- 访问内存(没有命中,MISS)
- 访问辅存(缺页, PAGE_FAULT)
3. 中断机制
定义: 指CPU对突发的外部事件的反应过程或机,当CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部工作,处理完毕后回到原来工作的中断处(断点)继续原来的工作。
引入中断的目的:
- 实现并发活动 (CPU和外设等)
- 实现实时处理
- 故障自动处理
中断源和中断类型
- 引起系统中断的事件称为中断源
- 中断类型
- 强迫性中断(I/O,外部中断)和自愿中断
- 外中断和内中断
- 不可屏幕中断和可屏蔽中断
断点
- 程序中断的地方,将要执行的下一指令的地址
- CS:IP
现场(上下文)
- 程序正确执行所依赖的信息集合
- 相关寄存器
现场的两个处理过程
- 现场的保护: 进入中断服务程序之前,栈
- 现场的恢复: 退出中断服务程序后,栈
中断响应的过程
- 识别中断源
- 保护断点和现场
- 装入中断服务程序的入口地址(CS:IP); 硬件完成,不需要程序员干预
- 进入中断服务程序
- 恢复现场和断点
- 中断返回: IRET
中断响应的实质
- 交换指令执行地址
- 交换CPU的态 (中断响应的过程是在核态完成的)
- 工作
- 现场保护和恢复
- 参数传递(通信) 由主程序传递给中断服务程序,同样中断服务程序可以返回给主程序
转载:https://blog.csdn.net/zhulf0804/article/details/102255491
查看评论