北大操作系统第三章:操作系统习题课(三)

合集下载

操作系统本科第3章教材习题解答

操作系统本科第3章教材习题解答

第3章处理机调度“练习与思考”解答1.基本概念和术语调度、作业调度、进程调度、吞吐量、周转时间、带权周转时间、中断调度就是选出待分派的作业或进程。

作业调度就是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。

进程调度就是根据一定的算法将CPU分派给就绪队列中的一个进程。

吞吐量:单位时间内CPU完成作业的数量。

周转时间:从作业提交到作业完成的时间间隔。

带权周转时间:定义为作业的周转时间除以其实际运行时间。

中断是指CPU对系统发生的某个事件做出的一种反应,它使CPU暂停正在执行的程序,保留现场后自动执行相应的处理程序,处理该事件后,如被中断进程的优先级最高,则返回断点继续执行被“打断”的程序。

2.基本原理和技术(1)处理机调度的主要目的是什么?处理机调度的主要目的就是为了分配处理机。

(2)高级调度与低级调度的主要功能是什么?为什么要引入中级调度?高级调度的主要功能是根据一定的算法,从输入的一批作业中选出若干个作业,分配必要的资源,如内存、外设等,为它建立相应的用户作业进程和为其服务的系统进程(如输入、输出进程),最后把它们的程序和数据调入内存,等待进程调度程序对其执行调度,并在作业完成后作善后处理工作。

低级调度的主要功能是根据一定的算法将CPU分派给就绪队列中的一个进程。

为了使内存中同时存放的进程数目不至于太多,有时就需要把某些进程从内存中移到外存上,以减少多道程序的数目,为此设立了中级调度。

(3)作业在其存在过程中分为哪四种状态?作业在其存在过程中分为提交、后备、执行和完成四种状态。

(4)在操作系统中,引起进程调度的主要因素有哪些?在操作系统中,引起进程调度的主要因素有:正在运行的进程完成任务,或等待资源,或运行到时;核心处理完中断或陷入事件后,发现系统中“重新调度”标志被置上。

操作系统-第3章复习题答案

操作系统-第3章复习题答案

操作系统-第3章复习题答案(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--操作系统第三章总复习题一、单选题1、进程调度又称低级调度,其主要功能是( D )。

A.选择一个作业调入内存B.选择一个主存中的进程调出到外存C.选择一个外存中的进程调入到主存D.将一个就绪的进程投入到运行2、若进程P一旦被唤醒就能够投入运行,系统可能为( D )。

A.分时系统,进程P的优先级最高B.抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C.就绪队列为空队列D.抢占调度方式,P的优先级高于当期运行的进程。

3、一个进程P被唤醒后,( D )。

A.P就占有了CPU。

B.P的PCB被移到就绪队列的队首。

C.P的优先级肯定最高D.P的状态变成就绪4、若当期运行进程( C )后,系统将会执行进程调度原语。

A 执行了一个转移指令B 要求增加主存空间,经系统调用银行家算法进行测算认为是安全的。

C 执行了一条I/O指令要求输入数据。

D 执行程序期间发生了I/O完成中断。

5、当系统中( C )时,系统将不会执行进程调度原语。

A.一个新进程被创建B.当前进程执行了P操作。

C.在非抢占调度中,进程A正在运行而进程B恰好被唤醒。

D.分时系统中时间片用完。

6、在分时系统中,若当期运行的进程连续获得了两个时间片,原因可能是( B )。

A 该进程的优先级最高B 就绪队列为空C 该进程最早进入就绪队列D 该进程是一个短进程7、实时系统中采用的调度算法可以有如下几种:1、非抢占优先权调度算法2、立即抢占优先权调度算法3、时间片轮转调度算法4、基于时钟中断抢占的优先权调度算法按实时要求的严格程度由低到高的顺序( B )。

A 1-3-2-4B 3-1-4-2C 3-1-2-4D 1-3-4-28、三种主要类型的OS 中都必须配置的调度( C )。

A 作业调度B 中级调度C 低级调度D I/O调度9、设系统中n 个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X最少要有( C )个。

操作系统第三章作业讲解

操作系统第三章作业讲解

第三章 作业讲解1、有5个作业进入就绪队列等待运行,预计它们的运行时间分别为9、6、3、5与X ,它们以什么样的调度顺序运行时会取得最小的响应时间?(答案与X 值有关) 答:短作业优先调度算法是使响应时间最小的调度算法: 0 < X ≤ 3时,调度顺序为: X 、3、5、6、9 3 < X ≤ 5时,调度顺序为: 3、X 、5、6、9 5 < X ≤ 6时,调度顺序为: 3、5、X 、6、9 6 < X ≤ 9时,调度顺序为: 3、5、6、X 、9 X > 9时,调度顺序为: 3、5、6、9、X2、假设一个系统中有4个进程,它们的到达时间和服务时间如表所示,忽略I/O 以及其他开销时间,若分别按先来先服务(FCFS )、非抢占及抢占的短进程优先(SPF )、高响应比优先(HRRN )、时间片轮转(RR ,时间片=1)、多级反馈队列调度算法(FB ,第i 级队列的时间片=2i-1)进行CPU 调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。

算法时间 进程平均时间A B CDFCFS完成时间 周转时间 带权周转时间5 5 1 76 3 16 13 1.44 23 17 2.43 10.25 1.97 SPF (非抢占) 完成时间周转时间带权周转时间 5 5 1 7 6 3 23 20 2.22 14 8 1.14 9.75 1.835 SPF (抢占)完成时间 周转时间 带权周转时间 7 7 1.4 3 2 1 23 20 2.22 14 8 1.14 9.25 1.435 HRRN完成时间 周转时间 带权周转时间 5 5 1 7 6 3 16 13 1.44 23 17 2.43 10.25 1.97 RR (q=1)完成时间 周转时间 带权周转时间 12 12 2.4 4 3 1.5 23 20 2.22 22 16 2.29 12.75 2.1 FB (q=2i-1)完成时间 周转时间 带权周转时间13 13 2.66 5 2.523 20 2.22 21 15 2.1413.25 2.3653、若有4个周期性任务,任务A 要求每30ms 执行一次,执行时间为15ms ;任务B 要求每50ms 执行一次,执行时间为5ms ;任务C 要求每50ms 执行一次,执行时间为15ms ;任务D 要求每100ms 执行一次,执行时间为10ms ,应如何按最低松弛度优先算法对它们进行CPU 调试? (要求画出0-150ms 时段的调度时序图,并列出每次切换时每个任务的松弛度)进程 到达时间 服务时间 A 0 5B 1 2C 3 9D 6 7答:对于上面的4个周期性任务,利用最低松弛度优先算法进行调度的情况如图所示:4、3个进程共享4个同类型的资源,每个进程最大需要2个资源,请问该系统是否会因为竞争该资源而死锁?答:该系统不会因为竞争该类资源而死锁。

操作系统课后习题

操作系统课后习题

北京大学操作系统课后题参考答案操作系统1.什么是计算机系统?计算机系统是怎么构成的?了解PC的组成情况,说明:1)硬件组织的基本结构,画出硬件配置图;2)主要系统软件和应用软件(若有的话)他们的作用。

