操作系统第三章作业讲解.doc
- 格式:doc
- 大小:429.00 KB
- 文档页数:6
计算机操作系统慕课版第三章课后答案
1、高级调度与低级调度的主要任务是什么?为什么引入中级调度?
(1)、高级调度的主要任务是将外存的作业调入内存,又称作业调度。
低级调度的主要任务数为内存中处于就绪态的作业分配处理机。
(2)、为了提高内存的利用率与系统吞吐量。
ps:(中级调度是将作业调出掉回,高级调度是掉入,作业一次掉入,多次掉回,所以中级调度频次更高)
2、何谓作业和JCB?
作业是一组程序与数据和作业说明书,是高级调度的基本单位。
JCB是作业控制块,是作业存在的表示,包含管理,调度所需的全部信息。
ps:(对作业的控制是JCB和作业说明书一起的)
3、在什么情况下需要使用JCB?JCB通常包含了哪些内容?(1)作业进入系统。
(2)包含系统对作业调度,管理的全部信息。
4、在作业调度中应如何确定接纳多少作业和接纳哪些作业?
取决于多道程序度和调度算法。
5、试说明低级调度的主要功能?
从就绪队列中根据调度算法选择一个进程分配处理机。
6、简述引起进程调度的原因?
时间片完了、阻塞了、运行完了、被抢占了。
7、在抢占式调度算法中,应遵循的原则?
优先级、短进程优先、时间片原则。
8、在选择调度算法时应该遵循哪些规则?
公平性、资源利用率、平衡性、强制执行
9、何谓静态优先级?何谓动态优先级?确定优先级的依据是什么?
(1)、静态优先级创建进程时就确定,动态优先级随着时间与环境变化而改变。
(2)、用户要求,进程对cpu io等资源的要求,进程类型。
第三章一、问答题1、某系统采用响应比高者优先的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P在其存在过程中依次经历了:进程调度选中了进程P占用处理机运行(就绪—>运行),进程P运行中提出资源申请,要求增加主存使用量,没有得到(运行—>阻塞);进程等待一段时间后得到主存(阻塞—>就绪);进程调度再次选中了进程P占用处理机运行(就绪—>运行);有紧急进程Q进入,系统停止进程P的运行,将处理机分配进程Q(运行—>就绪);进程Q运行完,进程调度再次选中了进程P占用处理机运行(就绪—>运行);进程P运行完。
请分析进程P在其整个生命过程中的状态变化。
2、何谓进程,它与程序有哪些异同点?613、引起创建进程的事件通常有哪些?694、简述时间片轮转调度算的基本思想。
大多数时间片轮转调度算法使用一个固定大小的时间片,请给出选择小时间片的理由。
然后,再给出选择大时间片的理由。
755、进程有哪几种基本状态?试举出使进程状态发生变化的事件并描绘它的状态转换图。
636、进程创建、撤销、唤醒和阻塞原语的流程69、70、717、进程控制块的作用是什么?它主要包括哪几部分内容?658、用户级线程与内核级线程的区别是什么?819、PCB中包含哪些信息?进程状态属于哪类信息?6510、列举引起进程创建和撤销的事件69、7011、试比较进程和线程的区别。
8112、什么是操作系统的内核?6713、简述操作系统的三级调度(简述其各级调度的基本功能即可)。
72二、计算题1、就绪队列中有4个进程P1,P2,P3,P4同时进入就绪队列,它们进入就绪队列2秒之后开始进程调度,它们需要的处理器时间如表所示。
忽略进行调度等所花费的时间,且进程执行过程中不会发生阻塞,请回答下列问题:分别写出采用时间片轮转调度算法(时间片为4秒)、响应比高者优先调度算法选中进程执行的次序。
答:时间片轮转调度算法:P1,P2,P3,P4 ,P1,P2,P4,P1,P2,P2响应比高者优先调度算法:P3,P4,P1,P22、在某计算机系统中,时钟以固定的频率中断CPU,以增加日历计数或控制系统中的一些定时操作,时钟中断处理程序每次执行的时间为2ms(包括进程切换开销)。
第三章作业管理3. 1 学习指导操作系统为用户提供两个接口,一个是系统为用户提供的各种命令接口,用户利用这些操作命令来组织和控制作业的执行或管理计算机系统一个是程序接口,编程人员使用它们来请求操作系统服务。
按命令方式对作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,它由一组键盘操作命令组成。
用户通过控制台或终端键入操作命令,向系统提出各种服务要求。
在微机系统中,通常把键盘命令分为内部命令和外部命令两大类。
脱机命令接口也称批处理命令接口,它是一组作业控制命令(或称作业控制语言)组成。
脱机用户是指不能直接干预作业运行的用户,他们事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统,当系统调度到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。
程序接口由一组系统调用组成。
用户通过在程序中使用这些系统调用来请求操作系统提供的服务。
所谓系统调用就是用户在程序中调用操作系统所提供的一些子功能。
具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。
对操作系统而言,其所提供的系统调用命令条数、格式以及所执行的功能等都不尽相同。
系统调用命令是为了扩充机器指令、增强系统功能、方便用户使用而提供的。
因此,在一些计算机系统中,把系统调用命令称为广义指令。
广义指令与机器指令在性质上是不同的,机器指令是用硬件线路直接实现的,而广义指令则是由操作系统提供的一个或多个子程序模块实现的。
用户使用操作系统的主要目的是作业处理。
一个作业进入系统到运行结束,一般需经历收容、运行、完成三个阶段,与这三个阶段对应的作业处于后备、运行和完成三种状态。
作业调度的主要功能是按照某种原则从后备作业队列中选取作业进入主存,并为作业做好运行前的准备工作和作业完成后的善后处理工作。
常用的作业调度算法有:先来先服务、短作业优先、响应比高者优先、优先数优先等调度算法。
第一章绪论1.什么是操作系统的基本功能?答:操作系统的职能是管理和控制汁算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。
操作系统的基本功能包括:处理机管理、存储管理、设备管理、信息管理(文件系统管理)和用户接口等。
2.什么是批处理、分时和实时系统?各有什么特征?答:批处理系统(batchprocessingsystem):操作员把用户提交的作业分类,把一批作业编成一个作业执行序列,由专门编制的监督程序(monitor)自动依次处理。
其主要特征是:用户脱机使用计算机、成批处理、多道程序运行。
分时系统(timesharingoperationsystem):把处理机的运行时间分成很短的时间片,按时间片轮转的方式,把处理机分配给各进程使用。
其主要特征是:交互性、多用户同时性、独立性。
实时系统(realtimesystem):在被控对象允许时间范围内作出响应。
其主要特征是:对实时信息分析处理速度要比进入系统快、要求安全可靠、资源利用率低。
3.多道程序(multiprogramming)和多重处理(multiprocessing)有何区别?答;多道程序(multiprogramming)是作业之间自动调度执行、共享系统资源,并不是真正地同时值行多个作业;而多重处理(multiprocessing)系统配置多个CPU,能真正同时执行多道程序。
要有效使用多重处理,必须采用多道程序设计技术,而多道程序设计原则上不一定要求多重处理系统的支持。
6.设计计算机操作系统时与那些硬件器件有关运算器、控制器、存储器、输入设备、输出设备第二章作业管理和用户接口2.作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,作业说明书则体现用户的控制意图。
3.作业的输入方式有哪几种?各有何特点答:作业的输入方式有5种:联机输入方式、脱机输入方式、直接耦合方式、SPOOLING(Simultaneous Peripheral OperationsOnline)系统和网络输入方式,各有如下特点:(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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?答:作业调度每次接纳进⼊内存的作业数,取决于多道程序度。
应将哪些作业从外存调⼊内存,取决于采⽤的调度算法。
最简单的是先来服务调度算法,较常⽤的是短作业优先调度算法和基于作业优先级的调度算法。
第三章内存管理习题1.IBM360 有一个设计,为了对2KB 大小的块进行加锁,会对每个块分配一个4bit的密钥,这个密钥存在PSW (程序状态字)中,每次内存引用时,CPU都会进行密钥比较。
但该设计有诸多缺陷,除了描述中所言,请另外提出至少两条缺点。
A:密钥只有四位,故内存只能同时容纳最多十六个进程;需要用特殊硬件进行比较,同时保证操作迅速。
2. 在图3-3 中基址和界限寄存器含有相同的值16384 ,这是巧合,还是它们总是相等?如果这只是巧合,为什么在这个例子里它们是相等的?A :巧合。
基地址寄存器的值是进程在内存上加载的地址;界限寄存器指示存储区的长度。
3. 交换系统通过紧缩来消除空闲区。
假设有很多空闲区和数据段随机分布,并且读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简单起见,假设空闲区中含有字0,内存中最高地址处含有有效数据。
A: 32bit=4Byte===> 每字节10/4=2.5 ns 128MB=1282A20=2A27Byte 对每个字节既要读又要写,22.5*2A27=671ms4. 在一个交换系统中,按内存地址排列的空闲区大小是10MB,4MB,20MB,18MB,7MB,9MB,1 2 M B ,和1 5 M B 。
对于连续的段请求:(a) 12MB(b) 10MB(c) 9MB 使用首次适配算法,将找出哪个空闲区?使用最佳适配、最差适配、下次适配算法呢?A:首次适配算法:20MB ,10MB ,18MB ;最佳适配算法:12MB ,10MB ,9MB;最差适配算法:20MB ;18MB ;15MB ;下次适配算法:20MB ;18MB ;9MB;5. 物理地址和虚拟地址有什么区别?A :实际内存使用物理地址。
这些是存储器芯片在总线上反应的数字。
虚拟地址是指一个进程的地址空间的逻辑地址。
因此,具有32 位字的机器可以生成高达4GB 的虚拟地址,而不管机器的内存是否多于或少于4GB。
第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
02335 网络操作系统 (第三章网络操作系统的通信)02335 网络操作系统 (第三章网络操作系统的通信)3.1 网络操作系统的通信基础网络操作系统是一种管理和控制计算机网络的软件系统。
它通过提供各种通信功能,确保计算机网络中的数据能够在不同的计算机和设备之间进行传输和交换。
网络操作系统的通信基础主要包括以下几个方面:3.1.1 网络协议网络协议是计算机网络中实现通信所必需的规则和约定。
它定义了数据包的格式、传输方式、错误检测和纠错机制等。
常见的网络协议有TCP/IP协议、HTTP协议、FTP协议等。
3.1.2 网络拓扑网络拓扑指的是计算机网络中各个节点之间的连接关系。
常见的网络拓扑有星型拓扑、总线拓扑、环形拓扑等。
不同的网络拓扑对通信效率和可靠性有着不同的影响。
3.1.3 网络设备网络设备是实现网络通信的硬件设备,包括路由器、交换机、网卡等。
它们负责将数据包传输到目标节点,并提供数据传输的速度和质量保证。
3.1.4 网络安全网络安全是网络通信中必不可少的一个方面。
网络操作系统需要提供身份认证、数据加密等安全机制,以保护通信过程中的数据不被窃取和篡改。
3.2 网络操作系统的通信模块网络操作系统通信模块是网络操作系统中负责处理通信功能的部分。
它通常包括以下几个模块:3.2.1 数据传输模块数据传输模块负责处理数据包的传输和接收。
它通过网络设备将数据包从源节点传输到目标节点,并在目标节点上进行解析和处理。
3.2.2 路由模块路由模块负责确定数据包的传输路径。
它通过分析目标节点的地质和网络拓扑信息,选择最佳的路径来实现数据包的传输。
3.2.3 传输协议模块传输协议模块负责实现网络通信所使用的协议。
它根据网络协议的规定,对数据包进行封装和解析,并提供数据传输的可靠性和效率保证。
3.2.4 安全认证模块安全认证模块负责对通信过程进行身份认证和数据加密。
它通过用户身份验证和密钥管理等手段,确保通信过程的安全性和机密性。
第三章处理机调度与死锁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,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。
第三章处理机调度与死锁1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
10. 试比较FCFS和SPF两种进程调度算法相同点:两种调度算法都是既可用于作业调度,也可用于进程调度;不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
15. 按调度方式可将实时调度算法分为哪几种?按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
18. 何谓死锁?产生死锁的原因和必要条件是什么?a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
20. 请详细说明可通过哪些途径预防死锁?a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。
第三章一、填空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 页面淘汰算法有时会产生异常现象。
第三章 作业讲解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个资源,请问该系统是否会因为竞争该资源而死锁?答:该系统不会因为竞争该类资源而死锁。
因为,必有一个进程可获得2个资源故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。
5、不安全状态是否必然导致系统进入死锁状态?举例说明。
答:不安全状态不一定导致进入死锁状态。
因为,安全性检查中使用的向量Max 是进程执行前提供的,而在实际运行过程中,一进程需要的最大资源量可能小于Max ,如一进程对应的程序中有一段进行错误处理的代码,其中需要n 个A 种资源,若该进程在运行过程中没有碰到相应的错误,而不需要调用该段错误处理代码,则它实际上将完全不会请求这n 个A 种资源。
6、在银行家算法中,若出现下面的资源分配情况:Process Allocation Need Available P0 0 0 3 2 0 0 1 2 1 5 2 2P1 1 0 0 0 1 6 5 0 P2 1 3 5 4 2 3 5 6 P3 0 1 3 2 0 5 5 2 P40 0 1 40 6 5 8试问:1)该状态是否安全(要求列出安全性算法检查表)?2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它(要求根据分配算法列出检查过程)?3)如果系统立即满足P2的上述请求,请问,系统是否立即进入死锁状态,请说明原因?答:1)利用安全性算法对上面的状态进行分析,找到了一个安全序列{P0、P3、P1、P2、P4},故系统是安全的。
资源情况 进程Work A B C DNeed A B C DAllocation A B C DWork+Allocation A B C DFinish0 50 100 10 20 30 40 60 70 80 90 到达时间必须完成时间 松弛度 任务执行 A1 0 65 95 15 30 35 50 80 95 90 C1 D1 A2 A3 0 65 125 15 30 5035 80 90 110 A1=15 B1=45 C1=35 D1=90 B1=30 C1=20 D1=75 A2=15 B1=15 D1=60 B3=35 C3=25 D2=80 D1=10 B2=15 A3=10 B2=30 D1=25 A4=10 B2=45 C2=35 D1=40 A2=10 D1=50 A4=15 B2=5 A1 A2 A3 A4 B2,C2D1 B1,C1 A2 A3 A4 A5 B2,C2 B3,C3 D2 A1,B1 C1,D1 120 110 130 150 140 A5,B3 C3A6,B4C4 B1 B2 C2 C3A4 A5=10 B3=20D2=65 A5 140 125 110 140 B3=5D2=60 B3 145 155 145 D2=55 D2P0 P3 P1 P2 P41 52 21 5 5 41 6 8 62 6 8 63 9 13 100 0 1 20 5 5 21 6 5 02 3 5 60 6 5 80 0 3 20 1 3 21 0 0 01 3 5 40 0 1 41 5 5 41 6 8 62 6 8 63 9 13 103 9 14 14TrueTrueTrueTrueTrue2)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、进程资源的使用情况和可用情况如表所示,请画出资源分配图,并对资源图进行简化,这种情况下系统会发生死锁吗?进程当前分配数待分配的请求可用资源R1 R2 R3 R1 R2 R3 R1 R2 R3P1 P2 P3 P4 231131111110 0 0P1P2P3P4 R1R2R3P1P2P3P4R1R2R3P2只有分配边,没有请求边,所以首先可以将P2所有的边化简P1P2P3P4R1R2R3P2释放资源后,P1与P4都可以获得资源,运行结束。
所以选择P1化简P1P2P3P4R1R2R3P4可以获得资源,运行结束。
P1P2P3P4R1R2R3所有结点都成为孤立结点,所以图是可以完全化简的,不会发生死锁存在两种化简序列1)p2-p1-p4-p3;2)p2-p4-p1-p38、要使下表中描述的状态安全,可用资源的最小数目应为多少?(注意,问题问的是可用资源的数目,而不是存在的资源数)。
进程当前分配数最大分配数R1 R1P1 P2 1132P3 P4 3297答:如果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 3 2 0 0 1 2 1 6 2 2P1 1 0 0 0 1 6 5 0P2 1 3 5 4 2 3 5 6P3 0 0 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6试问:1)该状态是否安全?2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?3)如果系统立即满足P2的上述请求,请问,系统是否立即进入死锁状态?答:1)利用安全性算法对上面的状态进行分析,找到了一个安全序列{P0、P3、P4、P1、P2},故系统是安全的。