信号量

死锁

死锁预防

  • 即保证系统不进入死锁状态的静态方法
  • 破除4个必要条件:
    1. 互斥条件(系统一般都得有,难以破除)
    2. 请求和保持条件
    3. 不可剥夺条件
    4. 环路等待条件

死锁避免

  • 保证系统不进入死锁状态的动态策略

    银行家算法

    • 银行家-操作系统
    • 周转资金-资源
    • 银行家满足一部分的贷款请求,归还后,再借给其他客户。
    • 原则:不能使银行的钱被借完,使资金无法周转

具体算法(#TODO)

死锁检测和解除

检测

  • 资源分配图

解除

  1. 资源剥夺法
  2. 撤销进程法
  3. 进程回退法

系统调用

虚拟存储器

  • 基于局部性原理
  • 进程调取一部分到内存,剩余的留在磁盘,给用户的感觉是,一个大程序在小内存上运行,认为的内存比实际的大很多。(部分装入+部分替换,逻辑>物理)
  • 虚拟存储技术(Virtual Memory)和分区管理(Partitioned Memory Management)不能配合使用,主要是因为它们的内存管理方式存在根本性冲突。
    • 虚拟存储技术采用分页(Paging)或分段(Segmentation)机制,使得进程可以部分加载到内存,剩余部分存放在磁盘上。
    • 分区管理要求进程必须完整地装入内存才能运行,且内存空间是连续的。

空分复用

与虚拟存储器概念不同

  • 利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率。

时分复用

  • 疯狂地切换进程,看起来每个进程都在跑

设备独立性

  • 用户程序不直接使用物理设备名,只使用逻辑设备名;系统实际执行时,将逻辑设备名转换为具体的物理设备名,实施I/O操作。

OS特征

  1. 并发性
  2. 共享性

    并发和共享是两个最基本特征

  3. 虚拟性
  4. 异步性

OS功能

  1. 处理机管理
  2. 存储器管理
  3. 文件管理
  4. 设备管理
  5. 用户接口

SPOOLing技术

  • 输入井、输出井以作为缓冲
  • 解决速度不匹配的问题

抖动

  • 频繁出现缺页(因为分配的物理块太少)(驻留集),∴频繁请求页面调入内存。
  • ∴对磁盘的访问时间急剧增加,造成每个进程的大部分时间用于页面的换入/换出,而几乎不能去做任何有效的工作。∴CPU利用率急剧下降并趋于零。

驻留集

  • 系统进程分配物理块的多少

工作集

  • 在某段时间间隔内,进程要访问的页面集合。
  • 驻留集大小不能小于工作集

操作系统为用户提供的接口

  1. 命令级接口-给用户(老百姓)
  2. 程序级接口-给程序员,提供系统调用来请求操作系统提供服务

磁盘调度算法

  • 平均寻道长度=磁道移动的数量/请求个数

FCFS(come、served)

最短寻道时间优先SSTF(每次找最近)

(Shortest Seek Time First, SSTF)

SCAN(移动到最外侧,哪怕没请求到)

  • 需要到达磁盘端点
  • 又称电梯调度算法

循环扫描C-SCAN

  • 加个C就是跑回来的时候不处理请求(C-circular-循环)

LOOK

  • 只需移到最远端的请求即可,不需到达磁盘端点

C-LOOK

  • 加个C就是跑回来的时候不处理请求(C-circular-循环)

有快表,请求分页

过程

  • p-页号,f-页表始址,d-页面偏移量
  • TLB-快表

寻址

PV操作

请求分页系统的缺页算法

重点没看部分:

PV难点

时钟置换(CLOCK/NRU)+改进时钟

文件系统索引/地址等大题

段页式

操作系统大题考前1-2天 蓬蓬学长