title: 操作系统-软考
date: 2021-02-18 12:40:02
tags: exam
description: 软考(六)
1.进程管理
1.1进程状态(三态模型、五态模型)
1.2信号量与PV操作
-
前趋图
-
进程的同步与互斥
-
PV操作
什么是信号量?信号量(semaphore)的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由PV操作来改变。 执行一次P操作意味着请求分配一个单位资源,而执行一个V操作意味着释放一个单位资源。
信号量机制用来解决进程间的同步和互斥问题
P(S):①将信号量S的值减1,即S=S-1;
②如果S³0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
V(S):①将信号量S的值加1,即S=S+1;
②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
PV操作的意义:我们用信号量及PV操作来实现进程的同步和互斥。PV操作属于进程的低级通信。 -
PV操作与前趋图结合
1.3进程死锁问题
-
临界值问题
最小资源总数=m*(n-1)+1,m为进程数,n为单个进程需要的资源数
-
死锁的条件与避免
1.4进程资源图
阻塞与非阻塞:判断进程请求的资源能否得到满足
化简:擦掉非阻塞节点的所有连线,继续判断其他节点是否非阻塞,重复直到所有节点都是孤立节点,则称是可化简的
1.5银行家算法
1.6进程调度
常见的进程调度算法有先来先服务、时间片轮转、优先级调度、多级反馈调度算法
- 先来先服务(FCFS):进程调度总是将就绪队列队首的进程投入运行。有利于长作业,不利于短作业;有利于CPU繁忙的作业,不利于I/O繁忙的作业,主要用于宏观调度。
- 时间片轮转,主要用于微观调度,设计目标是提高资源利用率,选择时间片长度的方法主要有:
- 限定时间片:分配给每个进程相等的时间片
- 可变时间片:根据进程不同的要求对时间片的大小实时修改
- 优先级调度:每个进程都拥有一个优先数,数值大的表示优先级高,分为静态优先级和动态优先级:
- 静态优先级:进程的优先级在创建时确定,直到进程终止都不会改变
- 动态优先级:在创建进程时赋予一个优先级,在进程运行过程中还可以改变
2.存储管理
2.1分区存储管理
-
首次适应法
每次都从低地址开始查找,找到第一个能满足大小的空闲分区
-
最佳适应法
由于可变分区分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时能有连续的大片空间,优先使用更小的空闲区
-
最差适应法
为了解决最佳适应算法的问题——即留下太多难以利用的小碎片,可以在每次分配时,优先使用最大的连续空闲区,这样分配后的空闲区就不会太小,更方便使用
-
循环首次适应法
每次为进程分配空间的时候,从上一次刚分配过的空闲区的下一块开始寻找
2.2页式存储
2.3段式存储
2.4段页式存储
2.5快表
快表是一块小容量的相联存储器,由高速缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
2.6页面淘汰算法
最优算法:从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。
共访问内存12次,执行指令MOVE Data1.Data2共有5次缺页中断,取指令有1次缺页中断,取Data1,Data2各有2次缺页中断