答:计算机系统就是按照人的要求接收和存储信息,自动进行数据处理和计算,并输出结果信息的系统。

计算机系统由硬件子系统和软件子系统组成。

计算机系统的构成包括:如图 1.2计算机硬件系统的构成:如图 1.42.从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的?答:计算机系统中软件系统分为系统软件,支撑软件和应用软件三层。

3.什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。

答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。

它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能安全高效地运行4.请举一个实际的例子来说明操作系统的功能。

答:你能用用操作系统管理很多资源5.为什么说“操作系统是控制硬件的软件”的说法不确切?答:操作系统不仅能够控制硬件,也可以控制各种软件资源。

6.操作系统的基本特征是什么?说明他们之间的关系。

答:1.并发性2.共享性3.随机性7.试从独立性,并发性和交互性和实时性四个方面来比较批处理系统,分时系统以及实时系统。

答:分时系统:并发性是指同时有多个用户共同使用一个计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU.独占性,是指用户感觉不到计算机为他们服务,就好像整个系统为他所独占。

交互性:是指用户根据系统响应结果进一步提出新要求,用户直接干预每一步。

实时性:是指系统对用户提出的请求及时响应。

8.引入多道程序设计技术的起因和目的是什么?多道程序系统的特征是什么?答:多道程序设计的基本思想在内存中保持多个作业,主机可以交替的方式同时处理多个作业,一般来说任何一道作业的运行总是要交替的使用处理器和外设子案9.多道程序设计的度是指在任一给定时刻,单个CPU所能支持的进程数目最大值。

(完整版)操作系统第3章习题带答案

(完整版)操作系统第3章习题带答案

第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB 中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。

5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P 在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P 运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P 占用处理机运行;进程P 的时间片到;一段时间后,进程P 再次占用处理机;有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q;进程Q 运行完,进程调度再次选中了进程P 占用处理机运行;进程P 运行完。

请分析进程P 在其整个生命过程中的状态变化。

进程调度选中了进程P 占用处理机运行(就绪→运行),进程P 运行中提出资源申请,要求增加内存使用量,没有得到(运行→阻塞);进程等待一段时间后得到内存(阻塞→就绪);进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 的时间片到(运行→就绪);一段时间后,进程P 再次占用处理机(就绪→运行);有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q(运行→就绪);进程Q 运行完,进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 运行完。

请分析进程P 在其整个生命过程中的状态变化。

6、试比较进程与程序的异同。

7、引起创建进程的事件通常有哪些?简述进程的创建过程。

8、简述进程的阻塞过程。

910、进程控制块的作用是什么?它主要包括哪几部分内容?11、简述操作系统的三级调度。

12、为什么要了解进程间的家族关系?因为父进程和子进程之间是隶属关系,子进程可以继承使用父进程的资源;如果父进程被撤销,还应撤销其所有的子孙进程。

