文档库 最新最全的文档下载
当前位置:文档库 › 计算机操作系统(第四版)

计算机操作系统(第四版)

计算机操作系统(第四版)
计算机操作系统(第四版)

第三章处理机调度与死锁

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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?

【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入

内存,取决于采用的调度算法。最简单的是先来服务调度算法,较常用的是短作业优先调度算法和基于作业优先级的调度算法。

7.试说明低级调度的主要功能。

【解】(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。8、在抢占调度方式中,抢占的原则是什么?

【解】剥夺原则有:(1)时间片原则各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这种原则适用于分时系统、大多数实时系统,以及要求较高的批处理系统。(2)优先权原则通常是对一些重要的和紧急的作业赋予较高的优先权。当这种作业到达时,如果其优先权比正在执行进程的优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行。(3)短作业(进程)优先原则当新到达的作业(进程)比正在执行的作业(进程)明显地短时,将剥夺长作业(进程)的执行,将处理机分配给短作业(进程),使之优先执行。

9、选择调度方式和调度算法时,应遵循的准则是什么?

【解】应遵循的准则有(1)面向用户的准则:周转时间短,响应时间快,截止时间的保证,优先权准则。(2)面向系统的准则:系统吞吐量高,处理机利用率好,各类资源的平衡利用。

10、在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法?

【解】批处理系统:FCFS算法、最小优先数优先算法、抢占式最小优先数优先算法 2 分时系统:可剥夺调度、轮转调度实时系统:时间片轮转调度算法、非抢占优先权调度算法、基于时钟中断抢占的优先权调度算法、立即抢占的优先权调度。

11、何谓静态和动态优先权?确定静态优先权的依据是什么?

【解】静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。动态优先权是指,在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。确定静态优先权的依据是:(1)进程类型,通常系统进程的优

先权高于一般用户进程的优先权。(2)进程对资源的需要。(3)用户要求,用户进程的紧迫程度及用户所付费用的多少来确定优先权的。

12、试比较FCFS和SPF两种进程调度算法。

【解】FCFS算法按照作业提交或进程变为就绪状态的先后次序,分派CPU。当前作业或进程占有CPU,直到执行完或阻塞,才让出CPU。在作业或进程唤醒后,并不立即恢复执行,通常等到当前作业或进程让出CPU。FCFS比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。SPF有利于短进程调度,是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。比FCFS改善了平均周转时间和平均带权周转时间,缩短了作业的等待时间,提高了系统的吞吐量。但SPF有其不容忽视的缺点:该算法对长作业不利;完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理;用户可能会有意无意地干扰作业的运行时间,致使该算法不一定能真正做到短作业优先调度。

13、在时间片轮转法中,应如何确定时间片的大小?

【解】时间片应略大于一次典型的交互需要的时间。一般应考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。

14、通过一个例子来说明通常的优先级调度算法不能适用于实时系统?

【解】实时系统的调度算法很多,主要是基于任务的开始截止时间和任务紧急/松弛程度的任务优先级调度算法,通常的优先级调度算法不能满足实时系统的调度实时性要求而不适用。

15、为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?

【解】(1)对于终端型用户来说,他们提交的大多属于较小的交互型作业,系统只要能使这些作业(进程)在第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意。(2)对短批处理作业用户来说,在第一队列中执行一个时间片或至多只需在第二队列和第三队列中各执行一个时间片即可完成。(3)对长批处理作业用户来说,只要将作业依次在第1,2,……,n 个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。

16、

19、为什么在实时系统中,要求系统(尤其是CPU)具有较强的处理能力?

【解】在实时系统中都存在着若干个实时进程或任务,它们用来反应或控制某个(些)外部事件,往往带有某种程度的紧迫性,因而对实时系统中的调度提出了某些特殊要求。若处理机的处理能力不够强,则有可能因处理机忙不过来而使某些实时任务不能得到及时处理,从而导致发生难以预料的后果。

20、按调度方式可将实时调度算法分为哪几种?

【解】按调度方式可将实时调度算法分为两大类四小类:(1)非抢占式调度算法:①非抢占式轮转调度算法;②非抢占式优先调度算法;(2)抢占式调度算法:①基于时钟中断的抢占式优先权调度算法;②立即抢占的优先权调度算法。

21、什么是最早截止时间优先调度算法?举例说明之。

【解】在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的早晚排序,截止时间愈早的优先级愈高,在队列中排列愈靠前,调度程序在选择任务时,总是选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。例:四个非周期任务,它们先后到达。系统首先调度任务1执行,在任务1执行期间,任务2、3又先后到达。由于任务3的开始截止时间早于任务2,系统在任务1后将调度任务3执行。在此期间又到达作业4,其开始截止时间仍是早于任务2的,在任务3执行完后,系统又调度任务4的执行,最后才调度任务2执行。

22、什么是最低松弛度优先调度算法?举例说明之。

【解】该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。例如,一个任务在200 ms 时必须完成,而它本身所需的运行时间就有100 ms,因此,调度程序必须在100 ms 之前调度执行,该任务的紧急程度(松弛程度)为100 ms。又如,另一任务在400 ms 时必须完成,它本身需要运行150 ms,则其松弛程度为250 ms。

27、何谓死锁?产生死锁的原因和必要条件是什么?

【解】所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。产生死锁的原因:(1)竞争资源,当系统中供多个进程所共享的资源,不足以同时满足它们的需要时,引起它们对资源的竞争而产生死锁;(2)进程推进顺序非法,进程在运行过程中,请求和释放资源的顺序不当,导致进程死锁。产生死锁的必要条件:(1)互斥条件进程对所分配到的资源进行排他性使用。如果此时还有其他进程请求该资源,请求者只能阻塞,直到占有该资源的进程释放该资源。(2)请求和保持条件进程已经保持了至少一个资源,但又提出了新的资源要求,而该资源又已被其他进程占有,此时请求进程阻塞,但请求进程又对已经获得的其他资源保持不放。(3)不剥夺条件进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完后由自己释放。(4)环路等待条件在发生死锁时,必然存在一个进程——资源的环形链。

29、请详细说明可通过哪些途径预防死锁?

【解】可以通过:(1)摒弃“请求和保持”条件,系统要求所有进程要一次性地申请在整个运行过程所需的全部资源。如系统有足够的资源分配给进程,便一次性的把其所需要的所有资源分配给该进程。这样,该进程在整个运行期间,便不会再提出资源要求,从而摒弃了请求条件。但在分配时,只要有一种资源要求得不到满足,则即使是已有的其他资源,也全部不分配给该进程,而让该进程等待。这样,由于等待期间的进程未占有任何资源,因而也摒弃了保持条件,从而可以避免发生死锁。(2)摒弃“不剥夺”条件,进程是在需要资源时才提出请求,这样,一个已经保持了某些资源的进程,当它在提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这意味着进程已经占有的资源,在运行过程中可能会暂时释放,也可认为是被剥夺了,从而摒弃了“不剥夺条件”。(3)摒弃“环路等待”条件,系统将所有资源按类型进行线性排队,并赋予不同的序号。所有进程对资源的请求必须严格按资源序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,从而摒弃了“环路等待”条件。

30、在银行家算法的例子中,如果P0发出的请求向量由Request(0,2,0))改为Request(0,1,0),问

