内容概述
进程管理
进程的状态
前驱图
同步和互斥
PV操作(难点)
PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S): ①将信号量S的值减1,即S=S-1; ②如果S>0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S): ①将信号量S的值加1,即S=S+1;
上个列子是单缓存的一个列子,当没有PV操作是,可能缓冲区中有一个商品生成者也会生产这样就会导致,生产者生产的商品没办法放到缓冲区,所以说把产品放到缓存区之前需要有一个P操作使进程等待,消费者取出产品的时候就要有一个V操作,当信号量S1加一,当信号量S1大于0的时候,生产者才会继续生产产品。同时如果没有PV操作,缓冲区没有商品,消费者也会向缓冲区取产品,所以消费者在缓冲区取商品的时候要有一个P操作,只有缓冲区有商品消费者才取商品,生产者要有一个V操作,产品送到缓冲区后信号量S2加一,当信号量S2大于0的时候消费者才会在缓冲区中取商品。
題目
做这类题目需要知道两个进程具体是做什么的,假设没有PV操作,这两个进程的操作会有什么问题,同时我们可以思考我们自己要怎么加入PV操作才能解决这个问题。
答案为:A,C
PV操作与前驱图
题目
答案:C,A,A
死锁问题
银行家算法
当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。进程可以分期请求资源,但请求的总数不能超过最大需求量。当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
案列
答案:B
存储管理
分区存储
首次适应算法
要求,空闲分区链以地址递增的顺序链接。每次从链首开始,直到找到第一个能满足要求的空闲分区为止。
简单来说,就是,每次都从第一个开始顺序查找,找到一块区域可以满足要求的。
优点:优先利用内存中低址部分的空闲分区,从而保留了高址部分的大空闲区,这为以后到达的大作业分配大的内存空间创造了条件。
缺点:低址部分不断被划分,会留下许多难以利用的,很小的空闲分区,称为碎片。而每次查找又都是从低址部分开始的,这无疑又会增加查找可用空闲分区时的开销。
最佳适应算法
将所有空闲分区按照空闲分区容量大小从小到大的顺序连接起来,形成一个空闲分区链。
即,每次都是找空间容量不但可以满足要求的空闲区,而且该空闲分区的容量还要最接近要求的容量大小。
优点:每次分配给文件的都是最合适该文件大小的分区。
缺点:内存中留下许多难以利用的小的空闲区(外碎片)。
最坏适应算法
与BF算法相反,WF算法是按照空闲分区容量从大到小的顺序连接起来的,而且每次找空闲分区的时候也是按照空闲分区容量最大的。
特点:尽可能的分配大的分区。
缺点:使得内存缺乏大分区,可能使得后续到来的大作业无法装入内存。
循环首次适应算法
与FF算法区别就是,不是每次都从首次开始,而是从上次找到的空闲分区的下一个空闲分区开始。(第一次查找的话也是从首页开始)。
页式存储
例题
答案:D,B
段式存储
段页式存储
快表
页面淘汰算法
先进先出
文件管理
索引文件结构
题目
答案:C,D
树型目录结构
空闲存储空间的管理
题目
答案:D,B