13、什么是进程?。

14、试比较进程和线程的区别。

15、简述进程的基本状态,画出其状态转换图。

操作系统第三版第三章习题答案

操作系统第三版第三章习题答案

第三章处理机调与死锁102260010065 黄兰10计科3班P1145.试说明低级调度的主要功能答:(1)保存处理的现场信息。

在进程调度进行调度时,首先需要保存当前进程的处理机的现场信息,如程序计数器、多个通用寄存器中的内容等,将它们送入该进程的进程控制块(PCB)中的相应单位。

(2)按某种算法选取进程。

低级调度程序按某种算法如优先数算法、轮转法等,从就绪队列中选取一个进程,把它的状态改为运行状态,并准备把处理机分配给它。

(3)把处理器分配给进程。

由分派程序把处理器分配给进程。

此时需为选中的静态进程恢复处理机现场,即把选中进程的进程控制块内有关处理机现场的信息装入处理器相应的各个寄存器中,把处理器的控制权交给该进程,让它从取出的断点处开始运行。

P1159.何谓静态和动态优先级?确定静态优先级的依据是什么?答:(1)静态优先级定义:静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。

一般地,优先权是利用某一个整数来表示的,例如,0~7或0~255中的某一整数,又把该整数称为优先数,只是具体用法各异:有的系统用“0”表示优先权,当数值越大时,其优先权越低;而有的系统恰恰相反。

(2)动态优先级定义:动态优先权是指在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。

(3)确定优先级的依据:①进程类型。

②进程对资源的需要。

③用户要求。

10.试比较FCFS和SPF两种进程调度算法。

答:(1)相同点:两种调度算法都是既可用于作业调度,也可用于进程调度。

(2)不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将他们调入内存,为他们分配资源,创建进程,然后插入到就绪队列中。

该算法有利于长作业/进程,不利于短作业/进程。

SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。

操作系统习题(各章节精选)及答案

操作系统习题(各章节精选)及答案

第一章操作系统概述1.试从操作系统的设计目标、作用、分类、功能、特性、组织结构等方面分析目前的操作系统(如windows、Mac OS X、Andriod、Linux发行版或Unix操作系统)答:windows:Windows采用了图形化模式,比起从前的DOS需要键入指令使用的方式更为人性化。

随着电脑硬件和软件的不断升级,微软的Windows也在不断升级,从架构的16位、32位再到64位,系统版本从最初的Windows 1.0到大家熟知的Windows 95、Windows98、Windows 2000、Windows XP、Windows Vista、Windows 7、Windows 8,Windows8.1和Server服务器企业级操作系统,不断持续的在更新!Mac OS X:OS X 是先进的操作系统。

基于坚如磐石的UNIX 基础,设计简单直观,让处处创新的Mac 安全易用,高度兼容,出类拔萃。

UNIX 之威力,Mac 之简单OS X 既简单易用且功能强大。

所有的一切- 从启动Mac 后所看到的桌面,到你日常使用的应用程序,都设计得简约精致。

无论是浏览网络、查看邮件和外地朋友视频聊天,所有事情都简单高效、趣味盎然。

当然,简化复杂任务要求尖端科技,而OS X 正拥有这些尖端科技。

它不仅使用基础坚实、久经考验的UNIX 系统提供空前的稳定性,还提供超强性能、超炫图形并支持互联网标准。

Andriod:root通常是针对Android系统的手机而言,它使得用户可以获取Android操作系统的超级用户权限。

root通常用于帮助用户越过手机制造商的限制,使得用户可以卸载手机制造商预装在手机中某些应用,以及运行一些需要超级用户权限的应用程序。

Android系统的root与Apple iOS系统的越狱类似。

Linux:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

操作系统第三章练习题与答案

操作系统第三章练习题与答案

第三章一、填空1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。

2.使用覆盖与对换技术的主要目的是提高内存的利用率。

3.存储管理中,对存储空间的浪费是以内部碎片和外部碎片两种形式表现出来的。

4.地址重定位可分为静态重定位和动态重定位两种。

5.在可变分区存储管理中采用最佳适应算法时,最好按尺寸法来组织空闲分区链表。

6.在分页式存储管理的页表里,主要应该包含页号和块号两个信息。

7.静态重定位在程序装入时进行,动态重定位在程序执行时进行。

8.在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现抖动现象。

9.在请求分页式存储管理中采用先进先出(FIFO)页面淘汰算法时,增加分配给作业的块数时,缺页中断的次数有可能会增加。

10.在请求分页式存储管理中,页面淘汰是由于缺页引起的。

二、选择1.虚拟存储器的最大容量是由 A 决定的。

A.内、外存容量之和 B.计算机系统的地址结构C.作业的相对地址空间 D.作业的绝对地址空间2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。

运行时会产生 D 次缺页中断。

A.7 B.8 C.9 D.10从图3-8中的“缺页计数”栏里可以看出应该选择D。