系统可否将资源分配给它?

【解】能。request0(0,1,0)≤need0(7,4,3);request0(0,1,0)≤available(2,3,0); 系统暂时先假定可为

P0分配资源,并修改有关数据,如下所示:

allocation need available

A B C A B C A B C

P0 0 2 0 7 3 3 2 2 0

P1 3 0 2 0 2 0

P2 3 0 2 6 0 0

P3 2 1 1 0 1 1

P4 0 0 2 4 3 1

存在一个安全序列{P1,P3,P0,P2,P4},故系统是安全的,可以分配资源。

31、在银行家算法中,若出现下述资源分配情况:

Process Allocation Need Available

P0 0 0 3 2 0 0 1 2 1 6 2 2

P1 1 0 0 0 1 7 5 0

P2 1 3 5 4 2 3 5 6

P3 0 3 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

试问:(1)该状态是否安全?(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?

【解】(1)利用安全性算法对上面的状态进行分析(见下表),找到了一个安全序列{P0,P3,P4,P1,P2},故系统是安全的。

Work Need Allocation Work+Allocation Finish

P0 1 6 2 2 0 0 1 2 0 0 3 2 1 6 5 4 true

P3 1 6 5 4 0 6 5 2 0 3 3 2 1 9 8 6 true

P4 1 9 8 6 0 6 5 6 0 0 1 4 1 9 9 10 true

P1 1 9 9 10 1 7 5 0 1 0 0 0 2 9 9 10 true

P2 2 9 9 10 2 3 5 6 1 3 5 4 3 12 14 14 true

(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 不能满足任何进程的请求,故系统进入不安全状态。

因此,当进程P2提出Request(1,2,2,2)后,系统不能将资源分配给它。

计算机操作系统(第四版)课后答案第一,二,三章

第一章 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.实现分时系统的关键问题是什么?应如何解决? 答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 8.为什么要引入实时OS? 答:实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。引入实时OS 是为了满足应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。 9.什么是硬实时任务和软实时任务?试举例说明。 答:硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结果。举例来说,运载火箭的控制等。软实时任务是指它的截止时间并不严格,偶尔错过了任务的截止时间,对系统产生的影响不大。举例:网页内计算机操作系统第三版答案 2 / 47 容的更新、火车售票系统。 10.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。14.是什么原因使操作系统具有异步性特征? 答:操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向前推进,二是程序的不可再现性,即程序执行的结果有时是不确定的,三是程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。15.处理机管理有哪些主要功能?它们的主要任务是什么? 答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行进行协调。通信:用来实现在相互合作的进程之间的信息交换。处理机调度:(1)作业调度。从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存)。(2)进程调度:从进程的就绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设臵运行现场,使进程投入执行。 16.内存管理有哪些主要功能?他们的主要任务是什么? 答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。内存分配:为每道程序分配内存。内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。计算机操作系统第三版答案 3 / 47 地址映射:将地址空间的逻辑地址

计算机操作系统(第四版)

第三章处理机调度与死锁 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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入

计算机操作系统内存分配实验报告记录

计算机操作系统内存分配实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

一、实验目的 熟悉主存的分配与回收。理解在不同的存储管理方式下,如何实现主存空间的分配与回收。掌握动态分区分配方式中的数据结构和分配算法及动态分区存储管理方式及其实现过程。 二、实验内容和要求 主存的分配和回收的实现是与主存储器的管理方式有关的。所谓分配,就是解决多道作业或多进程如何共享主存空间的问题。所谓回收,就是当作业运行完成时将作业或进程所占的主存空间归还给系统。 可变分区管理是指在处理作业过程中建立分区,使分区大小正好适合作业的需求,并且分区个数是可以调整的。当要装入一个作业时,根据作业需要的主存量查看是否有足够的空闲空间,若有,则按需要量分割一个分区分配给该作业;若无,则作业不能装入,作业等待。随着作业的装入、完成,主存空间被分成许多大大小小的分区,有的分区被作业占用,而有的分区是空闲的。 实验要求使用可变分区存储管理方式,分区分配中所用的数据结构采用空闲分区表和空闲分区链来进行,分区分配中所用的算法采用首次适应算法、最佳适应算法、最差适应算法三种算法来实现主存的分配与回收。同时,要求设计一个实用友好的用户界面,并显示分配与回收的过程。同时要求设计一个实用友好的用户界面,并显示分配与回收的过程。 三、实验主要仪器设备和材料 实验环境 硬件环境:PC或兼容机 软件环境:VC++ 6.0 四、实验原理及设计分析 某系统采用可变分区存储管理,在系统运行当然开始,假设初始状态下,可用的内存空间为640KB,存储器区被分为操作系统分区(40KB)和可给用户的空间区(600KB)。 (作业1 申请130KB、作业2 申请60KB、作业3 申请100KB 、作业2 释放 60KB 、作业4 申请 200KB、作业3释放100KB、作业1 释放130KB 、作业5申请140KB 、作业6申请60KB 、作业7申请50KB) 当作业1进入内存后,分给作业1(130KB),随着作业1、2、3的进入,分别分配60KB、100KB,经过一段时间的运行后,作业2运行完毕,释放所占内存。此时,作业4进入系统,要求分配200KB内存。作业3、1运行完毕,释放所占内存。此时又有作业5申请140KB,作业6申请60KB,作业7申请50KB。为它们进行主存分配和回收。 1、采用可变分区存储管理,使用空闲分区链实现主存分配和回收。 空闲分区链:使用链指针把所有的空闲分区链成一条链,为了实现对空闲分区的分配和链接,在每个分区的起始部分设置状态位、分区的大小和链接各个分区的前向指针,由状态位指示该分区是否分配出去了;同时,在分区尾部还设置有一后向指针,用来链接后面的分区;分区中间部分是用来存放作业的空闲内存空间,当该分区分配出去后,状态位就由“0”置为“1”。 设置一个内存空闲分区链,内存空间分区通过空闲分区链来管理,在进行内存分配时,系统优先使用空闲低端的空间。 设计一个空闲分区说明链,设计一个某时刻主存空间占用情况表,作为主存当前使用基础。初始化空间区和已分配区说明链的值,设计作业申请队列以及作业完成后释放顺序,实现主存的分配和回收。要求每次分配和回收后显示出空闲内存分区链的情况。把空闲区说明

计算机操作系统第四章

计算机操作系统 主讲教师:王晓晔 E-mail:wangxye@https://www.wendangku.net/doc/0e16191452.html, 第四章存储器管理 4.1 存储器的层次结构 4.2 程序的装入和连接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 虚拟存储器的基本概念 4.7 请求分页存储管理方式 4.8 页面置换算法 4.9 请求分段存储管理方式 4.1 存储器的层次结构 4.1.1 多级存储器结构 4.1.2 主存储器与寄存器 ?主存储器 ?寄存器 4.1.3 高速缓存和磁盘缓存 ?高速缓存 ?磁盘缓存 4.2 程序的装入和链接 4.2.1 程序的装入 1. 绝对装入方式(Absolute Loading Mode) 程序中所使用的绝对地址,既可在编译或汇编时给出,也可由程序员直接赋予。但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。 3. 动态运行时装入方式(Denamle Run-time Loading) 动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对

地址。 3. 运行时动态链接(Run-time Dynamic Linking) 近几年流行起来的运行时动态链接方式,是对上述在装入时链接方式的一种改进。这种链接方式是将对某些模块的链接推迟到执行时才执行,亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。 4.3 连续分配方式 4.3.1 单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用。 4.3.2 固定分区分配 1. 划分分区的方法 (1) 分区大小相等,即使所有的内存分区大小相等。 (2) 分区大小不等。 (1) 首次适应算法FF。 (2) 循环首次适应算法,该算法是由首次适应算法演变而成的。 (3) 最佳适应算法。 (4) 最坏适应算法 (5) 快速适应算法

计算机操作系统实验四

实验三进程与线程 问题: 进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位,具有动态性、并发性、独立性、异步性和交互性。然而程序是静态的,并且进程与程序的组成不同,进程=程序+数据+PCB,进程的存在是暂时的,程序的存在是永久的;一个程序可以对应多个进程,一个进程可以包含多个程序。当操作系统引入线程的概念后,进程是操作系统独立分配资源的单位,线程成为系统调度的单位,与同一个进程中的其他线程共享程序空间。 本次实验主要的目的是: (1)理解进程的独立空间; (2)加深对进程概念的理解,明确进程和程序的区别; (3)进一步认识并发执行的实质; (4)了解红帽子(Linux)系统中进程通信的基本原理。 (5)理解线程的相关概念。 要求: 1、请查阅资料,掌握进程的概念,同时掌握进程创建和构造的相关知识和线程创建和 构造的相关知识,了解C语言程序编写的相关知识; (1)进程: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。程序是指令、数据及其组织形式的描述,进程是程序的实体。进程的概念主要有两点:第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(text region)、数据区域(data region)和堆栈(stack region)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内

存;堆栈区域存储着活动过程调用的指令和本地变量。第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。 (2)进程的创建和构造: 进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。但是进程是一个动态的实体,它是程序的一次执行过程。进程和程序的区别在于:进程是动态的,程序是静态的,进程是运行中的程序,而程序是一些保存在硬盘上的可执行代码。新的进程通过克隆旧的程序(当前进程)而建立。fork() 和clone()(对于线程)系统调用可用来建立新的进程。 (3)线程的创建和构造: 线程也称做轻量级进程。就像进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。但是,与独立的进程相比,进程中的线程之间的独立程度要小。它们共享内存、文件句柄和其他每个进程应有的状态。 线程的出现也并不是为了取代进程,而是对进程的功能作了扩展。进程可以支持多个线程,它们看似同时执行,但相互之间并不同步。一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。尽管这让线程之间共享信息变得更容易,但你必须小心,确保它们不会妨碍同一进程里的其他线程。 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制,但与进程不同的是,同类的多个线程是共享同一块内存空间和一组系统资源的,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小得多,正因如此,线程也被称为轻型进程(light-weight process)。一个进程中可以包含多个线程。 2、理解进程的独立空间的实验内容及步骤

计算机操作系统第四章作业及答案

2、可以采用哪几种方式将程序装入内存?它们分别适用于何种场合? (1) 绝对装入方式,适用于单道程序系统。 (2) 可重定位装入方式,适用于分区式存储管理系统。 (3) 动态运行时装入方式,适用于分页、分段式存储管理系统。 8、什么是基于顺序搜索的动态分区分配算法?它分为哪几种? 为了实现动态分区式分配,将系统中的空闲分区组织成空闲分区表或空闲分区链。所谓顺序搜索,是指按表或链的组织顺序,检索表或链上记录的空闲分区,去寻找一个最符合算法的、大小能满足要求的分区。 分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 13、为什么要引入对换?对换可分为哪几种类型? 在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。为了解决这一问题,在操作系统中引入了对换(也称交换)技术。可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。前者主要用于缓解目前系统中内存的不足,后者主要用于支持虚拟存储。 19、什么是页表?页表的作用是什么? 页表是分页式存储管理使用的数据结构。 一个进程分为多少页,它的页表就有多少行。每一行记录进程的一页和它存放的物理块的页号、块号对应关系。 页表用于进行地址变换。 23、较详细的说明引入分段存储管理方式是为了满足用户哪几个方面的需求。方便编程、信息共享、信息保护、动态增长、动态链接。 详细讨论,请参考教材P145-146。

计算机操作系统(第三版)-复习题答案

操作系统第一章复习题 一、选择题 1、下列选项中,( D )不是操作系统关心的主要问题。 A 管理计算机裸机 B 设计、提供用户程序与计算机硬件系统的界面。 C 管理计算机系统资源 D 高级程序设计语言的编译器 2、多道批处理系统的主要缺点是( C )。 A CPU利用率低 B 不能并发执行 C 缺少交互性 D 以上都不是。 3、在操作系统中,( D )部分属于微内核。 A 输入/输出井的管理程序,及作业调度软件。 B 用户命令解释程序 C 磁盘文件目录管理软件 D 进程通信服务例程 4、通常在分时系统中运行的作业称为( C )。 A 前台作业 B 后台作业 C 终端型作业 D 批量型作业 5、在下面的选项中,( A )不属于操作系统提供给用户的可用资源。 A 中断机制 B 处理机 C 存储器 D I/O 设备 6、操作系统在计算机系统中处于( B )的位置。 A 计算机硬件和软件之间 B 计算机硬件和用户之间 C 处理机和用户程序之间 D 外部设备和处理机之间 7、操作系统是对( C )进行管理的软件。 A 软件 B硬件 C计算机资源 D 应用程序 8、操作系统中采用多道程序设计技术提高了CPU和外部设备的( A )。 A 利用率 B 可靠性 C 稳定性 D 兼容性 9、操作系统提供给程序员的接口是( B )。 A 进程 B 系统调用 C 库函数 D B和C 10、所谓( B )是指将一个以上的作业放入内存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。 A 多重处理 B 多道程序设计 C 实时处理 D 共行执行 11、实时系统必须在( C )内处理完来自外部的事件。 A 响应时间 B 周转时间 C 规定时间 D 调度时间 12、在操作系统中,并发性是指若干事件( C )发生。 A 在同一时刻 B 一定在不同时刻 C 在某一时间间隔 D 依次在不同时间间隔内 13、订购机票系统处理各个终端的服务请求,处理后通过终端回答用户,所以它是一个( D )。 A 分时系统 B 多道批处理系统 C 计算机网络 D实时信息处理系统 二、填空题 1、操作系统两个最基本的特征是(并发)和(共享),两者之间互为存在条件。 2、实时系统应具有的两个基本特征,它们是(及时性)和(高可靠性)。 3、允许多个用户以交互方式使用计算机的操作系统称为(分时操作系统);允许多个用户 将多个作业提交给计算机集中处理的操作系统称为(批处理操作系统);计算机系统能

计算机操作系统(第四版)1-8章 课后答案(全)

第一章操作系统引论 1.设计现代OS的主要目标是什么?答:方便性,开放性,有效性,可扩充性 2.OS的作用可表现在哪几个方面?答:OS作为用户与计算机硬件系统之间的接口;OS作为计算机系统资的管理者;OS实现了对计算机资源的抽象。 3.为什么说操作系统实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层1/0设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。0s通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。 4·说明推动分时系统形成和发展的主要动力是什么?答:主要动力是提高资源利用率和系统吞吐里,为了满足用户对人一机交互的需求和共享主机。 5.何谓脱机I/O和联机I/O?答:脱机1/0是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或一片上的数据或程序输入到殖带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而耽机1/0方式是指程序和数据的輸入输出都是在主机的直接控制下进行的。 6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。主要表现在:CPU的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。 7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及寸接收并及时处理该命令,在用户能接受的时采内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设路多路卡,健主机能同时接收用户从各个终端上轮入的数据;为每个终端配路缓冲区,暂存用户捷入的命令或教据。针对反时处理问题,应便所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。 8.为什么要引入实时OS?答:实时操作系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。引入实时OS是为了满足应用的需求,熏好地满足实时控制领域和实时信息处涯领域的需要。 9.什么是硬实时任务和款实时任务?试举例说明。答:硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的结是。举例来说,运载火箭的控制等。软实时任务是指它的截止时间并不严格,偶尔错过了任务的截止时间,对系统产生的影响不大。举例:网页内容的更新、火车售票系统。 10.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带未巨大的经济损失,甚至是灾难性后,,所以在实时系统中,往往都采取了

计算机操作系统(第三版-汤小丹等)课后习题答案(全)整理后

第一章操作系统引论 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.实现分时系统的关键问题是什么应如何解决 答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。

操作系统原理实验四

实验4 进程控制 1、实验目的 (1)通过对WindowsXP进行编程,来熟悉和了解系统。 (2)通过分析程序,来了解进程的创建、终止。 2、实验工具 (1)一台WindowsXP操作系统的计算机。 (2)计算机装有Microsoft Visual Studio C++6.0专业版或企业版。 3、预备知识 (3)·CreateProcess()调用:创建一个进程。 (4)·ExitProcess()调用:终止一个进程。 4、实验编程 (1)编程一利用CreateProcess()函数创建一个子进程并且装入画图程序(mspaint.exe)。阅读该程序,完成实验任务。源程序如下: # include < stdio.h > # include < windows.h > int main(VOID) ﹛STARTUPINFO si; PROCESS INFORMA TION pi; ZeroMemory(&si,sizeof(si)); Si.cb=sizeof(si); ZeroMemory(&pi,sizeof(pi)); if(!CreateProcess(NULL, “c: \ WINDOWS\system32\ mspaint.exe”, NULL, NULL, FALSE, 0, NULL, NULL, &si,&pi)) ﹛fprintf(stderr,”Creat Process Failed”); return—1; ﹜ WaitForSingleObject(pi.hProcess,INFINITE); Printf(“child Complete”); CloseHandle(pi.hProcess); CloseHandle(pi hThread); ﹜

计算机操作系统第四版试题及答案

操作系统期末考试(一) 一、单项选择题(在每小题的四个备选答案中,只有一个是正确的,将其号码写在题干的括号中。每小题2分,共20分) 1、文件系统的主要组成部分是() A、文件控制块及文件 B、I/O文件及块设备文件 C、系统文件及用户文件 D、文件及管理文件的软件 2、实现进程互斥可采用的方法() A、中断 B、查询 C、开锁和关锁 D、按键处理 3、某页式管理系统中,地址寄存器的低9位表示页内地址,则页面大小为() A、1024字节 B、512字节 C、1024K D、512K 4、串联文件适合于()存取 … A、直接 B、顺序 C、索引 D、随机 5、进程的同步与互斥是由于程序的()引起的 A、顺序执行 B、长短不同 C、信号量 D、并发执行 6、信号量的值() A、总是为正 B、总是为负 C、总是为0 D、可以为负整数 7、多道程序的实质是() A、程序的顺序执行 B、程序的并发执行 C、多个处理机同时执行 D、用户程序和系统程序交叉执行 8、虚拟存储器最基本的特征是() A、从逻辑上扩充内存容量 B、提高内存利用率 C、驻留性 D、固定性 ; 9、飞机定票系统是一个() A、实时系统 B、批处理系统 C、通用系统 D、分时系统 10、操作系统中,被调度和分派资源的基本单位,并可独立执行的实体是() A、线程 B、程序 C、进程 D、指令 二、名词解释(每小题3分,共15分) 1.死锁: 2.原子操作: 3.临界区: 4.虚拟存储器: 5.文件系统: ' 三、判断改错题(判断正误,并改正错误,每小题2分,共20分) 1、通道是通过通道程序来对I/O设备进行控制的。 () 2、请求页式管理系统中,既可以减少外零头,又可以减少内零头。 () 3、操作系统中系统调用越多,系统功能就越强,用户使用越复杂。 () 4、一个进程可以挂起自已,也可以激活自已。 () 5、虚拟存储器的最大容量是由磁盘空间决定的。 () 6、单级文件目录可以解决文件的重名问题。 () 7、进程调度只有一种方式:剥夺方式。 ()

计算机操作系统第三版复习资料

1,OS:操作系统,是配置在计算机硬件上的第一层软件,是对硬件的首次扩展。 2:OS的作用可表现在哪几方面? (1):OS作为用户与计算机硬件系统之间的接口 (2):OS作为计算机系统资源的管理者 (3):OS实现了对计算机资源的抽象(扩展机) 3:OS有几大特征?其最基本的特征是? 四大特征:并发,共享,虚拟,异步最基本为并发性,是其他的基础。 临界资源:在同一时刻,只能有一个进程对其访问的资源。 临界区:在每个进程中,访问临界资源的一段代码。 进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。 线程:减少程序在并发执行时所付出的时间和空间开销。 PCB :记录用于描述进程情况及控制进程运行的全部信息。 4.PCB的主要内容,PCB是如何组织的? 内容:(1):进程描述信息(2):处理机状态信息(3):进程调度信息(4):进程控制信息 链表:同一状态的进程其PCB成一链表,多个状态对应多个不同的链表。 索引:同一状态的进程归入一个index表(由index指向PCB),多个状态对应多个不同的index表 5.进程与程序的区别 1) 进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的执行。 2) 进程是暂时的,程序是永久的:进程是一个状态变化的过程,程序可长久保存。 3) 进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。 4) 进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。6。进程与线程的区别 (1) 地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程 不可见 (2) 通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手 段的辅助,以保证数据的一致性 (3) 调度和切换:线程上下文切换比进程上下文切换要快得多。 7.为什么引入进程概念? 在多道程序环境下,程序的执行属于并发性,此时他们将失去封闭性,并具有间断性和不可再现性的特性。这决定了通常的程序是不能并发执行的,则程序结果不可再现。为使程序能并发执行,且为了对其进行控制,则引入了进程。8:试说明进程在三个基本状态之间转换的典型原因? (1)处于就绪态的进程,在调度程序位置分配处理机后。其即从就绪态转为执行态。 (2)对执行的进程,如果系统分配给它的时间片用完,而被暂停执行时,其由执行态转为就绪态。 (3)如果因发生某事件而使进程的执行受阻,使其无法继续执行,该进程有执行太转变为阻塞态 典型原因有:I/O请求、申请缓冲空间 9:同步机构应遵循哪些基本准则?为什么? (1)空闲让进;当无进程处于临界区时,表明临界资源处于空闲阶段,应允许一个请求进入临界区。 (2)忙则等待;当已经有进程进入临界区时表明临界资源正在被访问,则应该让其他的请求等待。 (3)有限等待;对要求访问临界区的进程,应保证其在有限时间内进入临界区,以免死等。 (4)让权等待;当进程不能进入自己的临界区时,应释放处理机,以免忙等。 10:为什么要在OS中引入线程? 引入线程是为了减少程序在并发执行时所付出的时间和空间开销,使OS有更好的并发性。 高级调度:又称作业调度、宏观调度,从用户工作流程的角度,一次提交的若干个流程,其中每个程序按照进程调度。时间上通常是分钟、小时或天。 低级调度:进程换线程,微观调度,从CPU资源的角度,执行的单位。时间上通常是毫秒。因为执行频繁,要求在实现时达到高效率。 中级调度:内外存交换,从存储器资源的角度,将进程的部分或全部换出到外存上,将当前所需部分换入到内存。 为什么引入中级调度? 为了提高内存利用率和系统吞吐量,其实现的就是存储系统中的对换功能。 6:在抢占调度方式中,抢占的原则是?

