操作系统知识
操作系统概述
操作系统作用:
第一:通过资源管理提高计算机系统的效率;
第二:改善人机界面向用户提供友好的工作环境;
操作系统的4个特征:
并发性、共享性、虚拟性、不确定性
操作系统的5大部分:
进程管理、文件管理、存储管理、设备管理、作业管理
进程管理
进程的状态
进程的同步与互斥
同步<--------------->异步
同步是合作进程间的直接制约关系;
互斥<--------------->共享
互斥是申请临界资源进程间的间接制约关系;
互斥即为多个进程争夺一个资源,该资源仅可被一个进程使用;
共享即为多个进程同时使用一个资源;
PV操作
信号量:
公用信号量:实现进程间的互斥,初始值为1或资源的数目;
私用信号量:实现进程间的同步,初始值为0或某个整数;
信号量S:S ≧ 0,表示某资源的可用数,若S <0,其绝对值表示阻塞队列中等待该资源的进程数;
P操作表示申请一个资源,V操作表示释放一个资源;
P操作的定义:S:=S-1,若S≧0,则执行P操作的进程继续执行,若S<0,则置该进程为阻塞状态,并将其插入阻塞队列;
V操作的定义:S:=S+1,若S>0,则执行V操作的进程继续执行,若S≦0,则从阻塞进程唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行;
前趋图与PV操作:
例题:进程P1、P2、P3、P4、P5的前趋图如下图所示,若用PV操作控制进程并发执行的过程,则需要设置4个信号量S1、S2、S3和S4,且信号量初值都等于零。图中a和b应分别填写(?),c和d应分别填写(?),e和f应分别填写(?)。
类似题目的快捷做法是:
1:根据箭头,分别标记对应的信号量S1,S2,S3,S4,顺序为先上后下,先左后右;
2:箭头开始位置为V操作,结束位置有对应的P操作,结果如下;
死锁问题
死锁产生的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
假设有k个进程,每个进程都需要n个资源,那么至少需要k(n-1) + 1个资源才不会发生死锁问题。
银行家算法:
对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后系统进入不安全状态,则不予分配;若分配资源后系统仍处于安全状态,则实施分配。
与死锁预防策略相比,它提高了资源的利用率,单检测分配资源后系统是否安全增加了系统开销。
存储管理
分区存储管理
固定分区
可变分区:最佳适应算法、最差适应算法、首次适应算法、循环首次适应算法
可重定位分区
分页存储管理
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象
页号,页内地址(逻辑地址)
页表:关联页号和块号,可以根据页号找到对应的块号,进而找到对应的物理地址
一般逻辑地址=物理地址
分段存储管理
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
段表:存储的段号、段长和基址
段页式存储管理
结合分页存储和分段存储而形成。
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降
快表和慢表
快表是一块小容量的相连存储器。
快表是放在高速缓存器里面的,而慢表是放在内存中的。
页面置换算法
最优算法:OPT,理想算法,是在知道结果的情况下反推出来的。
随机算法:RAND
先进先出算法:FIFO
最近最少使用算法:LRU,谁的访问次数最少,访问时间最近先淘汰谁
注意:读取指令只会产生一次缺页。
文件管理
索引文件结构
索引结点:一般分为13个,从0开始,到12;
索引结点又分为:
直接索引
一级间接索引
二级间接索引
三级间接索引
空闲存储空间的管理
空闲区表法:
空闲链表法:
位示图法:(重点)
位示图中,1代表被占用,0表示未被占用
例:
注意:字是从1开始数,物理块的位置从0开始数
思路:4195号物理块即为第4196个物理块,一个字为32位,那么该物理块应该对应4196/32=131…125,固该物理块应该在132个字中进行描述,131×32=4192,那么第132个字中的0位置应该是4192号(因为物理块号是从0开始的数的),因此4195应该对应第132个字的3号位置,即将改字的3号位置1.
成组链接发:
设备管理
数据传输与控制
程序控制方式
程序中断方式
DMA方式
通道
输入输出处理机
虚设备与SPOOLING技术
增加了一个输入井,用来缓存设备的作业队列,这样可以提升设备的利用率。
微内核操作系统
只实现基本功能,将图形系统、文件系统、设备驱动及通信功能放在内核之外。