操作系统课后答案详解
计算机操作系统课后题答案(高等教育出版社)

练习题(一)Ⅰ问答题1. 操作系统的两个主要目标是什么?答:方便性与有效性。
2. 试说明操作系统与硬件、其它系统软件以及用户之间的关系?答:与硬件的关系:操作系统是位于硬件层上的第一层软件,它直接管理着计算机的硬件,合理组织计算机工作流程,并提高了硬件的利用率。
与其他系统软件的关系:操作系统是系统软件,但它不同于其它系统软件和应用软件,它为其它系统软件和应用软件提供接口。
应用软件要使用操作系统所提供的服务方可方便使用计算机。
与用户之间的关系:操作系统是为改善人机界面、提供各种服务,为用户使用计算机提供良好运行环境的一种系统软件。
3. 试论述操作系统是建立在计算机硬件平台上的虚拟计算机系统。
答:没有任何软件支持的计算机称为裸机,即使其硬件功能再强,也必定是难于使用的。
而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机。
裸机位于最里层,它的外面是操作系统,经过操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强、使用更方便的机器,通常把覆盖了软件的机器称为扩充机器,又称之为虚拟机(Virtual Machine ),这样的计算机系统是概念上和逻辑上的计算机,不是物理上的真实计算机。
4. 什么是操作系统?它有哪些基本功能与基本特征?答:操作系统是位于硬件层之上,所有其它软件层之下的一种系统软件,它控制和管理计算机系统资源、合理组织计算机工作流程、提供用户与计算机系统之间的接口。
操作系统的基本功能有:处理器管理、存储器管理、设备管理、文件管理和提供用户接口。
操作系统的基本特征有:并发性、共享性、虚拟性和不确定性。
5. 请叙述并发和并行两个概念的区别?答:并发性是指两个或多个程序在同一时间段内同时执行,是宏观上的同时。
而并行性是从硬件意义上考虑,是不同硬件部件(如CPU与I/O)在同一时刻的并行,即微观上,多个程序也是同时执行的。
6. 什么是多道程序设计? 在操作系统中使用这种技术有什么好处?答:多道程序设计是指在计算机内存中同时存放若干道已开始运行尚未结束的程序,它们交替运行,共享系统中的各种硬、软件资源,从而使处理机得到充分利用。
操作系统课后部分习题及答案

第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
计算机操作系统课后答案

计算机操作系统课后答案计算机操作系统课后答案第一章:操作系统概述1.1 操作系统的定义与作用操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源,为用户和应用程序提供统一的接口和服务。
1.2 操作系统的发展历程操作系统的发展经历了批处理系统、分时系统、实时系统和网络操作系统等阶段,逐步提高了计算机的效率和可靠性。
1.3 操作系统的功能和特点操作系统的功能包括进程管理、内存管理、文件管理和设备管理等。
其特点包括并发性、共享性、虚拟性和异步性等。
第二章:进程管理2.1 进程的概念和属性进程是程序在执行过程中的一个实例,具有独立的地址空间和执行状态。
2.2 进程的调度算法常见的进程调度算法有先来先服务调度、短作业优先调度、高响应比优先调度和时间片轮转调度等。
2.3 进程同步与通信进程同步是指协调多个进程之间的执行顺序,进程通信是指进程之间的数据交换和共享。
第三章:内存管理3.1 内存管理的基本概念内存管理包括内存的分配和回收,以及地址转换和内存保护等操作。
3.2 内存分配的算法常见的内存分配算法有首次适应、最佳适应和最坏适应等。
3.3 虚拟内存的实现原理虚拟内存通过将主存和辅存进行映射,将不常用的数据和程序置换到辅存中,以提高内存利用率。
第四章:文件管理4.1 文件的概念和组织方式文件是存储在存储介质上的数据集合,文件组织方式包括顺序文件、索引文件和哈希文件等。
4.2 文件共享与保护文件共享是指多个进程可以同时访问同一个文件,文件保护是指对文件进行权限和访问控制。
4.3 文件系统的实现原理文件系统通过文件目录和文件控制块来管理文件和目录的存储和访问。
第五章:设备管理5.1 设备管理的基本概念设备管理包括设备的分配和回收,以及设备的驱动程序和设备控制器等。
5.2 设备独立性和设备分配算法设备独立性是指操作系统对设备的不同类型进行统一管理,设备分配算法有等待队列调度和优先级调度等。
5.3 设备中断和错误处理设备中断是指设备发出的中断信号,操作系统需要及时响应并处理中断。
操作系统课后习题答案