四川大学计算机操作系统第四实验报告

实验报告 (学生打印后提交) 实验名称:作业调度系统 实验时间: 2015 年 6 月 4 日 实验人员:________(姓名)_____(学号)______(年级) 实验目的: ?理解操作系统中调度的概念和调度算法。 ?学习Linux下进程控制以及进程之间通信的知识。 ?理解在操作系统中作业是如何被调度的,如何协调和控制各个作业对CPU的使用 实验环境: linux 实验步骤: 1. 1、调用vi编辑器修改job.h文件,为命名管道FIFO设置正确的路径,修改语句:#define FIFO "/home/student/SVRFIFO" 2. 修改scheduler.c文件,添加作业的打印信息,即修改函数do_stat,要求再输出作业名称、当 前优先级、默认优先级。 3. 在printf( “JID\tPID\tOWNER\tRUNTIME\tWAITTIME\tCREATTIME\t\tSTATE\n”);语句 中添加JOBNAME、CURPRI、DEFPRI。 4. 接下来的两个输出语句根据表头修改,注意printf语句的输出格式,输出的信息内容参照 jobinfo结构体。 5、用gcc分别编译连接作业调度程序、三个命令程序。 6、在一个控制台窗口中运行作业调度程序作为服务端。 7、提交一个运行时间超过100毫秒的作业(要求提供源程序),并编译连接。 8.再打开一个窗口登录服务器作为客户端,在其中运行作业控制命令(提交作业、删除作业、查看信息), 在服务端观察调度情况,分析所提交作业的执行情况。 实验陈述: 1、基础知识: ?说明进程与程序的区别:程序是静态的指令集合,不占用系统的运行资源,可以长久保存在 磁盘。进程是进程实体(程序、数据和进程控制块构成)的运行过程,是系统进行资源分配和 调度的一个独立单位。进程执行程序,但进程与程序之间不是一一对应的。通过多次运行,同一 程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。 ?说明进程与作业的区别:作业是用户一个事务处理过程中要求计算机系统所做工作 的集合,作业可以包含几个进程。 ?说明作业调度与进程调度的区别:作业调度是按照一定的原则从外存的作业后备队 列中选择作业调入内存,并为其分配资源,创建相应的进程,然后进入就绪队列。进 程调度是按照某种策略或方法从就绪队列中选择进程,将处理机分配给它。 2、实验知识 ?本实验作业有几种状态READY:作业准备就绪可以运行。RUNNING:作业正在运行DONE: 作业已经运行结束,可以退出。有这三种状态,但只用到前两种。 ?

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