图3-8 选择题2配图3.系统出现“抖动”现象的主要原因是由于 A 引起的。

A.置换算法选择不当 B.交换的信息量太大C.内存容量不足 D.采用页式存储管理策略4.实现虚拟存储器的目的是 D 。

A.进行存储保护 B.允许程序浮动C.允许程序移动 D.扩充主存容量5.作业在执行中发生了缺页中断,那么经中断处理后,应返回执行 B 指令。

A.被中断的前一条 B.被中断的那条C.被中断的后一条 D.程序第一条6.在实行分页式存储管理系统中,分页是由 D 完成的。

A.程序员B.用户C.操作员D.系统7.下面的 A 页面淘汰算法有时会产生异常现象。

操作系统习题答案第(3)

操作系统习题答案第(3)

CH3 应用题参考答案1、有三个并发进程:R 负责从输入设备读入信息块,M 负责对信息块加工处理;P 负责打印输出信息块。

今提供;l )一个缓冲区,可放置K 个信息块;2 )二个缓冲区,每个可放置K 个信息块;试用信号量和P 、V 操作写出三个进程正确工作的流程。

答:1 ) var B : array [ 0 , k-1 ] of item ;sread : semaPhore : = k ;smanage : semaPhore : = 0 ;swrite : semaphore : = 0 ;rptr : integer : = O ;mptr : integer : = O ;wptr :integer : = 0 ;x : itemcobeginprocess reader ; process manager ; processwriter ;begin begin beginLI : read a message intox ; L2 : P ( smanage ) ; L3 : P( swnte ) ;P ( sread ) ; x:=B[mptr]; x:=B[swrite];B[rptr]:=x; mptr:=(mptr+1) mod k; wptr:=(wptr+1) mod k;Rptr:=(rptr+1) mod k; manage the message in x;V(sread);V(smanage); B[mptr]:=x; print the message in x;Goto L1; V(swrite); goto L3;End; goto L2; end;End;coend2 ) var A , B :array [ 0 , k -l ] of item ;sPut1 : semaphore:=k;SPut2: semaPhore:=k;sget1 : semaPhore : = 0 ;sget2 : semaphore : = 0 ;put1 :integer :=O ;put2:integer : = 0 ;get1 :integer :=O ;get2 : integer : = O ;cobeginprocess reader ; processn manager; process Writer ;begin begin beginLl : read a message into x ; L2 : P ( sgetl ) ; L3 :P ( sgetZ ) ;P ( SPut1 ) ; x : = A [ get1] ; x := B [get2];A [put1]:=x ; get1 :(get1+1 ) mod k ; get2:=(get2 + l ) mod k ;Put1:=(put1+1) mod k; V(sput1); V(sput2);V(sget1); manage the message into x; print the message in x;Goto L1; P(sput2); goto L3;Put2:=(put2+1) mod k;V(sget2);Goto L2;End;Coend2 设有n 个进程共享一个互斥段,如果:( 1 )每次只允许一个进程进入互斥段;( 2 )每次最多允许m 个进程(m 簇n )同时进入互斥段。

(完整版)计算机操作系统(第四版)课后习题答案第三章

(完整版)计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

操作系统第三章答案

操作系统第三章答案

操作系统第三章答案【篇一:操作系统第三章练习及答案】度与低级调度的主要任务是什么?为什么要引入中级调度?2. 何谓死锁?产生死锁的原因和必要条件是什么?3. 有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所示的作业序列,表中所第三章答案1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?解答:高级调度富用于决定把外存上处于后备队列中的哪些作业调入内存, 并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备报告。

低级调度是决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

引入中级调度的目的是为了提高内存的利用率和系统吞吐量。

为使那些暂时不能运行的进程不再占用内存空间,而将它们调至外存上去等待;当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

2. 何谓死锁?产生死锁的原因和必要条件是什么?解答:产生尢锁的原因可归结为两点:仁竞争资源;2、进程推进顺序非法。

在同时具备以下四个必要条件时,就会产生死锁:1、互斥条件, 指在一段时间内某资源只能由一个进程占有。

2、请求和保持条件,指进程已经保持了至少一个资源,又提出了新的资源要求,而该资源又被其它进程占有,此时请求进程阻塞,但不释放已持有的资源。

3. 不剥夺条件,指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。

4、环路等待条件,指存在一个进程一资源的环形链。

3. 在银行家算法中,把P0发出的请求向量改为requstO(O, 1, 0), 系统是否能将资源分配给它?解答:当po 发出请求向* requsto (o, 1, 0)后,系统按银行家算法进行 检查:(1) requstO(O, 1, 0)=need(7,4,3)requstO(O, 1, 0)=available(2,3,0)系统暂时先假定可为po 分配资源,并修改有关数据,如下所 示:allocation needavailable a b cab c a b cpO 0 207 3 3 22 0p1: 3 020 2 0P23 026 0 0p32 110 1 1p40 024 3 1(4)进行安全性检查work need allocation work+allocation finish abcabcabcabc true p1 2 2 0 0 20 3 0 25 2 2 true p3 5 2 2 0 1 12 1 1 7 3 3 true p473343100273 5true p2 7356003021 0 3 7 true pO 1 0 37 3 3 0 2 0 1 0 5 7 true5.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以抢占式优先权调度算法,有如下表所 示的作业序列,表中所1)、列出所有作业进入内存时间及结束时间 2)、计算平均周转时间 解答:本题中的系统是两道作业系统,因此每次只能有两个作业进入系统, 作业调度采用短作业优先算法,只有调度进入系统的进程方能参与 进程调度;进程调度采用基于优先数的抢占式调度算法,高优先级 的进程可以抢占系统处理机。

操作系统第三章,第四章,第九章课后习题整理

操作系统第三章,第四章,第九章课后习题整理

操作系统第三章,第四章,第九章课后习题整理第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。

通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。

(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。

答:运行态:该进程正在执行。

就绪态:进程做好了准备,只要有机会就开始执行。

阻塞态:进程在某些事件发生前不能执行,如I/O 操作完成。

新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。

退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。

抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。

什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。

当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。

为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。

为适应这种2*2的组合,需要两个阻塞态和两个挂起态。

列出挂起态进程的4个特点。

答:1.进程不能立即执行。

2.进程可能是或不是正在等待一个事件。

如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。

3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。

4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。

对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。

列出进程控制块中的三类信息。

答:进程标识,处理器状态信息,进程控制信息。

为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。

操作系统第三章部分习题答案

操作系统第三章部分习题答案

操作系统第三章部分习题答案一、3.5测验题金鱼问题的代码3#,解决了喂鱼的问题Peter:(1)leave notePeter(2)while (noteTracy) {do nothing}(3)if (noFeed) { feeDfish }(4) remove notePeterTRACY:(5)leave noteTracy(6)if (no notePeter) {if (noFeed) {feed fish}}(7)remove noteTracy请结合这段代码和给出的语句标号,回答一下问题:(1)在什么语句执行顺序下,TRACY可以喂鱼?(2)如果PETER先贴纸条,是否鱼只能由PETER来喂?(3) 如果TRACY先贴纸条,是否鱼只能由TRACY来喂?(4)给出一种PETER喂鱼的语句执行顺序。

解答:(1)题目要求的语序,所以给出一种语句执行顺序即可。

根据对题目的分析,5671234满足题意(2)是的。

原因在于,题目关键是语句1和语句6之间的顺序关系。

如果1在6前,那么PETER喂,反之,TRACY喂。

PETER先贴纸条,语句1肯定在5之前,同一个人的语句是顺序执行,那么1肯定也在6之前,所以必然是PETER喂。

(3)否。

TRACY先贴纸条,只能说语句5在语句1之前,但不能保证6在1之前。

比如5167234这种语序,TRACY先贴,但还是PETER喂。

(4)1234567二、3.8测试第一题现有一座独木桥,一次只允许一个人通过,请用信号量实现:)答案:根据题意,相当于两侧进程互斥的访问独木桥,故设置整型信号量MUTEX=1代码如下:P左:WAIT(MUTEX);过桥;SIGNAL(MUTEX)P右:WAIT(MUTEX);过桥;SIGNAL(MUTEX)注意:不能只写一侧的代码,必须两侧都写,虽然代码一样三、3.8测试第二题现有一座独木桥,在有人过桥的情况下,允许同方向的N个人(包含在桥上的人)过桥,不同方向的人只能等待。

操作系统--习题课2-3-第三章

操作系统--习题课2-3-第三章

第三章习题【例1】有一个内存中只能装入两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。

有如表所示的作业序列,表中所列的优先数是指进程调度的优先数,且优先数越小优先级越高。

(1)列出所有作业进入内存的时刻以及结束的时刻。

(2)计算作业的平均周转时间。

作业名到达时间估计运行时间(分) 优先数A 10:00 40 5B 10:20 30 3C 10:30 50 4D 10:50 20 6答:根据题意,作业的调度和运行情况如图所示,从图中可以看出(1)A、B、C、D各作业进入内存的时刻分别是10:00、10:20、11:10、10:50;它们完成的时刻分别是11:10、10:50、12:00、12:20。

(2)A、B、C、D的周转时间分别是70分钟、30分钟、90分钟、90分钟,故它们的平均周转时间为70分钟。

【例2】对下面的5个非周期性实时任务,按最早开始截止时间优先调度算法应如何进行CPU调度?进程到达时间执行时间开始截止时间A 10 20 110B 20 20 20C 40 20 50D 50 20 90E 60 20 70答:对上面5个非周期性实时任务,按最早开始截止时间优先调度算法进程CPU调度的结果如图所示,可见采用非抢占调度方式时,系统没能保证B任务对截止时间的要求。

【例3】若有3个周期性任务,任务A要求每20ms执行一次,执行时间为10ms;任务B要求每50ms执行一次,执行时间为10ms;任务C要求每50ms 执行一次,执行时间为15ms,应如何按最低松弛度优先算法对它们进行CPU调度?答:对上面的3个周期性任务,利用最低松弛度优先算法进行调度的情况如图所示。

