第一章:操作系统概论
操作系统—资源管理技术
1:资源管理
(1)复用
- 空分复用(举例:内存、外存)
- 时分复用(独占式、共享式)
(2)虚拟
- 复用:分割实际存在的物理资源----------虚拟:实现假想的虚拟同类资源
(3)抽象
复用、虚拟:解决物理资源不足----------抽象:处理系统复杂性(如:应用软件)(4)组合使用资源管理技术
2:操作系统中的基础抽象
进程抽象、虚拟抽象、文件抽象
3:操作系统虚拟机
虚拟机的每种虚拟资源都是物理资源通过复用、虚拟或抽象得到的产物
操作系统—定义、作用、功能、特性
1:定义
管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作·流程和为用户方便有效地使用计算机提供良好运行环境的一种系统软件
2:作用
(1)服务用户观点------操作系统作为用户接口和公共服务程序
(2)进程交互观点------操作系统作为进程执行的控制着和协调者
(3)系统实现观点------操作系统作为扩展机或虚拟机
(4)资源管理观点------操作系统作为资源的管理者和控制者
3:功能
处理机管理、存储管理、文件管理、设备管理、联网与通信管理
4:特性
(1)并发性:
- 并发性:同一时间间隔,并行性:同一时刻
- 优点:能够有效消除计算机系统中硬部件之间的相互等待,有效改善资源利用率和提高系统效率
(2)共享性
- 透明资源共享、独占资源共享
(3)异步性
操作系统—多道程序设计
指允许多个作业(程序)同时进入计算机系统的内存并启动交替计算的方法
多道程序设计必须解决的三个问题:
- 存储保护和程序浮动
- 处理器管理与分配
- 资源管理与调度
操作系统—发展与分类(判断、选择)
1:批处理操作系统
- 优点:资源利用率高、作业吞吐量大
- 缺点:作业周转时间延长、不具备交互计算机能力、不利于程序的开发和调试
- 特征:批量集中处理、多到程序运行、作业脱机作业
2:分时操作系统
特点:同时性、独立性、及时性、交互性
3:实时操作系统
特点:及时响应、高可靠性
操作系统—用户接口
操作系统—系统调用实现
- 注意:一定要做内核切换(用户态—内核态)
- 实现:实现系统调用的功能的机制称为陷阱或者异常处理机制
- 由于系统调用而引起的处理器中断的机器指令称为访管指令(完成CPU转态切换)、自陷指令或者中断指令
- 访管指令是非特权指令、在目态下执行时会将CPU转换到内核态。
操作系统—结构分类
单体式结构、层次式结构、虚拟机结构、微内核结构,
微内核结构:用的多,
- 实现思想:将操作系统分为两部分,一是运行在内核态的内核,它提供系统基本功能,如进程调度、消息传递和设备驱动,只完成极少内核态任务。而是运行在用户态。
- 优点:对进程的请求提供一致性接口,具有较好的可扩充性和修改性,可移植性好,对分布式系统提供有利支撑
操作系统—运行模型
嵌入应用进程中运行模型、作为独立进程运行模型
第二章:处理器管理
特权指令和非特权指令
- 特权指令:仅在内核态下才能运行的指令
- 非特权指令:在目态和管态下都能工作
内核态和用户态
中断和异常的响应及服务
中断/异常的响应需要顺序做4件事
- (1)发现中断源(发现中断源,并产生中断的硬件称为中断装置)
- (2)保护现场(硬件将中断点的现场信息(PSW)保存在核心栈)
- (3)转向中断/异常事件处理程序执行
- (4)恢复现场
进程
(1)进程状态和切换—三态模型
(2)PCB记录什么特征
描述进程的数据结构
(3)Linux中进程上下文切换与处理器状态切换
(4)进程控制和管理
(1)进程创建
(2)进程撤销
进程完成特定工作或出现严重错误后必须撤销(正常撤销、非正常撤销)
系统或进程将调用撤销原语来终止自己或子程序,步骤如下:
- 根据撤销进程的标识号从相应队列中查找并移除它
- 将此进程所拥有的资源归还给父进程或操作系统
- 若此进程拥有子进程,先撤销其所有的子进程以防止它们脱离控制
- 回收PCB并将其归还至PCB池
- 最后转向进程调度程序工作
(3)进程阻塞和唤醒
阻塞:运行态---->等待态(阻塞原语);唤醒:等待态----->就绪态(唤醒原语)
阻塞原语和唤醒原语需成对使用
进程阻塞步骤:
- 停止进程执行,将现场信息保存到PCB
- 修改进程PCB的有关内容(如进程状态由运行态转为等待态),并把状态已修改的进程移入相应事件的等待队列
- 转向进程调度程序,调度其他程序运行
进程唤醒步骤:
- 从相应的等待队列中移出进程
- 修改进程的PCB有关内容(如进程状态改为运行态),并将进程移出>就绪队列中
- 若唤醒的进程比当前运行的进程优先级高,则重新设置调度标志
线程
(1)线程的实现
用户级线程
内核级线程
处理器调度
(1)选择调度算法
(2)作业调度和低级调度算法
(1):轮转调度算法
(2)多级反馈队列调度算法
详细链接:两种算法详知---------------------》
第三章:同步、通信与死锁(重要)
临界区管理
临界区调度的三个原则
- 一次至多只有一个进程进入临界区内执行
- 如果已有进程在临界区中,试图进入此临界区的其他进程应该等待
- 进入临界区的进程应在有限时间内退出,以便让等待队列中的一个进程进入
总结:互斥使用、有空让进;忙则等待、有限等待;择一而入、算法可行
信号量与PV操作
信号量解决生产者–消费者问题
进程通信(指进程间的信息交换)
死锁及死锁产生条件:
死锁:各进程相互等待对方手里资源导致各进程都堵塞
解饿:长期得不到资源,某进程无法向前推进
死锁产生条件:
(1)互斥条件
(2)占有和等待条件
(3)不剥夺条件
(4)循环等待条件
注意:
- 只要破坏四个必要条件之一,又可以防止死锁
第四章:存储管理(重要)
存储器层次:
自上至下依次是:寄存器、缓存、内存、磁盘、磁带
由下至上:访问速度越来越快,容量越来越小,价格越来越高
程序链接
程序装载
(1)通常装载程序把可执行程序装入内存的方式有三种:
(2)绝对装载:
(3)可重定位装载:用于早期的多道批处理系统,装入时逻辑地址转换为物理地址
(4)动态运行装载:现代操作系统采用,运行时将逻辑地址转换为物理地址
连续存储管理
分配算法
最先适应(first fit)优先算法:
先按地址从小到大排序,然后按顺序查找未分配区
最优适应(best fit)分配算法:
扫描整个未分配区,从空闲区中挑选一个能满足用户进程要求的最小分区进行分配
最坏适应(worst fit)分配算法:
扫描整个未分配区,总是挑选一个最大的空闲分区分割给作业使用
分页存储管理
虚拟存储器的概念
第五章:设备管理
I/O的控制方式:
轮循方式:
中断方式
DMA方式
设备控制器
主要功能:
(1)接收和识别CPU或通道发来的命令
(2)实现数据交换
(3)发现和记录设备及自身的状态信息,供CPU处理使用
(4)设备地址识别
缓存技术
单缓冲(怎么实现)
T>C:处理一块数据的平均用时T+M
T<C:处理一块数据的平均用时C+M
双缓冲(怎么实现)
处理一块数据的平均用时MAX(T,C+M)
驱动调度技术
SPOOLing设计与实现
井程序管理(井的位置)
井位于磁盘上
SPOOLing应用
读卡机、穿孔卡机、共享打印机、网络上的电子邮件和FTP等
第六章:文件管理
文件类型和属性
类型:普通文件、目录文件、特殊文件
属性:文件基本属性、文件类型属性、文件保护属性、文件管理属性、文件控制属性
文件的物理结构
文件类系统调用
文件空间管理
位示图
如何分配与回收
虚拟文件系统
为了同时支持多种文件系统,不同的操作系统采用不同的技术方案来提供虚拟文件系统,其目标是:把多种文件系统纳入统一框架,不同磁盘分区可包含不同具体文件系统
设计思想:
- 应用层
- 虚拟层
- 实现层