这是一篇大学课程——操作系统同步笔记,最后有期末大礼包!!
2.1 操作系统逻辑结构
1、OS的设计和设计思路
- 整体式结构
- 以模块为基本单位构建
- 特点:
① 模块设计、编码和调试独立
② 模块调用自由
③ 模块通信多以全局变量形式完成 - 缺点
① 信息传递随意,全局变量难以控制
② 维护和更新困难 - 层次结构
- 例如: TCP/IP协议栈
- 所有功能模块按照调用次序排成若干层,相邻层间只有单向依赖或单向调用
- 分层原则:
① 硬件相关——最底层
② 外部特性——最外层
③ 中间层——调用次序或消息传递顺序
④共性的服务——较低层
⑤活跃功能——较低层 - 层次结构优点:
① 结构清晰,避免循环调用
② 整体问题局部化,系统的正确性容易保证
③ 有利于操作系统的维护、扩充、移植 - 微内核结构(客户/服务器结构,Client/Server)
- 操作系统 = 微内核 + 核外服务器
- 微内核:足够小,提供OS最基本核心功能和服务(面向底层)
① 实现与硬件紧密相关的处理
② 实现一些较基本的功能
③ 负责客户和服务器间的通信 - 核外服务器:完成OS绝大部分服务器功能,等待应用程序提出请求(面向用户)
① 由若干服务器或进程共同构成
② Linux单体内核;MinixOs 微内核结构
2.2 CPU的态
1、支持CPU最基本和硬件结构
CPU、内存、中断、时钟
2、CPU态
- CPU的工作状态
- 对资源和指令使用权限的描述
3、态的分类
- 核态
- 能够访问所有资源和执行指令
- 管理程序/OS内核
- 用户态
- 仅能访问部分资源,其他资源受限
- 用户程序
- 管态
- 介于核态和用户态之间
4、用户态和核态之间的转换
- 用户态向核态转换
- 用户请求OS提供服务
- 发生中断
- 用户进程发生错误(内部中断)
- 用户态企图执行特权指令
- 核态向用户态转换
- 一般是执行终端返回:IRET
- 硬件和OS对CPU的观察
- 硬件按“态“‘来区分CPU状态
- OS按"进程"来区分CPU状态
- Intel CPU的态
- Ring0~Ring3(Ring0最核心;Ring3最外层)
权限检查:态的转换
程序段:请求特权级,RPL,态的属性
描述符特级权限:DPL - 存储器
- 分类
① 按存储器(半导体存储器)读写方式
RAM/ROM
② 按存储元材料
半导体存储器(常做主存)、磁存储器(磁带、磁盘)、光存储器(光盘)
③ 按与CPU联系
主存(直接和CPU交换信息)
辅存:(不能和CPU交换信息)
5、存储体系(混搭)
- 理想存储体系:速度快、容量大、成本低
- 实际存储体系:寄存器、高速缓存、辅存(是综合的)
2.3 中断机制
1、中断
-
定义
-
中断是指CPU对外部时间的反应过程或机制
-
CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来工作
-
引入中断目的(基本目的是为了响应I/O)
-
实现高并发活动
-
实现实时处理
-
故障自动处理
-
中断源和中断
-
引起系统中断的事件叫做中断源
-
中断类型
1.强迫性中断(程序没有预期)和自愿中断(程序有预期)
2.外中断(CPU外部例如I/O)和内中断(CPU内部),其中外中断还分为不可屏蔽中断(中断原因很紧要,CPU必须相应,例如关机指令——最高中断)和可屏蔽中断(最低中断——休眠) -
中断的一些概念
-
断点:程序中断的地方,将要执行的下一指令的地址。
-
现场(上下文):当前程序能正常运行所依赖的信息集合——相关寄存器
-
现场的两个处理过程:①现场的保护,进入中断服务之前,把先前的数据保存在栈里,方便后面还原②现场的恢复
-
中断的响应过程
- 识别中断源
- 保护断点和现场 (中断前的最后程序进栈)
- 装入中断服务程序的入口地址(CS:IP)(记录到CS:IP,硬件自动完成)
- 进入中断服务 (中断前的最后程序出栈)
- 恢复现场和断点 (根据CS:IP,返回到中断前的程序再继续运行
- 中断返回:IRET
- 中断响应的实质
- 交换指令执行地址
- 交换CPU的态
- 工作:现场保护和恢复,参数传递(通信)
2.4 课后习题
1、什么是陷阱指令?在操作系统中有什么用途?
(1)陷阱指令
陷阱指令是处理陷阱的指令。陷阱是指计算机系统在运行中的一种意外事故,例如电源电压不稳、输入输出设备出现用户使用了未定义的指令或特权指令等意外情况,使得计算机系统不能正常工作。一旦出现陷阱,计算机应能暂停当前程序的执行,及时转入故障处理程序进行相应的处理。
(2)用途
陷阱指令切换CPU的执行模式从用户模式到内核模式。该指令允许用户程序调用的操作(调用)函数系统内核
2、中断的概念是什么?中断的响应过程是怎样的?
(1)中断的概念
中断是指CPU对外部时间的反应过程或机制,CPU收到外部信号(中断信号)后,停止当前工作,转去处理该外部事件,处理完毕后回到原来工作的中断处(断点)继续原来工作。
(2)中断的响应过程
① 识别中断源
② 保护断点和现场 (中断前的最后程序进栈)
③ 装入中断服务程序的入口地址(CS:IP)(记录到CS:IP,硬件自动完成)
④ 进入中断服务 (中断前的最后程序出栈)
⑤ 恢复现场和断点 (根据CS:IP,返回到中断前的程序再继续运行
⑥ 中断返回:IRET
3、何为CPU的态?定义态的作用什么?有哪些态?
1、CPU的态是指CPU的工作状态,是对资源和指令使用权限的描述
2、定义态的作用:能够保护系统内部以及划分权限,防止用户在不经意间损毁系统,提高系统安全性
3、① 用户态(仅能访问部分资源,其他资源受限)
② 核态(能够访问所有资源和执行指令)
③ 管态(介于核态和用户态之间)
4、微内核的结构特点是什么?
足够小,提供OS最基本核心功能和服务运行在内核态上的一个模块,这样就可以提供更好的可扩展性和更加有效的操作环境
5、 何为操作系统的逻辑结构?有哪几种典型逻辑结构?
1、操作系统的逻辑结构:OS的设计和实现思路
2、① 整体结构(以模块为基本单位构建)
②层次结构(所有功能模块按照调用次序排成若干层,相邻层间只有单向依赖或单向调用)
③微内核结构(客户/服务器结构)(操作系统=微内核+核外服务器)
转载:https://blog.csdn.net/qq_43681877/article/details/104549789