【例4】假定某计算机系统有R1设备3台,R2设备4台,它们被P1、P2、P3和P4这四个进程互斥共享,且已知这4个进程均以下面所示的顺序使用现有设备:→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1→,请问系统允许过程中是否可能产生死锁?如果有可能的话,请举出一种情况,并画出表示死锁状态的进程-资源图。

操作系统练习题三四五章

操作系统练习题三四五章

操作系统练习题三四五章第三章进程管理练习题一、选择题1.如果信号量S的值是0,此时进程A执行P(S)操作,那么,进程A会()。

A.继续运行 B.进入阻塞态,让出CPUC.进入就绪态,让出CPU D.继续运行,并唤醒S队列头上的等待进程2. 正在运行的进程在信号量S上操作P操作之后,当S<0,进程将进入信号量的()。

A.等待队列B.提交队列C.后备队列D.就绪队列3.在非剥夺调度方式下,运行进程执行V原语后,其状态()。

A.不变B.要变C.可能要变D.可能不变4. 一个进程被唤醒,意味着()。

A.改进程重新占有了CPUB.进程状态变为就绪C.它的优先权变为最大D.其PCB移至就绪队列的队首5.. 系统感知进程的唯一实体是()。

A.JCBB.FCBC.PCBD.SJT6. 一进程在某一时刻具有()。

A.一种状态B.二种状态C.三种状态D.四种状态7. 进程从运行状态变为等待的原因可能是()。

A.输入/输出事件发生B.时间片到C.输入/输出事件完成D.某个进程被唤醒8. 进程创建原语的任务是()。

A.为进程编制程序B.为进程建立PCB表C.为进程分配CPUD.为进程分配所需的各种资源9. 进程被创建后即进入()排队。

A.阻塞队列B.就绪队列C.缓冲队列D.运行队列10.在操作系统中,进程是一个具有一定独立功能的程序在某个数据集上的一次。

A)等待活动 B)运行活动 C)单独操作 D)关联操作11.下面对进程的描述中,错误的是。

A)进程是动态的概念 B)进程执行需要处理机 C)进程是有生命期的D)进程是指令的集合12. 进程和程序的本质区别是( ) 。

A)存储在内存和外存 B)顺序和非顺序执行机器指令 C)分时使用和独占使用计算机资源 D)动态和静态特征13.下列的进程状态变化中,( ) 变化是不可能发生的。

A)运行一就绪 B)运行一等待 C)等待一运行 D)等待一就绪14.一个运行的进程用完了分配给它的时间片后,它的状态变为A)就绪 B)等待 C)运行 D)完成15.在进程管理中,当时,进程从阻塞状态变为就绪状态。

操作系统第3章习题-答案

操作系统第3章习题-答案

第3章调度与死锁一、单项选择题1. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。

但是,不适当的______也可能产生死锁。

A. 进程优先权B. 资源的线性分配 =C. 进程推进顺序D. 分配队列优先权2. 采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。

A. 执行并行操作=B. 撤消进程C. 拒绝分配新资源D. 修改信号量3. 产生死锁的四个必要条件是:互斥、________、循环等待和不剥夺。

A. 请求与阻塞=B. 请求与保持C. 请求与释放D. 释放与阻塞4. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏________条件是不太实际的。

=A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待5. 在分时操作系统中,进程调度经常采用________算法。

A. 先来先服务B. 最高优先权 =C. 时间片轮转D. 随机6. 资源的按序分配策略可以破坏________条件。

A. 互斥使用资源B. 占有且等待资源C. 非抢夺资源=D. 环路等待资源7. 银行家算法是一种________算法。

A. 死锁解除=B. 死锁避免C. 死锁预防D. 死锁检测8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A. 先来先服务 =B. 静态C. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。

A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。

上述描述是________。

A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。

上述描述是________。

A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。

操作系统习题第三章

操作系统习题第三章

第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。

5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P占用处理机运行;进程P的时间片到;一段时间后,进程P再次占用处理机;有紧急进程Q进入,系统停止进程P的运行,将处理机分配进程Q;进程Q运行完,进程调度再次选中了进程P占用处理机运行;进程P运行完。

请分析进程P在其整个生命过程中的状态变化。

6、试比较进程与程序的异同。

7、引起创建进程的事件通常有哪些?简述进程的创建过程。

8、简述进程的阻塞过程。

911、简述操作系统的三级调度。

12、为什么要了解进程间的家族关系?13、什么是进程?。

14、试比较进程和线程的区别。

15、简述进程的基本状态,画出其状态转换图。

二、计算题1、若程序Pa,Pb和Pc单独执行时间分别Ta,Tb和Tc,Ta=1小时,Tb=1.5小时,Tc=2小时,其中处理机工作时间分别为Ta=10分钟,Tb=15分钟,Tc=35分钟。

如果采用多道程序设计的方法,让Pa,Pb和Pc并行工作,假定处理机利用率达到60%,另加20分钟系统开销,请问系统效率能提高百分之几?2、在单机系统中,系统中各个进程到达就绪队列的时刻、执行时间和优先级(越小者越高)如下表所示。

假设进程的调度时间忽略不计。

请分别给出采用剥夺式优先级调度算法时各个进程的调度次序,并计算平均周转时间:3、就绪队列中有4个进程P1,P2,P3,P4同时进入就绪队列,它们进入就绪队列10秒之后开始进程调度,它们需要的处理器时间如表所示。

忽略进行调度等所花费的时间,且进程执行过程中不会发生阻塞,请回答下列问题:分别写出采用时间片轮转调度算法(时间片为4秒)、响应比高者优先调度算法选中进程执行的次序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统习题讲解进程的同步与互斥(三)赵俊峰P 、V 题的一般分析过程1问题的分析确定有哪些进程y1.问题的分析,确定有哪些进程;2y2.确定各个进程之间的同步互斥关系;y3.信号量的设计(初值以及用来实现哪些进程间的同步互斥、是否需要一般变量的辅助)辅助);y4、实现(避免出现不公平现象比如饥饿、避免出现死锁如P 操作的次序问题)。

同学们的问题1有几个进程进程的划分?y:有几个进程,进程的划分?y 2:if 判断语句与P/V 之间的区别?多余的判断?y 3:每个进程的行为划分?对于行为的控制?该谁去控制?触发行为的条件及被触发的行为?y 5:触发行为的条件及被触发的行为?y 6:需要全面考虑题目要求需要全面考虑题目要求y 7:什么时候需要计数?共享变量需要互斥使用y 8:共享变量需要互斥使用进程同步与互斥习题(四)请用信号量解决以下问题y 把学生和监考老师都看作进程, 学生有N 人, 考场门口每次只能进出个人教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进. 当N 个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. 教师要等收上来全部卷子并封装卷子后才能离开考场.(1)(1)问共需设置几个进程?(2) 试用P 、V 操作解决上述问题中的同步和互斥关系.进程同步与互斥习题(四)共享资源:考场门口请用信号量解决以下问题y 把学生和监考老师都看作进程, 学生有N 人, 考场门口每次只能进出个人教师1人. 考场门口每次只能进出一个人, 进考场原则是先来先进.c 当N 个学生都进入考场后, 教师才能发卷子. 学生交卷后可以离开考场. d 教师要等收上来全部卷子并封离同步行为:c d 装卷子后才能离开考场.(1) ?()问共需设置几个进程(2) 试用P 、V 操作解决上述问题中的同步和互斥关系.信号量及其他变量的设置需设置以下的信号量S_Door = 1//能否进出门;S St d tR d 0学生是否到齐S_StudentReady = 0//学生是否到齐;S_Mutex1 = 1//互斥信号量;S M t 21互斥信号量S_Mutex2 = 1//互斥信号量;S_ExamBegin = 0//开始考试;S E O 0考试结束所有试卷S_ExamOver = 0//考试结束,所有试卷已交;int nStudentNum 0;int nStudentNum = 0;int nPaperNum = 0;student(){学生进程P(S_Door);进门;V(S Door);V(S_Door);P(S_Mutex1);// 增加学生的个数nStudentNum ++;if(nStudentNum N)V(S StudentReady);if(nStudentNum == N) V(S_StudentReady);V(S_Mutex1);P(S_ExamBegin);//等老师宣布考试开始考试;交卷;P(S Mutex2);P(S_Mutex2);//增加试卷的份数nPaperNum ++;if(nPaperNum == N) V(S_ExamOver);V(S Mutex2);V(S_Mutex2);P(S_Door);出门;V(S_Door);}Teacher()教师进程(){P(S_Door);进门进门;V(S_Door);P(S StudentReady);//P(S_StudentReady); 最后一个进来学生把老师唤醒;发卷子;for(i=1; i <= N; i++)(;;)V(S_ExamBegin);//开始考试;P(S_ExamOver);//等待考试结束;封装卷子P(S_Door);出门;V(S_Door);}进程同步与互斥习题(五)某商店有两种食品B A 和B, 最大数量各为m 个.该商店将A,B 两种食品搭配出售, 每次各取一个. 为避免食品变质, 遵循先到食品先出售的原则, 有两个食品公司分别不断地供应A,B 两)种食品(每次一个). 为保证正常销售, 当某种食品的数量比另一种的数量超过k(k<m)个时, 暂停对数量大的食品进货, 补充数量少的食品.◦(1)(1) 问共需设置几个进程?◦(2) 试用P ,V 操作解决上述问题中的同步和互斥关系.生产者-消费者中的消费者行为进程同步与互斥习题(五)某商店有两种食品B A 和B, 最大数量各为m 个. 该商店将A,B 两种食品搭配出售, 每次各取一个. 为避免食品变质, 遵循先到食品先出售的原则, 有两个食品公司分别不断地供应A,B 两)种食品(每次一个).为保证正常销售, 当某种食品的数量比另一种的数量超过k(k<m)个生产者-消费者中的生产者行为生产者之间时, 暂停对数量大的食品进货, 补充数量少的食品.的同步行为◦(1) 问共需设置几个进程?(2)PV ◦(2) 试用P ,V 操作解决上述问题中的同步和互斥关系.信号量及其他变量的设置设置以下的信号量 S_Mutex = 1 S Wait A = 0; S_Wait_A = 0; S_Num_A = 0; S BuffNum A = m; S_BuffNum_A = m; S_Wait_B = 0; S Num B 0; S_Num_B = 0 S_BuffNum_B = m; i t N int nNum_A = 0; A 0 int nNum_B = 0; //用于互斥访问的信号量 //A太多了,要等一等 太多了 要等一等B //食品A的空闲缓冲区个数; //B太多了,要等一等A //食品B的空闲缓冲区个数;Producer_A() A进程 { int b_TooMuch; while(1) { 生产产品; P(S_Mutex); if((nNum A nNum_B) == k) b_TooMuch = 1; if((nNum_A nNum B) == k) b TooMuch = 1; else b_TooMuch = 0; V(S_Mutex); if(b T M h) P(S W i A) //A太多了 if(b_TooMuch) P(S_Wait_A); 太多 P(S_BuffNum_A); 向商店提供一个 向商店提供 个A商品; V(S_Num_A); P(S_Mutex); nNum A ++; nNum_A ++; if(nNum_B - nNum_A == k-1)  V(S_Wait_B);  //可以进B了}}V(S Mutex); V(S_Mutex);Producer_B() B进程 { int b_TooMuch; while(1) { 生产产品; P(S_Mutex); if((nNum B nNum_A) == k) b_TooMuch = 1; if((nNum_B nNum A) == k) b TooMuch = 1; else b_TooMuch = 0; V(S_Mutex); if(b T M h) P(S W i B) //B太多了 if(b_TooMuch) P(S_Wait_B);  太多 P(S_BuffNum_B); 向商店提供一个 向商店提供 个B商品; V(S_Num_B); P(S_Mutex); nNum B ++; nNum_B ++; if(nNum_A - nNum_B == k-1)  V(S_Wait_A);  //可以进A了}}V(S Mutex); V(S_Mutex);Shop() Sh () { while(1) { P(S_Num_A); ( _Num_B); ); P(S 出售A、B食品各一个; V(S BuffNum A); V(S_BuffNum_A); V(S_BuffNum_B); } }Shop进程信号量和P、V原语的小结对信号量和P、V原语的使用可以归纳为三种情形:  第一,把信号量视为一个加锁标志位,其目的是为了 实现对某个唯一 实现对某个唯 唯一的共享数据 唯 的共享数据 共享数据的互斥访问 互斥访问,如数据库中 的某个记录,各个进程间的某个共享变量。