第二章 1. 什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a-b; S4=w:=c+1; 答:其前趋图为: 3. 为什么程序并发执行会产生间断性特征? 程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。 4. 程序并发执行时为什么会失去封闭性和可再现性? 因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。而程序一旦失去了封闭性也会导致其再失去可再现性。 5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。影响: 使程序的并发执行得以实行。 6. 试从动态性,并发性和独立性上比较进程和程序? a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。 b. 并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。 c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。 7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志? a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。 b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源(2)执行状态→就绪状态:时间片用完(3)执行状态→阻塞状态:I/O请求(4)阻塞状态→就绪状态:I/O完成 12.为什么要引入挂起状态?该状态有哪些性质? 答:引入挂起状态处于五种不同的需要: 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机调度。10.在进行进程切换时,所要保存的处理机状态信息有哪些?答:进行进程切换时,所要保存的处理机状态信息有:(1)进程当前暂存信息(2)下一指令地址信息(3)进程状态信息(4)过程和系统调用参数及调用地址信息。13.在进行进程切换时,所要保存的处理机状态信息有哪些? 答:进行进程切换时,所要保存的处理机状态信息有: (1)进程当前暂存信息 (2)下一指令地址信息 (3)进程状态信息 (4)过程和系统调用参数及调用地址信息。 14.试说明引起进程创建的主要事件。答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。 15.试说明引起进程被撤销的主要事件。答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错、I/O 故障)、外界干预(操作员或操作系统干预、父进程请求、父进程终止)。 16.在创建一个进程时所要完成的主要工作是什么? 答:(1)OS 发现请求创建新进程事件后,调用进程创建原语Creat();(2)申请空白PCB;(3)为新进程分配资源;(4)初始化进程控制块;(5)将新进程插入就绪队列. 17.在撤销一个进程时所要完成的主要工作是什么? 答:(1)根据被终止进程标识符,从PCB 集中检索出进程PCB,读出该进程状态。(2)若被终止进程处于执行状态,立即终止该进程的执行,臵调度标志真,指示该进程被终止后重新调度。(3)若该进程还有子进程,应将所

