【背景】
软考系列的博客第二篇来了,操作系统基础知识总结。
【内容】
2.1.2进程管理
处理机管。
1、进程状态转换图:用于展现进程的状态及各种状态之间的转换。最常见的:三态模型和五态模型,七态模型。五态包含三态,包括:执行状态(运行状态)、活跃就绪状态、活跃阻塞状态、挂起就绪状态、挂起阻塞状态。
(1)执行状态:进程占有处理机正在CPU上执行的状态。
(2)活跃就绪状态:进程分配到除处理机以外的必须资源的状态。
(3)活跃阻塞状态:进程因等待某个事件的发生而放弃处理机进入等待状态。
(4)挂起就绪状态:进程被移至磁盘镜像区中,此时进程只却处理机资源。
(5)挂起阻塞状态:进程被移至磁盘镜像区中,此时进程除了缺处理机资源外,还缺其他资源。
2、信号量与PV操作
信号量是一种特殊的变量,表现形式是一个整形S和一个队列。
P操作:也称为down()、wait()操作,使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列。
V操作:也称为up()、signal()操作,使S=S+1,若S≤0,唤醒等待队列中的一个进程。
(1)完成互斥控制:P(信号量)
临界区
V(信号量)
临界资源:一次只允许一个进程访问。
(2)完成同步控制:进程A 进程B
… …
L1:P(信号量) L2:V(信号量)
…
3、死锁问题:死锁指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方资源之前不会释放自己所拥有的资源。
产生死锁的原因在于系统提供的资源个数少于并发进程所要求的该类资源数。
产生死锁的四个必要条件: (1)互斥条件
(2)保持和等待条件
(3)不剥夺条件
(4)环路等待条件:
对待死锁的策略:(1)死锁的预防:
(2)死锁的避免:
(3)死锁的检测:
(4)死锁的解除:
4、银行家算法:一种经典的死锁避免方法。基本思想:当某个进程提出申请时,必须判断将资源分配给该进程后是否会引起死锁。若不会,则进行分配;否则就不分配。可以保证在任何时刻至少有一个进程可以得到所需的全部资源而执行结束。
银行家算法思想分配资源:(1)当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
(2)进程可以分期请求资源,但请求的总数不能超过最大需求量。
(3)当系统现有的资源能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
(4)当系统现有的资源能够满足进程尚需资源时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足,则按当前的申请量分配资源。否则要推迟分配。
2.1.3 存储管理
虚拟存储系统,基本思想:用外存来换取内存。
1、页式存储组织:基本原理:将葛金城的虚拟空间划分为若干个长度相等的页,把内存空间与页相等的大小划分为大小相等的片或页面,采用请求调页或预调页技术实现内外存的统一管理。
主要优点:利用率高,产生内存碎片小,内存空间分配及管理简单。
主要缺点:要有相应的硬件支持,增加了系统开销;若请求调页的算法选择不当,则可能产生“抖动”现象。
2、段氏存储组织:一个组也是由若干个具有逻辑意义的段组成。
主要优点:便于多道程序共享内存,便于对存储期的保护,各段程序修改互不影响。
主要缺点:内存利用率低,内存碎片浪费大。
3、段页式存储组织:是分段式和分页式结合的存储组织方法。程序按照逻辑单位分成基本独立的段,再把每段分成固定大小的页。内存则等分成与上述页大小相等的页。程序对内存的调入或调出是按页进行的,但它又可按段实现共享和保护。
优点:具有空间浪费小、存储共享容易、存储保护容易、能动态连接。
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内存也有所增加,使得执行速度大大下降。
4、页面置换算法:(1)最优算法(OPT):
(2)随机算法(RAND):
(3)先进先出算法(FIFO):选择最早调入
(4)最近最少使用算法(LRU):
5、局部性原理:存储管理策略的基础是局部性原理。
2.1.4磁盘管理
1、概念:磁道:一组记录密度不同的同心圆;
扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。
柱面:在一个磁盘中,多个记录面相同的磁道组成柱面。
2、公式:计算磁道数:(外半径-内半径)×道密度×记录面数
非格式化容量=位密度×π×最内圈直径×总磁道数
格式化容量=每道扇区数×扇区容量×总磁道数
平均数据传输速率=每道扇区数×扇区容量×盘片转数
存取时间=寻道时间+等待时间,寻到时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间
3、数据存取过程:
4、磁盘调度算法:(1)先来先服务(FCFS)算法:
(2)
最后总体的导图: