操作系统第三章作业讲解
- 格式:doc
- 大小:444.00 KB
- 文档页数:15
计算机操作系统慕课版第三章课后答案
1、高级调度与低级调度的主要任务是什么?为什么引入中级调度?
(1)、高级调度的主要任务是将外存的作业调入内存,又称作业调度。
低级调度的主要任务数为内存中处于就绪态的作业分配处理机。
(2)、为了提高内存的利用率与系统吞吐量。
ps:(中级调度是将作业调出掉回,高级调度是掉入,作业一次掉入,多次掉回,所以中级调度频次更高)
2、何谓作业和JCB?
作业是一组程序与数据和作业说明书,是高级调度的基本单位。
JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。
ps:(对作业的控制是JCB和作业说明书一起的)
3、在什么情况下需要使用JCB?JCB通常包含了哪些内容?(1)作业进入系统。
(2)包含系统对作业调度,管理的全部信息。
4、在作业调度中应如何确定接纳多少作业和接纳哪些作业?
取决于多道程序度和调度算法。
5、试说明低级调度的主要功能?
从就绪队列中根据调度算法选择一个进程分配处理机。
6、简述引起进程调度的原因?
时间片完了、阻塞了、运行完了、被抢占了。
7、在抢占式调度算法中,应遵循的原则?
优先级、短进程优先、时间片原则。
8、在选择调度算法时应该遵循哪些规则?
公平性、资源利用率、平衡性、强制执行
9、何谓静态优先级?何谓动态优先级?确定优先级的依据是什么?
(1)、静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。
(2)、用户要求,进程对cpu io等资源的要求,进程类型。
第三章作业管理3. 1 学习指导操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统一个是程序接口,编程人员使用它们来请求操作系统服务。
按命令方式对作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,它由一组键盘操作命令组成。
用户通过控制台或终端键入操作命令,向系统提出各种服务要求。
在微机系统中,通常把键盘命令分为内部命令和外部命令两大类。
脱机命令接口也称批处理命令接口,它是一组作业控制命令(或称作业控制语言)组成。
脱机用户是指不能直接干预作业运行的用户,他们事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统,当系统调度到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。
程序接口由一组系统调用组成。
用户通过在程序中使用这些系统调用来请求操作系统提供的服务。
所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。
具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。
对操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽相同。
系统调用命令是为了扩充机器指令、增强系统功能、方便用户使用而提供的。
因此,在一些计算机系统中,把系统调用命令称为广义指令。
广义指令与机器指令在性质上是不同的,机器指令是用硬件线路直接实现的,而广义指令则是由操作系统提供的一个或多个子程序模块实现的。
用户使用操作系统的主要目的是作业处理。
一个作业进入系统到运行结束,一般需经历收容、运行、完成三个阶段,与这三个阶段对应的作业处于后备、运行和完成三种状态。
作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入主存,并为作业做好运行前的准备工作和作业完成后的善后处理工作。
常用的作业调度算法有:先来先服务、短作业优先、响应比高者优先、优先数优先等调度算法。
操作系统-第3章习题解析第三章习题解析1.⾼级调度不低级调度的主要任务是什么?为什么要引⼊中级调度?答:⾼级调度的主要任务是根据某种算法,把外存上处于后备队列中的那些作业调⼊内存。
低级调度是保存处理机的现场信息,按某种算法先取进程,再把处理器分配给进程。
引⼊中级调度的主要⽬的是为了提⾼内存利⽤率和系统吞吐量。
使那些暂时不能运⾏的进程不再占⽤内存资源,将它们调⾄外存等待,把进程状态改为就绪驻外存状态或挂起状态。
2.处理机调度算法的共同⽬标是什么?批处理系统的调度⽬标⼜是什么?答:共同⽬标:资源利⽤率,公平性,平衡性,策略强制执⾏。
批处理系统的调度⽬标:平均周转时间短,系统吞吐量⾼,处理机利⽤率⾼。
3.何谓作业、作业步和作业流?答:作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运⾏进⾏控制。
批处理系统中是以作业为基本单位从外存调⼊内存。
作业步是指每个作业运⾏期间都必须经过若⼲个相对独⽴相互关联的顺序加⼯的步骤。
作业流是指若⼲个作业进⼊系统后依次存放在外存上形成的输⼊作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4.在什么情况下需要使⽤作业控制块JCB?其中包含了哪些内容?答:每当作业进⼊系统时,系统便为每个作业建⽴⼀个作业控制块JCB,根据作业类型将它插⼊到相应的后备队列中。
JCB包含的内容通常有:1)作业标识 2)⽤户名称 3)⽤户账户 4)作业类型(CPU繁忙型、I/0芳名型、批量型、终端型) 5)作业状态 6)调度信息(优先级、作业已运⾏) 7)资源要求 8)进⼊系统时间 9)、开始处理时间 10)作业完成时间 11)作业退出时间 12)资源使⽤情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?答:作业调度每次接纳进⼊内存的作业数,取决于多道程序度。
应将哪些作业从外存调⼊内存,取决于采⽤的调度算法。
最简单的是先来服务调度算法,较常⽤的是短作业优先调度算法和基于作业优先级的调度算法。
第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第三章作业管理3. 1 学习指导操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统一个是程序接口,编程人员使用它们来请求操作系统服务。
按命令方式对作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,它由一组键盘操作命令组成。
用户通过控制台或终端键入操作命令,向系统提出各种服务要求。
在微机系统中,通常把键盘命令分为内部命令和外部命令两大类。
脱机命令接口也称批处理命令接口,它是一组作业控制命令(或称作业控制语言)组成。
脱机用户是指不能直接干预作业运行的用户,他们事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统,当系统调度到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。
程序接口由一组系统调用组成。
用户通过在程序中使用这些系统调用来请求操作系统提供的服务。
所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。
具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。
对操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽相同。
系统调用命令是为了扩充机器指令、增强系统功能、方便用户使用而提供的。
因此,在一些计算机系统中,把系统调用命令称为广义指令。
广义指令与机器指令在性质上是不同的,机器指令是用硬件线路直接实现的,而广义指令则是由操作系统提供的一个或多个子程序模块实现的。
用户使用操作系统的主要目的是作业处理。
一个作业进入系统到运行结束,一般需经历收容、运行、完成三个阶段,与这三个阶段对应的作业处于后备、运行和完成三种状态。
作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入主存,并为作业做好运行前的准备工作和作业完成后的善后处理工作。
常用的作业调度算法有:先来先服务、短作业优先、响应比高者优先、优先数优先等调度算法。
第三部分作业管理一、选择题1、在操作系统中,JCB是指()。
A、作业控制块B、进程控制块C、文件控制块D、程序控制块2、处于后备状态的作业存放在()中。
A、外存B、内存C、A和BD、扩展内存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、在批处理系统中,周转时间是()。
A、作业运行时间B、作业等待时间和运行时间之和C、作业的相对等待时间D、作业被调度进入内存到运行完毕的时间10、作业调度算法提到的响应比是指()。
A、要求服务时间与响应时间之比B、响应时间与要求服务时间之比C、要求服务时间与作业等待时间之比D、作业等待时间与要求服务时间之比11、为了对紧急进程或重要进程进行调度,调度算法应采用()。
A、先来先服务法B、优先级法C、短作业优先法D、时间片轮转法12、时间片轮转调度算法是为了()。
A、多个终端都能得到系统的及时响应B、先来先服务C、优先级高的进程先使用CPUD、紧急事件优先使用CPU13、在操作系统中,作业处于()状态时,已处于进程的管理之下。
A、后备B、阻塞C、运行D、完成14、一个作业8:00提交系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。
第三章处理机调度与死锁1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
10. 试比较FCFS和SPF两种进程调度算法相同点:两种调度算法都是既可用于作业调度,也可用于进程调度;不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
15. 按调度方式可将实时调度算法分为哪几种?按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
18. 何谓死锁?产生死锁的原因和必要条件是什么?a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
20. 请详细说明可通过哪些途径预防死锁?a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。
第一章:操作系统引论1.什么是操作系统?可以从哪些角度阐述操作系统的作用?答:(1)操作系统是计算机系统中的一个系统软件,是能有效地组织和管理计算机系统中的硬件和软件资源、合理地组织计算机工作流程、控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用并使整个计算机系统能高效地运行的一组程序模块的集合。
(2)操作系统的作用在于控制管理计算机的全部硬软件资源,合理组织计算机内部各部件协调工作,为用户提供操作和编辑界面的程序集合。
2.简要叙述批处理操作系统、分时操作系统和实时操作系统的概念及特点。
答:采用批处理作业方式的操作系统叫批量操作系统;实时操作系统是指外界事件或数据产生时,能够接收并以足够快的速动予以处理,其处理的结果又能在规定的时间来控制生产过程或对处理系统做出快速响应。
并控制所有实时任务协调一致运行的操作系统;允许多个联机用户同时使用一台计算机系统进行计算的操作的系统统称为分时操作系统。
3.操作系统需要管理哪些资源?它的基本功能是什么?答:操作系统需要管理设备资源和信息资源两大类。
设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等;信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。
大体上可以叫软硬件资源,所以操作系统管理包括进程管理、处理器管理、内存管理、设备管理、文件管理4.操作系统对外提供了哪些接口?答:操作系统对外提供了命令接口、程序接口及交互界面。
第二章:进程管理1.PCB有什么作用?PCB中主要包括什么信息?为什么说PCB是进程存在的唯一标志?答:PCB用于描述进程的基本情况以及进程运行和变化的过程,它与进程一一对应。
当系统创建进程时,系统为进程分配一个PCB;在进程运行过程中,系统通过PCB对进程实施管理和控制;进程结束时,系统将收回PCB.PCB中的内容主要包括调度信息和现场信息两大部分。
第三章1.在分时操作系统中,进程调度经常采用__________算法。
A 先来先服务B 最高优先权C 时间片轮转D 随机2.____静态___优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A 先来先服务B 静态C 动态D 短作业3.在__先来先服务___调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
4.进程调度算法采用等时间片轮转法时,时间片过大,就会使轮转法转化为____先来先服务__调度算法。
5.进程调度是最基本的一种调度,在3种类型的OS中都必须配置这级调度.进程调度可采用下述两种方式_________A 联机方式和批处理方式B 索引方式和顺序方式C 程序方式和抢占方式D 抢占方式和非抢占方式6._________调度算法有利于CPU繁忙型的作业,而不利于I/0繁忙型的作业.A 时间片轮转B 先来先服务C 短作业进程优先D 优先权7.下面有关选择进程调度算法的准则中不正确的是_________A 尽快响应交互式用户的需求B 尽量提高处理机利用率C 尽可能提高系统吞吐量D 适当增长进程就绪队列中的等待时间8.在计算机系统中,只有一个处理器,则多个进程将争夺CPU资源,如何把CPU有效地分配给进程,这是__进程调度___要解决的问题.9.若进程P一旦被唤醒就能投入运行,系统可能为______A分时系统,进程P的优先级最高B抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C就绪队列为空队列,CPU中无运行进程D抢占调度方式,P的优先级高于当前运行的进程.10.下列进程调度算法中,____________可能会出现进程长期得不到调度的情况。
A 非抢占式静态优先权法B 抢占式调度中采用静态优先权法C 分时处理中的时间片轮转调度算法D 非抢占式调度中采用FIFO算法11.在抢占调度方式中,抢占的原则是_优先权原则__、_短作业优先原则__、_时间片原则___.12.产生死锁的必要条件是_互斥条件__、_请求和保持条件_、__不剥夺条件_、_环路等待条件__.13.银行家算法在解决死锁问题中是用于_______死锁的。
操作系统第三章作业讲解第三章作业讲解1、有5个作业进入就绪队列等待运行,预计它们的运行时间分别为9、6、3、5与X,它们以什么样的调度顺序运行时会取得最小的响应时间?(答案与X值有关)答:短作业优先调度算法是使响应时间最小的调度算法:0 < X ≤ 3时,调度顺序为: X、3、5、6、93 < X ≤ 5时,调度顺序为: 3、X、5、6、95 < X ≤ 6时,调度顺序为: 3、5、X、6、96 < X ≤ 9时,调度顺序为: 3、5、6、X、9X > 9时,调度顺序为:3、5、6、9、X2、假设一个系统中有4个进程,它们的到达时间和服务时间如表所示,忽略I/O以及其他开销时间,若分别按先来先服务(FCFS)、非抢占及抢占的短进程优先(SPF)、高响应比优先(HRRN)、时间片轮转(RR,时间片=1)、多级反馈队列调度算法(FB,第i级队列的时间片=2i-1)进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
进程到达时间服务时间A 0 5B 1 2C 3 9D 6 7算法时间进程平均时间A B C DFCFS 完成时间周转时间带权周转时间55176316131.4423172.4310.251.97SPF(非抢占)完成时间周转时间带权周转时间5517632322.221481.149.751.835SPF(抢占)完成时间周转时间带权周转时间771.43212322.221481.149.251.435HRRN 完成时间周转时间带权周转时间55176316131.4423172.4310.251.97RR(q=1)完成时间周转时间带权周转时间12122.4431.52322.2222162.2912.752.1FB(q=2i-1)完成时间周转时间带权周转时间13132.6652.52322.2221152.1413.252.3653、若有4个周期性任务,任务A 要求每30ms 执行一次,执行时间为15ms ;任务B 要求每50ms 执行一次,执行时间为5ms ;任务C 要求每50ms 执行一次,执行时间为15ms ;任务D 要求每100ms 执行一次,执行时间为10ms ,应如何按最低松弛度优先算法对它们进行CPU 调试? (要求画出0-150ms 时段的调度时序图,并列出每次切换时每个任务的松弛度)答:对于上面的4个周期性任务,利用最低松弛度优先算法进行调度的情况如图所示:到达必须完松弛95 0 65 125 15 30 50 35 80 90 110 A1=15 B1=45 C1=35 B1=30 C1=20 D1=A2=15 B1=15 D1=B3=35 C3=25 D2=D1=10 B2=15 A3=10 B2=30 D1=A4=10 B2=45 C2=35 D1=A2=10 D1=50 A4=15 B2=5 A 1 A 2 A 3 A 4 B2,C 2 D1 B1,C 1 A 2 A 3 A 4 A 5 B2,C2 B3,C 3 D2 A1,B 1 C1,D A5,B3 C3 A6,B4 C4 A5=10 B3=20D 2=6140 B3=5D2=60145 D2=554、3个进程共享4个同类型的资源,每个进程最大需要2个资源,请问该系统是否会因为竞争该资源而死锁? 答:该系统不会因为竞争该类资源而死锁。
因为,必有一个进程可获得2个资源故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。
5、不安全状态是否必然导致系统进入死锁状态?举例说明。
答:不安全状态不一定导致进入死锁状态。
因为,安全性检查中使用的向量Max 是进程执行前提供的,而在实际运行过程中,一进程需要的最大资源量可能小于Max ,如一进程对应的程序中有一段进行错误处理的代码,其中需要n 个A 种资源,若该进程在运行过程中没有碰到相应的错误,而不需要调用该段错误处理代码,则它实际上将完全不会请求这n 个A 种资源。
6、在银行家算法中,若出现下面的资源分配情况: Proce Allocatio Need Availab 任务A1 0 65 95 15 30 35 50 80 90 C1 D1 A2 A3 B1 B2 C2 C3 A4 A5 140 125 110 B3 145 155D2ss n leP0 0 0 32 0 0 121 5 22P1 1 0 00 1 6 5P2 1 3 54 2 3 56P3 0 1 32 0 5 52P4 0 0 14 0 6 58试问:1)该状态是否安全(要求列出安全性算法检查表)?2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它(要求根据分配算法列出检查过程)?3)如果系统立即满足P2的上述请求,请问,系统是否立即进入死锁状态,请说明原因?答:1)利用安全性算法对上面的状态进行分析,找到了一个安全序列{P0、P3、P1、P2、P4},故系统是安全的。
资源情况进程WorkA BC DNeedA BC DAllocationA BWork+AllocationA B CFinishC D DP0 P3 P1 P2 P4 1 5 221 5 541 6 862 6 863 913 100 0 120 5 521 6 52 3 560 6 580 0 320 1 321 0 01 3 540 0 141 5 541 6 862 6 863 9 13103 9 1414TrueTrueTrueTrueTrue2)P2发出请求向量Request(1,2,2,2)后,系统按银行家算法进行检查:①Request2(1,2,2,2)<=Need2(2,3,5,6)②Request2(1,2,2,2)<=Available(1,5,2,2)③系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量:Available=(0,3,0,0)Allocation2=(2,5,7,6)Need2=(1,1,3,4)④进行安全性检查:此时对所有的进程,条件Needi<=Available(0,3,0,0)都不成立,即Available不能满足任何进程的请求,故系统进入不安全状态。
此时当进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它。
3)系统立即满足进程P2的请求(1,2,2,2)后,并没有马上进入死锁状态。
因为,此时上述进程并没有申请新的资源,并因得不到资源而进入阻塞状态。
只有当上述进程提出新的请求,并导致所有没有执行完的多个进程因得不到资源而阻塞时,系统才进入死锁状态。
7、进程资源的使用情况和可用情况如表所示,请画出资源分配图,并对资源图进行简化,这种情况下系统会发生死锁吗?进程当前分配数待分配的请求可用资源R1R2R3R1R2R3R1R2R3P1 P2 P3 P4 231131111110 0 0P1P2P3P4R1R2R3 P1P2P3P4R1R2R3P2只有分配边,没有请求边,所以首先可以将P2所有的边化简P1P2P3P4R1R2R3P2释放资源后,P1与P4都可以获得资源,运行结束。
所以选择P1化简P1P2P3P4R1R2R3P4可以获得资源,运行结束。
P1P2P3P4R1R2R3所有结点都成为孤立结点,所以图是可以完全化简的,不会发生死锁存在两种化简序列1)p2-p1-p4-p3;2)p2-p4-p1-p38、要使下表中描述的状态安全,可用资源的最小数目应为多少?(注意,问题问的是可用资源的数目,而不是存在的资源数)。
进程当前分配数最大分配数R1 R1P1 P2 P3 P4 11323297答:如果R1有一个资源可用,能保证P2运行完。
然后P2释放它现在使用的资源,使得R1类型的资源2个可用,这将允许P1执行完。
P1释放它使用的资源后,R1类型的资源数增加为3个可用。
只有3个R1类型的资源,如果P3、P4请求分配最大数目的资源,P3与P4就仍然处于死锁状态。
如果一开始就有3个R1类型资源,而不是1个,P4就可以获得5个R1的可用资源并运行完。
再加上P4原来占用的2个R1资源,就可以让P3运行。
所以使该状态安全的所需可用资源的最小个数为3。
9、在时间片轮转法中,应如何确定时间片的大小?答:时间片长度可按如下方法确定:1)系统对相应时间的要求;2)就绪进程的数目:数目越多,时间片越小(当响应时间一定时);3)系统的处理能力:应当使用户输入通常在一个时间片内能处理完,否则使响应时间,平均周转时间和平均带权周转时间延长;10、在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法能使资源利用率最高?答:解决死锁问题可归纳为三种方法:预防死锁、避免死锁、检测死锁和解除死锁。
其中预防死锁最容易实现的;避免死锁使资源的利用率最高。
课本上习题8、在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?答:批处理系统可采用的进程调度算法有:高优先权优先调度算法、多级反馈队列调度算法、FCFS、SJF分时系统可采用的进程调度算法有:基于时间片的轮转算法、抢占式优先权调度算法、多级反馈队列调度算法实时系统可采用的进程调度算法有:非抢占式优先权调度算法、抢占式优先权调度算法、最早截止时间优先算法、最低松弛度优先算法(后两种都属于高优先权优先的实时调度算法)5、在银行家算法中,若出现下面的资源分配情况:Process Allocation Need AvailableP0 0 0 32 0 0 121 6 22P1 1 0 00 1 6 5P2 1 3 54 2 3 56P3 0 0 32 0 6 52P4 0 0 14 0 6 56试问:1)该状态是否安全?2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?3)如果系统立即满足P2的上述请求,请问,系统是否立即进入死锁状态?答:1)利用安全性算法对上面的状态进行分析,找到了一个安全序列{P0、P3、P4、P1、P2},故系统是安全的。
资源情况进程WorkA BCDNeedABCDAllocationA B CDWork+AllocationA B C DFinishP0 P3 P4 P1 P2 1 62 21 65 41 68 61 69102 69100 01 20 65 20 65 61 65 02 35 60 0 320 0 320 0 141 0 01 3 541 6 5 41 6 8 61 6 9 102 6 9 103 9 14 14TrueTrueTrueTrueTrue 2)P2发出请求向量Request(1,2,2,2)后,系统按银行家算法进行检查:①Request2(1,2,2,2)<=Need2(2,3,5,6)②Request2(1,2,2,2)<=Available(1,6,2,2)③系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量:Available=(0,4,0,0)Allocation2=(2,5,7,6)Need2=(1,1,3,4)④进行安全性检查:此时对所有的进程,条件Needi<=Available(0,4,0,0)都不成立,即Available不能满足任何进程的请求,故系统进入不安全状态。