下面,新东方在线为了帮助参加统考计算机考研同学一臂之力,特意分享了操作系统调度的时机、切换和过程,供考生参考。
2019考研必知计算机操作系统调度的时机、切换和过程
1.引起进程调度的事件
正在运行的进程运行完毕或发生某事件而不能再继续运行;
运行中的进程因提出输入/输出请求而暂停运行;
在进程通信或同步过程中运行了某种原语操作,如 P 操作等;
在可抢先式调度中,有一个比当前进程优先级更高的进程进入就绪队列;
在时间片轮转法中,时间片用完。
2.调度队列
在单处理机系统中,只有一个进程处于运行状态。
3.分派程序(dispatcher)
进程调度算法只是决定哪一个进程将获得处理机,是策略的制定者,而将处理机分配给该进程的具体操作是由分派程序完成的。分配程序是机制,是实际操作者,因此其运行效率较高。这里充分体现了策略与机制分离的设计思想。
4.调度的基本准则
调度的基本准则包括:
处理机利用率:尽可能让昂贵的处理机处于繁忙中。
吞吐量:单位时间内所完成进程的数量尽量多。
周转时间:从作业提交到作业完成所花费的时间。要让周转时间尽可能地小。
后备时间:是指作业抵达系统后在外存等待进入内存的时间,越小越好。
等待时间:是指在就绪队列中等待调度进入处理机的时间。
响应时间:是指从提交请求到产生第一响应输出的时间。
5.调度方式
1)不可抢先方式
2)可抢先方式
3)进程调度算法比较
(1)先来先服务(FCFS)。
(2)短作业或短进程优先(SJF&SPF)。
(3)高响应比优先调度(HRRN)算法。
响应比 Rp =(等待时间+预计运行时间)/ 预计运行时间 = 周转时间 / 预计运行时间
(4)高优先级优先调度算法。
分静态优先级和动态优先级。
(5)时间片轮转调度算法(RR)。
(6)多级反馈队列调度算法。
6.同步与互斥
进程同步与互斥的基本概念
基本概念
在多道程序系统中,由于进程,各进程之间有两种形式的制约关系:
(1)间接相互制约:源于资源共享。
(2)直接相互制约:源于进程合作。
进程同步:主要源于进程合作,为进程之间的直接制约关系。
进程互斥:主要源于资源共享,是进程之间的间接制约关系。
临界资源:一次只允许一个进程使用的资源称为临界资源,如打印机、公共变量等。
临界区:在每个进程中,访问临界资源的那段程序称为临界区。
同步机制应遵循的准则
同步机制应遵循下述四条准则:
(1)空闲则进:当临界区空闲时,进程可以立即进入,以便有效地利用临界资源。
(2)遇忙等待:当已有进程进入其临界区时,其它进程必须等待,以保证互斥。
(3)有限等待:对要求进入的进程,应在有限的时间内使之进入,以免陷入“死等”。
(4)让权等待:对于等待的进程,它必须立即释放处理机,以避免进程忙等。
实现临界区互斥的基本方法
用软件实现的同步互斥机制
(1)算法一:单标志法
(2)算法二:双标志法先检查
(3)算法三:双标志法后检查
(4)算法四:Peterson’s Algorithm
进程互斥的硬件方法
(1)检测和设置(TS)指令
(2)swap 指令(或 exchange 指令)该指令的作用是交换两个字(字节)的内容。