该共享数 据的取值与信号量本身的取值并没有什么直接的关系 ,信号量的作用仅仅是作为一个加锁标志位 加锁标志位。

其特征 是信号量的初始值为 信号量的初始值为1 1,然后在一个进程内部对它进 一个进程内部对它进 行 行配对的 行配对的P 对的P、V操作 操作。

P(mutex); ( ); // mutex的初始值为1 访问该共享数据; V(mutex); 非临界区信号量和P、V原语的小结 第二,把信号量视为是某种类型的共享资源的剩余个 第二 把信号量视为是某种类型的共享资源的剩余个 共享资源的剩余个 数,其目的是为了实现对这种类型的共享资源的访问 ,如各种 如各种I/O设备。

信号量的取值具有实际的意义, 设备。

信号量的取值具有实际的意义 就等于空闲资源的个数 等于空闲资源的个数。

多个进程可以同时使用这种 类型的资源,直到所有空闲资源均已用完。

其特征是 信号量的初始值为N(N 信号量的初始值为 N(N≥1) 1),然后在一个进程内部对它 一个进程内部对它 进行配对的P 进行配对的 P、V操作 操作。

P(resource); // resource的初始值为N 使用该资源; V(resource); 非临界区信号量和P、V原语的小结 第三,把信号量作为进程间同步 第三 把信号量作为进程间同步 进程间同步的工具 利用它来设定 进程间同步的工具,利用它来设定 两个进程在运行时的先后顺序。

比如说,它可以是某个 两个进程在运行时的先后顺序 共享资源的当前个数 但是由一个进程负责生成该资源 共享资源的当前个数,但是由 个进程负责生成该资源 ,而另一个进程负责消费该资源,由此引发了两个进程 之间的先后顺序。

其特征是信号量的初始值为 信号量的初始值为N N( N ≥ 0),然后在一个进程里面用对它使用 在一个进程里面用对它使用V V原语,增加资 源个数,而在另外一个进程里面对它使用P 源个数,而在另外一个进程里面对它使用 P原语,减 少资源个数,从而实现两个进程之间的同步关系。

相关文档
最新文档