1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。
A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
操作系统(1~8章的课后习题答案)

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。
b:分时系统的特点:(1):并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
操作系统课后答案详细讲解

操作系统课后答案详细讲解第一章操作系统引论思量与练习题1.什么是操作系统?它的主要功能是什么?2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3.批处理系统是怎样的一种操作系统?它的特点是什么?4.什么是分时系统?什么是实时系统?试从交互性,准时性,自立性,多路性,牢靠性等几个方面比较分时系统和实施系统。
5.实时系统分为哪俩种类型?6.操作系统主要特征是什么?7.操作系统也用户的接口有几种?它们各自用在什么场合?8.“操作系统是控制硬件的软件”这一说法确切吗?为什么?9.设存中有三道程序,A,B,C,它们按A~B~C的先后挨次执行,它们举行“计算”和“I/o操作”的时光如表1-2所示,假设三道程序使用相同的I/O设备。
(1)试画出单道运行时三道程序的时光关系图,并计算完成三道程序要花多少时光。
(2)试画出多道运行时三道程序的时光关系图,并计算完成三道程序要花多少时光。
10.将下列左右两列词衔接起来形成意义最恰当的5对。
DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计C语言11.挑选一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何举行存管理、存储管理、设备管理和文件管理的文章。
答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以便利用户使用的程序集合。
2.答:把多个自立的程序同时放入存,使她们分享系统中的资源。
1)多道,即计算机存中同时放多道互相自立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,存中的多道程序轮番地占有CPU,交替执行。
3.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
平均周转时光长。
计算机操作系统课后习题答案

计算机操作系统课后习题答案第一章os引论1. 设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2. OS的作用可表现为哪几个方面 a. OS作为用户与计算机硬件系统之间的接口;b. OS作为计算机系统资源的管理者;c. OS作为扩充机器.3. 试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;4. 何谓脱机I/O和联机I/O a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b. 若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.5. 试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.6. 试说明实时任务的类型和实时系统的类型.a. 实时任务的类型按任务执行时是否呈现周期性来划分,分为周期性实时任务和非周期性实时任务;---根据对截止时间的要求来划分,分为硬实时任务和软实时任务;b. 通常把要同达行实时控制的系统统称为实时控制系统,把要求对信息进行实时处理的系统成为实时信息处理系统. 7. 实现多道程序应解决哪些问题 a. 处理机管理问题;b. 内存管理问题;c. I/O设备管理问题;d. 文件管理问题;e. 作业管理问题.8. 试比较单道与多道批处理系统的特点及优缺点.a. 单道批处理系统是最早出现的一种OS,它具有自动性,顺序性和单道性的特点;---多道批处理系统则具有调度性,无序性和多道性的特点;b. 单道批处理系统是在解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾中形成的,旨在提高系统资源利用率和系统吞吐量,但是仍然不能很好的利用系统资源;---多道批处理系统是对单道批处理系统的改进,其主要优点是资源利用率高,系统吞吐量大;缺点是平均周转时间长,无交互能力. 9. 实现分时系统的关键问题是什么应如何解决 a. 关键问题:及时接收,及时处理;b. 对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.10 为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.11 OS具有哪几大特征它的最基本特征是什么 a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism).b. 其中最基本特征是并发和共享. 12 内存管理有哪些主要功能它们的主要任务是什么 a. 主要功能: 内存分配,内存保护,地址映射和内存扩充等.b. 内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.13 处理机管理具有哪些功能它们的主要任务是什么 a. 进程控制,进程同步,进程通信和调度.b. 进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.14 设备管理有哪些主要功能其主要任务是什么 a. 主要功能: 缓冲管理,设备分配和设备处理,以及虚拟设备等.b. 主要任务: 完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.15 文件管理有哪些主要功能其主要任务是什么 a. 主要功能: 对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b. 主要任务: 对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.时系 16 试在交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a. 分统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b. 实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c. 实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.17 是什么原因使操作系统具有异步性特征 a. 程序执行结果是不确定的,即程序是不可再现的.b. 每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.18 试说明在MS-DOS 3.X以前的版本中,其局限性表现在哪几个方面 a. 在寻址范围上,DOS只有1MB,远远不能满足用户需要.b. DOS试单用户单任务操作系统,不支持多任务并发执行,与实际应用相矛盾.19 MS-DOS由哪几部分组成每部分的主要功能是什么略.20 为什么Microsoft在开发OS/2时,选中了80286芯片设计OS/2的主要目标之一是既能充分发挥80286处理器的能力,又能运行在8086处理器环境下开发的程序.因为在80286内部提供了两种工作方式: 实方式和保护方式,使得Intel 80286处理器不仅提供了多任务并发执行的硬件支持,而且还能运行所有在8086下编写的程序。
操作系统(第二版)课后习题答案