计算机操作系统教程(第3版)知识点

名词解释 第一章内容: 1、操作系统的概念(名词解释): 操作系统是位于硬件层之上,所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方便用户使用计算机系统。 第二章的内容: 1.作业的定义(名词解释) 在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作称为一个作业。 第三章的内容: 1、程序的并发执行定义: 一组在逻辑上互相独立的程序或程序段在执行过程中,其执行时间在客观上互相重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。 增强计算机系统的处理能力和提高资源利用率所采取的一种同时操作技术。 5、死锁的概念: 指各并发进程互相等待对方所拥有的资源,且这些并发进程在得到对方资源之前不会释放自己所拥有的资源。 8.线程:线程又被称为轻权进程或轻量级进程。线程是进程的一部分。线程是CPU调度的一个基本单位。 第五章内容: 1、存储器是由内存和外存组成的,在存储管理系统把进程中那些不经常被访问的程序段和 数据放入外存中,待需要访问它们时再将它们调入内存。 2、虚拟存储器:进程中的目标代码、数据等的虚拟地址组成的虚拟空间。 5、用户程序自己控制内外存之间的数据交换的例子是覆盖。覆盖技术要求用户清楚地了解程序的结构,并指定各程序段调入内存的先后次序。 6、操作系统控制方式又可进一步分为两种,一种呈交换方式,另一种是请求调入方式和预调入方式。 3、覆盖技术与交换技术是在多道环境下用来扩充内存的2钟方法。 第九章内容: 2、中断的基本概念:计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。 3、根据中断源产生的条件,可把中断分为外中断和内中断。

相关文档
相关文档 最新文档