《操作系统典型题汇总(课堂PPT)》由会员分享,可在线阅读,更多相关《操作系统典型题汇总(课堂PPT)(39页珍藏版)》请在金锄头文库上搜索。
1、进程(作业)调度算法(p91),先来先服务调度算法(FCFS):每次调度是从就绪队列中,选择一个最先进入就绪队列的进程,把处理器分配给该进程,使之得到执行。该进程一旦占有了处理器,它就一直运行下去,直到该进程完成或因发生事件而阻塞,才退出处理器。特点:利于长进程,而不利于短进程。,2020/9/6,进程(作业)调度算法(p91),短进程(作业)优先调度算法(SPF):它是从就绪队列中选择一个估计运行时间最短的进程,将处理器分配给该进程,使之占有处理器并执行,直到该进程完成或因发生事件而阻塞,然后退出处理器,再重新调度。,2020/9/6,进程(作业)调度算法(p91),时间片轮转调度算法 :系
2、统将所有的就绪进程按进入就绪队列的先后次序排列。每次调度时把CPU分配给队首进程,让其执行一个时间片,当时间片用完,由计时器发出时钟中断,调度程序则暂停该进程的执行,使其退出处理器,并将它送到就绪队列的末尾,等待下一轮调度执行。,2020/9/6,进程(作业)调度算法(p91),优先权调度算法 :它是从就绪队列中选择一个优先权最高的进程,让其获得处理器并执行。 高响应比优先调度算法:它是从就绪队列中选择一个响应比最高的进程,让其获得处理器执行,直到该进程完成或因等待事件而退出处理器为止。特点:既照顾了短进程,又考虑了进程到达的先后次序,也不会使长进程长期得不到服务,因此是一个比较全面考虑的算法
3、,但每次进行调度时,都需要对各个进程计算响应比。所以系统开销很大,比较复杂。,2020/9/6,进程(作业)调度算法(p91),作业周转时间(Ti)完成时间提交时间 作业平均周转时间(T)周转时间/作业个数 作业带权周转时间(Wi)周转时间/运行时间 响应比1+等待时间/运行时间,2020/9/6,进程(作业)调度算法(p91),1假设有4道作业,它们的提交时间及执行时间由下图给出。 计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法,抢占式短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。,2020/9/6,进程(作业)调度算法(p91),1答案,2
4、020/9/6,进程(作业)调度算法(p91),1答案,2020/9/6,进程(作业)调度算法(p91),1答案,2020/9/6,进程(作业)调度算法(p91),2在一个单处理器的计算机系统中,有四个进程P1,P2,P3,P4的到达时间和所需要的运行时间如下表所示(时间单位:小时,以十进制计算),请问 (1)分别写出采用“先来先服务”调度算法、“短进程优先”和“响应比高者优先”调度算法选中进程运行的次序。 (2)分别计算上述三种算法使各进程在就绪队列中的平均等待时间以及三种算法下的平均周转时间。 (3)是否存在缩短平均周转时间的调度策略,如果存在,请提出来,写出选中进程运行的次序,并计算在就
5、绪队列中的平均等待时间以及平均周转时间?,2020/9/6,进程(作业)调度算法(p91),2答案,2020/9/6,进程(作业)调度算法(p91),2答案 (2)从上面表格中可看出: 先来先服务算法的平均等待时间为:(0+7.6+11+9)/4=6.9 平均周转时间为:(8+11.6+12+12)/4=10.9 短进程优先算法的平均等待时间为:(0+11.6+7+5)/4=5.9 平均周转时间为:(8+15.6+8+8)/4=9.9 高响应比者优先算法的平均等待时间为:(0+8.6+7+9)/4=6.15 平均周转时间为:(8+12.6+8+12)/4=10.15,2020/9/6,进程(作
6、业)调度算法(p91),2答案,2020/9/6,存储器连续分配方式中分区分配算法(p123),首次适应分配算法(FF):对空闲分区表记录的要求是按地址递增的顺序排列的,每次分配时,总是从第1条记录开始顺序查找空闲分区表,找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍为空闲区。保留了高址部分的大空闲区。,2020/9/6,存储器连续分配方式中分区分配算法(p123),循环首次适应算法:每次分配均从上次分配的位置之后开始查找。 使内存中的空闲区分布得更均匀 最佳适应分配算法(BF):是按作业要求从所有的空闲分区中挑选一个能满足作业要求的最小空闲区,这样可保证不
7、去分割一个更大的区域,使装入大作业时比较容易得到满足。为实现这种算法,把空闲区按长度递增次序登记在空闲区表中,分配时,顺序查找。,2020/9/6,存储器连续分配方式中分区分配算法(p123),最坏适应分配算法(WF):将作业申请大小与内存中所有未分配区的大小进行比较,直到找到最大的或等于作业空间的区分配给作业。要求按空闲区大小从大到小的次序组成空闲区链。优先使用大的自由空间,在进行分割后剩余空间还可以被使用。大的自由空间无法保留给需要大空间的作业。,2020/9/6,存储器连续分配方式中分区分配算法(p123),假定磁盘空闲空间表表明有下列存储块空闲:13、11、18、9、20块。有一个要求
8、为某文件分配10个连续磁盘块。 (1)如果采用首次适应分配策略,那么将分配哪个块? (2)如果采用最佳适应分配策略,那么将分配哪个块? (3)如果采用最差适应分配策略,那么将分配哪个块?,2020/9/6,存储器连续分配方式中分区分配算法(p123),答案:(1)分配第一个遇到满足要求的大小为13块的空闲区。 (2)将空闲块按大小递增顺序排列,9、11、13、18、20,分配第一个遇到满足要求的,大小为11块的空闲区。 (3)将空闲块按大小递减顺序排列,20、18、13、11、9,分配第一个遇到满足要求的,大小为20块的空闲区。,2020/9/6,页面置换算法(p149),最佳置换算法(OPT
9、) :选择以后永不使用或在最长时间内不再被访问的内存页面予以淘汰。 先进先出置换算法(FIFO):选择最先进入内存的页面予以淘汰。 最近最久未使用算法(LRU):选择在最近一段时间内最久没有使用过的页,把它淘汰。 时钟算法(CLOCK):选择访问位为0的页面淘汰。,2020/9/6,页面置换算法(p149),在一个采用分页式虚拟存储管理的系统中,有一用户作业,它依次要访问的字地址序列是115,228,120,88,446,102,321,432,260,167。若分配给作业可使用的主存空间共300个字,作业页面大小为100个字,且第0页已经装入主存,请回答下列问题: (1)按FIFO页面调度算
10、法将产生多少次缺页中断?写出依次淘汰的页号。 (2)按LRU页面调度算法将产生多少次缺页中断?写出依次淘汰的页号。,2020/9/6,页面置换算法(p149),答案: 作业页面大小为100个字,所以地址88对应的页号为0,地址115,102,120,167对应的页号为1,地址228,260对应的页号为2,地址321对应页号为3,地址446,432对应的页号为4。整个访问地址序列按页写则为,1,2,1,0,4,1,3,4,2,1。主存空间可使用空间共300个字即3个页框,第0页已经装入主存。,2020/9/6,页面置换算法(p149),答案:,2020/9/6,磁盘调度(p194),先来先服务(
11、FCFS):是按请求访问者的先后次序启动磁盘驱动器,而不考虑它们要访问的物理位置 最短寻道时间优先(SSTF):让离当前磁道最近的请求访问者启动磁盘驱动器,即是让查找时间最短的那个作业先执行,而不考虑请求访问者到来的先后次序,这样就克服了先来先服务调度算法中磁臂移动过大的问题,但容易造成进程饥饿现象,2020/9/6,磁盘调度(p194),扫描算法(SCAN)或电梯调度算法:总是从磁臂当前位置开始,沿磁臂的移动方向去选择离当前磁臂最近的那个柱面的访问者。如果沿磁臂的方向无请求访问时,就改变磁臂的移动方向。在这种调度方法下磁臂的移动类似于电梯的调度,所以它也称为电梯调度算法。 循环扫描算法(CS
12、CAN):循环扫描调度算法是在扫描算法的基础上改进的。磁臂改为单项移动,由外向里。当前位置开始沿磁臂的移动方向去选择离当前磁臂最近的哪个柱面的访问者。如果沿磁臂的方向无请求访问时,再回到最外,访问柱面号最小的作业请求。,2020/9/6,磁盘调度(p194),设某磁盘,磁头刚从138道向0道方向移动。若某时刻磁盘请求分别对如下各道进行读写: 201 288 140 225 117 227 168 170 试分别求FCFS、SSTF及SCAN磁盘调度算法响应请求的次序及磁头移动的总距离。,2020/9/6,磁盘调度(p194),答案 (1)FCFS算法 磁道访问序列:13820118814022
13、5117227168170 共移动488个磁道 (2)SSTF算法 磁道访问序列:138140117168170188201225227 共移动115个磁道 (3)SCAN算法 磁道访问序列:138117140168170188201225227 共移动131个磁道。,2020/9/6,磁盘调度(p194),假定磁盘的旋转速度为每圈20ms,格式化时每个磁道被分成10个扇区。现有10个逻辑记录存放在同一磁道上,其排列顺序如下表所示。 处理程序要顺序处理这些记录,每读出一个记录要花费4ms的时间进行处理,然后再顺序读下一个记录并进行处理,直到处理完这些记录,请回答: (1)顺序处理完这10个记录
14、总花费了多少时间? (2)请给出一种记录优化分布方案,使处理程序能在最短的时间内处理完成这10个记录,并计算优化时间。,2020/9/6,磁盘调度(p194),答案,(1)顺序处理完这10个记录所费时间: 读一个记录的时间是20/10=2ms 每条记录处理时间为4ms.计算如下: A记录:246ms B记录:因为6ms后已转到第4扇区,因此还要转过8个扇区方能到达 第2扇区取B记录,所需时间为:28+2+4=22ms,同样的,C、.J记录 和B记录访问一样,会有8个扇区的空转时间。 总的时间为:6229=204ms (2)要使处理程序在最短时间内处理完毕,则根据我们上面的计算, 把B记录安排在
15、第扇区4上,把C记录存放在扇区7上,.按照这个办法, 可以得到记录的优化分布如下分配: ABCDEFGHIJ 1 4 7 10 3 6 9 2 5 8 这时每处理一个记录后刚好转入下一记录扇区, 所以处理时间总和为:10(2+4)=60ms,2020/9/6,银行家算法(p108),两个判断 假设性分配 安全性检查,2020/9/6,银行家算法(p108),假定一个系统有4种资源,R=(6,4,4,2),当前系统状态如下表,该状态安全吗?请阐述理由。,2020/9/6,银行家算法(p108),答案,2020/9/6,银行家算法(p108),一系统具有150个存储单元。在T0时刻如下表分配给三个
16、进程。对下列请求应用银行家算法分析是否安全? (1)第四个进程P4到达,最大需求60个存储单元,当前请求分配25个单元。 (2)第四个进程P4到达,最大需求60个存储单元,当前请求分配35个单元。 如安全,请给出安全序列,如不安全,请说明理由,2020/9/6,银行家算法(p108),答案,2020/9/6,信号量问题(p53),分清哪些是互斥问题(互斥访问临界资源的),哪些是同步问题(具有前后执行顺序要求的)。 对互斥问题要设置互斥信号量,不管有互斥关系的进程有几个或几类,通常只设置一个互斥信号量,且初值为1,代表一次只允许一个进程对临界资源访问。 对同步问题要设置同步信号量,通常同步信号量的个数与参与同步的进程种类有关,即同步关系涉及几类进程,就有几个同步信号量。同步信号量表示该进程是否可以开始或该进程是否已经结束。 在每个进程中用于实现互斥的PV操作必须成对出现;用于实现同步的PV操作也必须成对出现,但可以分别出现在不同的进程中;在某个进程中如果同时存在互斥与同步的P操作,则其顺序不能颠倒,必须先执行对同步信号量的P操作,再执行