操作系统复习

先把书读后,再把书读薄,再把书读没。

操作系统复习

操作系统是在应用和硬件之间的异层软件,对上层软件提供硬件抽象,对底层硬件进行管理。

思维导图

一、程序

顺序执行:顺序性,封闭性(占全机资源)、可再现性
并发执行:间断性,失去封闭性,不可再现性

二、进程

特征:

结构特征:进程 = 程序 + 数据 + PCB
动态性:能创建和撤销,有生命周期
独立性:独立分配资源,独立运行,独立调度
并发性:
异步性:不可预知的速度推进

PCB

作用:使进程能够与其他进程并发执行
信息
1. 进程标识符
2. 处理机状态:寄存器
3. 进程调度信息:进程状态,优先级,阻塞事件,进程调度算法所需信息。
4. 进程控制信息:程序地址、进程同步和通信信息,资源清单,下一个PCB链接指针
组织方式
1. 链式
2. 线性
3. 索引:

三种状态

  1. 就绪
  2. 执行
  3. 阻塞

创建

事件

  1. 用户登陆
  2. 作业调度
  3. 提供服务:打印服务
  4. 应用请求

过程

  1. 申请空白PCB,从空闲队列索取一个不用的
  2. 为新进程分配资源,内存、文件、CPU等
  3. 初始化PCB
  4. 插入就绪队列

终止

事件

  1. 正常结束
  2. 异常结束
  3. 外界干预

过程

  1. 找到该进程PCB,读取状态,可能是阻塞、就绪、执行
  2. 如果是运行态,终止执行,
  3. 如果有子孙进程,终止执行
  4. 将全部资源回收父进程或系统
  5. 将PCB回收,挂到空闲队列

阻塞

事件

  1. 向系统请求共享资源失败
  2. 等待某种操作完成
  3. 等待新任务到达
  4. 等待新数据的到达

过程

  1. 阻塞原语 block 阻塞自己
  2. PCB 状态改为阻塞
  3. 进入该事件的阻塞队列
  4. 调度程序重新调度

唤醒

过程

  1. 从阻塞队列移除
  2. 将PCB状态改为就绪
  3. 进入就绪队列

挂起和激活

挂起

  1. 活动就绪->静止就绪
  2. 活动阻塞->静止阻塞
  3. 执行->重新调度

三、进程同步

并发执行的进程之间按照一定的顺序共享系统资源,使程序的执行具有可再现性

制约关系

  1. 互斥:资源共享,需要cpu调度
  2. 合作:进程合作,不用cpu调度,你先我后,你放我取

临界资源
需要互斥访问的,不可抢占的资源:打印机、文件、信号量等

同步机制遵循的规则

  1. 空间让进
  2. 忙则等待
  3. 有限等待
  4. 让权等待

四、处理机调度

调度算法

高级调度:作业调度(外存的后备队列->内存)
中级调度:内存调度(外存静止就绪态进程->内存就绪队列)
低级调度:进程调度(内存中就绪队列的一个进程->CPU)

作业调度

  1. 先来先服务
    非抢占、有利于长作业、不利于短作业
  2. 短作业优先
    抢占(时间片),有利于短作业,有效降低作业平均等待时间,提高系统的吞吐量, 不利于长作业,必须预知作业的运行时间,未考虑作业的紧急程度
  3. 高优先权优先算法
    抢占:出现了高优先权作业,让出处理机
    非抢占:一旦执行就完成
    确定优先权:
    1. 系统进程 > 用户进程
    2. 资源要求少优先权高
    3. 用户要求
  4. 高响应比优先
    非抢占:作业完成,进行响应比的比较
    可以转化成短作业优先,先来先服务。
    对于长作业,等待时间长,总会得到处理机。

进程调度

  1. 时间片轮转
  2. 多级反馈队列
    1. 设置多个就绪队列,
    2. 每个队列先来先服务
    3. 按队列优先级调度,第一队列空闲才调度第二队列

实时调度算法

  1. 最早截止时间优先
  2. 最低松弛度优先

五、死锁

资源

  1. 可重用性资源:永久性资源
  2. 可消耗性资源:临界性资源
  3. 可抢占性资源:CPU、主存
  4. 不可抢占性资源:打印机,磁带机

原因

  1. 竞争资源
  2. 进程推进顺序不当

四个必要条件

  1. 互斥
  2. 请求和保持条件
  3. 不可抢占
  4. 循环等待

处理死锁的方法

  1. 预防:破坏必要条件
    1. 破坏请求和保持条件:使用AND型信号量
    2. 破坏不可抢占:不运行,就主动释放
    3. 破坏环路等待:进程编号,智能小号进程申请大号进程资源。
  2. 避免:资源分配过程,防止进入
    1. 银行家算法
  3. 检测:资源分配图
  4. 解除:剥夺资源、撤销进程。

六、内存管理:连续分配

多级存储器结构

  1. CPU寄存器
  2. 主存:cache、主存、磁盘缓存
  3. 辅存;磁盘

程序的装入和链接

.c .o .exe 装入 执行
装入
绝对装入:装入内存,程序的逻辑地址即物理地址。
可重定位装入方式:逻辑地址到物理地址的变换,在装入时一次性完成,在内存中无法改变。
动态运行时装入:重定位寄存器。
链接

  1. 静态链接
  2. 装入时动态链接
  3. 运行时动态链接

连续分配方式

  1. 单一连续分配
    原理:把所有用户区分配给一个作业
  2. 固定分区分配
    原理:用户划分成若干个大小相等或不相等的分区。
    缺点:产生大量内碎片。
  3. 动态分区分配
    原理:事先不分配,作业来了,是多大分配多大。
  4. 可重定位分配

操作系统复习
http://blog.mornw.com/2022/03/02/学习/os/
作者
朝霞换夕阳
发布于
2022年3月2日
许可协议