计算机操作系统课后答案.docx
- 格式:docx
- 大小:82.64 KB
- 文档页数:21
第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
计算机操作系统第三版课后习题答案第一章1.设计现代os的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.os的促进作用可以整体表现在哪几个方面?答:(1)os作为用户与计算机硬件系统之间的接口(2)os做为计算机系统资源的管理者(3)os同时实现了对计算机资源的抽象化3.为什么说os实现了对计算机资源的抽象?请问:os首先在裸机上全面覆盖一层i/o设备管理软件,同时实现了对计算机硬件操作方式的第一层次抽象化;在第一层软件上再覆盖文件管理软件,同时实现了对硬件资源操作方式的第二层次抽象化。
os通过在计算机硬件上加装多层系统软件,进一步增强了系统功能,暗藏了对硬件操作方式的细节,由它们共同同时实现了对计算机资源的抽象化。
4.试说明推动多道批处理系统形成和д沟闹饕动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提升计算机资源的利用率;(2)便利用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机i/o和联机i/o?请问:脱机i/o就是指事先将装有用户程序和数据的纸带或卡片放入纸带输出机或卡片机,在外围机的掌控下,把纸带或卡片上的数据或程序输出至磁带上。
该方式下的输入输出由外围机掌控顺利完成,就是在瓦解主机的情况下展开的。
而联机i/o方式就是指程序和数据的输入输出都就是在主机的轻易掌控下展开的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:cpu的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.同时实现分时系统的关键问题就是什么?应当如何化解?请问:关键问题就是当用户在自己的终端上键入命令时,系统应当能够及时发送并及时处理该命令,在用户能够拒绝接受的时延内将结果回到给用户。
第一章1.设计现代 OS 的主要目标是什么?答:( 1)有效性( 2)方便性( 3)可扩充性( 4)开放性2. OS 的作用可表现在哪几个方面?答:( 1) OS 作为用户与计算机硬件系统之间的接口( 2 ) OS 作为计算机系统资源的管理者( 3 ) OS 实现了对计算机资源的抽象3.为什么说 OS 实现了对计算机资源的抽象?答: OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:( 1 )不断提高计算机资源的利用率;( 2 )方便用户;( 3 )器件的不断更新换代;( 4 )计算机体系结构的不断发展。
5.何谓脱机 I/O 和联机 I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和収展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
计算机操作系统(第四版)1-8章-课后答案(全)第四版计算机操作系统课后答案第一章1. 操作系统的定义操作系统是一种软件,它管理着计算机系统的硬件和软件资源,并为用户和应用程序提供接口,以方便他们的使用。
2. 操作系统的功能操作系统具有以下功能:- 进程管理:负责创建、执行和终止进程,并管理它们的资源分配。
- 存储管理:管理计算机系统的内存资源,包括内存分配、虚拟内存和页面置换等。
- 文件系统管理:管理计算机系统中的文件和文件夹,包括文件的存储、读写和保护等。
- 设备管理:负责管理计算机系统中的各种设备,如打印机、键盘和鼠标等。
- 用户接口:提供用户与计算机系统进行交互的接口,如命令行界面和图形用户界面。
3. 操作系统的类型操作系统可以分为以下类型:- 批处理操作系统:按照一系列预先定义的指令集来运行任务。
- 分时操作系统:多个用户可以同时使用计算机系统。
- 实时操作系统:对任务的响应时间要求非常高,用于控制系统和嵌入式系统。
- 网络操作系统:支持多台计算机之间的通信和资源共享。
- 分布式操作系统:在多台计算机上分布式地管理和调度任务。
第二章1. 进程与线程的区别进程是计算机系统中正在运行的程序实例,而线程是进程内的一个执行单元。
进程拥有独立的地址空间和资源,而线程共享进程的地址空间和资源。
多个线程可以在同一进程内并发执行,从而提高系统的效率和资源利用率。
2. 进程的状态转换进程可以处于以下状态:- 创建状态:进程正在被创建。
- 就绪状态:进程准备好执行,等待分配CPU资源。
- 运行状态:进程占用CPU资源执行。
- 阻塞状态:进程等待某种事件发生。
- 终止状态:进程完成执行或被终止。
3. 进程调度算法操作系统使用进程调度算法来决定哪个进程应该被执行。
常见的调度算法有:- 先来先服务(FCFS)调度算法:按照进程到达的顺序进行调度。
- 最短作业优先(SJF)调度算法:选择运行时间最短的进程进行调度。
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
计算机操作系统(第四版)课后习题答案(完整版)第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS⾸先在裸机上覆盖⼀层I/O设备管理软件,实现了对计算机硬件操作的第⼀层次抽象;在第⼀层软件上再覆盖⽂件管理软件,实现了对硬件资源操作的第⼆层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动⼒是什么?答:主要动⼒来源于四个⽅⾯的社会需求与技术发展:(1)不断提⾼计算机资源的利⽤率;(2)⽅便⽤户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有⽤户程序和数据的纸带或卡⽚装⼊纸带输⼊机或卡⽚机,在外围机的控制下,把纸带或卡⽚上的数据或程序输⼊到磁带上。
该⽅式下的输⼊输出由外围机控制完成,是在脱离主机的情况下进⾏的。
⽽联机I/O⽅式是指程序和数据的输⼊输出都是在主机的直接控制下进⾏的。
6.试说明推动分时系统形成和发展的主要动⼒是什么?答:推动分时系统形成和发展的主要动⼒是更好地满⾜⽤户的需要。
主要表现在:CPU 的分时使⽤缩短了作业的平均周转时间;⼈机交互能⼒使⽤户能直接控制⾃⼰的作业;主机的共享使多⽤户能同时使⽤同⼀台计算机,独⽴地处理⾃⼰的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当⽤户在⾃⼰的终端上键⼊命令时,系统应能及时接收并及时处理该命令,在⽤户能接受的时延内将结果返回给⽤户。
解决⽅法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收⽤户从各个终端上输⼊的数据;为每个终端配置缓冲区,暂存⽤户键⼊的命令或数据。
第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第一章操作系统引论思考与练习题1.什么是操作系统?它的主要功能是什么?2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3.批处理系统是怎样的一种操作系统?它的特点是什么?4.什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。
5.实时系统分为哪俩种类型?6.操作系统主要特征是什么?7.操作系统也用户的接口有几种?它们各自用在什么场合?8.“操作系统是控制硬件的软件”这一说法确切吗?为什么?9.设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”(1)试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
(2)试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
10.将下列左右两列词连接起来形成意义最恰当的5对。
DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计C语言11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。
答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。
2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。
1)多道,即计算机内存中同时放多道相互独立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。
3.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
平均周转时间长。
无交互能力。
4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。
实时系统:对外输入出信息,实时系统能够在规定的时间内处理完毕并作出反应。
1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。
2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。
3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受的等待时间来确定。
实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。
5.答:(1)实时控制系统(2)实时信息处理系统。
6.答:1)并发性2)共享性3)虚拟性4)不确定性。
7.答:两种,命令接口,程序接口。
命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。
方便用户直接控制自己的作业而提供的接口。
程序接口:又称系统调用,是为了用户在程序一级访问操作系统功能而设置的。
8.答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。
9.(1)20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms(2)20ms+30ms+10ms+40ms+20ms+10ms=130ms10.DOS网络操作系统OS/2自由软件UNIX多任务Linux单任务WindowsNT 为开发操作系统而设计的C语言第二章进程与线程思考与练习题1.操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。
3.现代操作系统一般都提供多任务的环境,是回答以下问题。
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?(2)为支持进程的状态变迁,系统至少应该供哪些进程控制原语?(3)当进程的状态变迁时,相应的数据结构发生变化吗?4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。
5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?6.试述线程的特点及其与进程之间的关系。
7.根据图2-18,回答以下问题。
(1)进程发生状态变迁1、3、4、6、7的原因。
(2)系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,这种变迁称为因果变迁。
下述变迁是否为因果变迁:3~2,4~5,7~2,3~6,是说明原因。
(3)根据此进程状态转换图,说明该系统CPU调度的策略和效果。
8.回答以下问题。
(1)若系统中没有运行进程,是否一定没有就绪进程?为什么?(2)若系统中既没有运行进程,也没有就绪进程,系统中是佛就没有阻塞进程?解释。
(3)如果系统采用优先级调度策略,运行的进程是否一定是系统中优先级最高的进程?为什么?9.假如有以下程序段,回答下面的问题。
S1: a=3-x;S2: b=2*a;S3: c=5+a;(1)并发程序执行的Bernstein 条件是什么?(2)是画图表示它们执行时的先后次序。
(3)利用Bernstein 条件证明,S1、S2和S3哪两个可以并发执行,哪两个不能。
答案1.答:①为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
②为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。
系统会调用进程调度程序重新选择一个进程投入运行。
(1)答:为支持多进程的并发执行,系统必须建立的数据结构式PCB,不同状态进程的PCB用链表组织起来,形成就绪队列、阻塞队列。
(2)答:阻塞原句、唤醒原句、挂起原句、激活原句(3)答:创建原句:建立进程的PCB,并将进程投入就绪队列。
撤销原句:删除进程的PCB,并将进程在其队列中摘除。
阻塞原句:将进程PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。
唤醒原句:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。
3.答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据结构,用于记录系统管理进程所需信息。
PCB是进程存在的唯一标识,操作系统通过PCB得知进程的寻在。
为了进程管理,进程控制块包括以下几方面。
(1)进程的描述信息,包括进程标识符、进程名等。
(2)进程的当前状况。
(3)当前队列链接指针。
(4)进程的家族关系。
为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。
为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。
为了设备管理,进程控制块的内容应该包括进程占有资源的情况。
4.答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.5.答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。
线程只拥有一点必不可少的资源(一组寄存器和栈),但可以和铜属于一个进程的其他线程共享进程拥有的资源。
线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。
(1)答:1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求I/O活等待某件事儿阻塞;4表示进程运行的时间片到;6表示进程I/O完成或等待的时间到达;7表示进程运行完成而退出。
(2)答:3→2是因果变迁,当一个进程从运行态变为阻塞态时,此时CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。
4→5是因果变迁,当一个进程运行完毕时,此时CPU空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。
7→2 是因果变迁,当一个进程运行完毕时,CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。
3→6不是因果变迁。
一个进程阻塞时由于自身的原因而发生的,和另一个进程等待的时间到达没有因果关系。
(3)答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它的时间片为100ms。
如果高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程的时间片为500ms。
这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了I/O量大的进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。
而对于计算量较大的进程,它的计算如果在100ms的时间内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选中的机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾时间片增大为500ms。
(1)答:是。
若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入运行。
只有在就绪队列为空时,CPU才会空闲。
(2)答:不一定。
当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞状态,此时系统中既没有运行进程,也没有就绪进程。
这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。
但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。
(3)答:不一定。
因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选一个进程投入运行。
被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。
(1)答: P1和P2并发执行的条件是,当且仅当R(P1)∩W(P2) ∪R(P2) ∩W(P1) ∪W(P1)∩W(P2)={}(2)答:R(S1)={x},W(S2)={a},R(S2)={a},W(S2)={b},R(S3)={a},W(S3)={c}所以W(S1)∩R(S2)={a}, 因此S1和S2不能并发执行。