故需要一次间接寻址,就可读出该数据
如果要求读入从文件首到263168Byte处的数据(包括这个数据),读岀过程:首先根据直接寻
址读出前10块;读出一次间接索引指示的索引块1块;将索引下标从0〜247对应的数据块全部 读入。即可。共读盘块数10+1+248=259块
3.某文件系统采用索引文件结构,设文件索引表的每个表目占用3Byte,存放盘块的块号,盘块 的大小为512Byte。此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大
(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+ |10-47|+|64-10|+|12-64|=728
8:00
10:00
120mi n
1
2
8:50
50min
10:00
10:50
120mi n
3
9:00
10mi n
10:50
11:00
120mi n
12
4
9:50
20mi n
11:00
11:20
90mi n
平均周转时间T=,平均带权周转时间W=
②SJF短作业优先法)
作业
到达时间
运行时间
开始时间
完成时间
周转时间
页面长度为4KB,虚地址空间共有土)个页面
3.某计算机系统提供24位虚存空间,主存空间为218Byte,采用请求分页虚拟存储管理,页面尺
寸为1KB。假定应用程序产生虚拟地址(八进制),而此页面分得的块号为100(八进制),说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章操作系统引论思考与练习题1.什么是操作系统?它的主要功能是什么?2.什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3.批处理系统是怎样的一种操作系统?它的特点是什么?4.什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。
5.实时系统分为哪俩种类型?6.操作系统主要特征是什么?7.操作系统也用户的接口有几种?它们各自用在什么场合?8.“操作系统是控制硬件的软件”这一说法确切吗?为什么?9.设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o操作”的时间如表1-2所示,假设三道程序使用相同的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/2UNIX多任务单任务LinuxWindowsNT 为开发操作系统而设计的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.答:①运行状态→就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
②运行状态→阻塞状态:一个进程从运行状态道阻塞状态后。
系统会调用进程调度程序重新选择一个进程投入运行。
3.(1)答:为支持多进程的并发执行,系统必须建立的数据结构式PCB,不同状态进程的PCB用链表组织起来,形成就绪队列、阻塞队列。
(2)答:阻塞原句、唤醒原句、挂起原句、激活原句(3)答:创建原句:建立进程的PCB,并将进程投入就绪队列。
撤销原句:删除进程的PCB,并将进程在其队列中摘除。
阻塞原句:将京城PCB中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。
唤醒原句:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。
4.答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据结构,用于记录系统管理进程所需信息。
PCB是进程存在的唯一标识,操作系统通过PCB 得知进程的寻在。
为了进程管理,进程控制块包括以下几方面。
(1)进程的描述信息,包括进程标识符、进程名等。
(2)进程的当前状况。
(3)当前队列链接指针。
(4)进程的家族关系。
为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。
为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。
为了设备管理,进程控制块的内容应该包括进程占有资源的情况。
5.答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程的运行时间是300ms,切换另一个进程所花费的总时间是10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10//(300+10)=3.2%.6.答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。
线程只拥有一点必不可少的资源(一组寄存器和栈),但可以和铜属于一个进程的其他线程共享进程拥有的资源。
线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。
7.(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。
8.(1)答:是。
若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入运行。
只有在就绪队列为空时,CPU才会空闲。
(2)答:不一定。
当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞状态,此时系统中既没有运行进程,也没有就绪进程。
这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。
但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。
(3)答:不一定。
因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选一个进程投入运行。
被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最发哦的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。
9.(1)答: P1和P2并发执行的条件是,当且仅当R(P1)∩W(P2) ∪R(P2) ∩W(P1) ∪W(P1)∩W(P2)={}(2)S2S1S3(3)答: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不能并发执行。