操作系统(宗大华版)课后习题答案

合集下载

操作系统课后习题答案

操作系统课后习题答案

操作系统课后习题答案第一章操作系统引论一、填空题1~5 BCABA 6~8BCB、填空题处理机管理计算机硬件分时系统单道批处理系统、简答题 1. 什么叫多道程序?试述多道程序设计技术的基本思想及特征。

为什么对作业进行多道批处理可以提高系统效率?多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制下,相互穿插运行。

基本思想:在计算机的内存中同时存放多道相互独立的程序,当某道程序因某种原因不能继续运行下去时候,管理程序就将另一道程序投入运行,这样使几道程序在系统内并行工作,可使中央处理机及外设尽量处于忙碌状态,从而大大提高计算机使用效率。

特征:多道性;无序性;调度性在批处理系统中采用多道程序设计技术形成多道批处理系统,多个作业成批送入计算机,由作业调度程序自动选择作业运行,这样提高了系统效率。

2. 批处理系统、分时系统和实时系统各有什么特点?各适合应用于哪些方面?批处理系统得特征:资源利用率高;系统吞吐量大;平均周转时间长;无交互能力。

适用于那些需要较长时间才能完成的大作业。

分时系统的特征:多路性;独立性;及时性;交互性。

适合进行各种事务处理,并为进行软件开发提供了一个良好的环境。

实时系统的特征:多路性;独立性;实时性;可靠性;交互性。

适合对随机发生的外部事件能做出及时地响应和处理的系统,如实时控制系统,实时信息处理系统。

1、2、存储器管理设备管理计算机软件实时系统批处理系统多道批处理系统文件管理第二章进程管理一、填空题1~6 CBABBB 7 ① A ② C ③ B ④ D 8 ① D ② B 9 ~10 CA11~15 CBBDB 16~18 DDC 20~21 BB 22 ① B ② D ③ F 25 B 26~30 BDACB 31~32 AD二、填空题1、动态性并发性2、可用资源的数量等待使用资源的进程数3、一次只允许一个进程使用的共享资源每个进程中访问临界资源的那段代码4、执行态就绪态等待态5、程序数据进程控制块进程控制块&同步关系7、等待8、进程控制块9、P V11、同步互斥同步互斥12、P V P V P V13、封闭性14、-(m-1)~115、②16、动静17、4 018、s-1<019、①③三、简答题1.在操作系统中为什么要引入进程的概念?进程和程序的关系?现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。

操作系统课后答案

操作系统课后答案

1.答:操作系统的主要目标是:(1)为计算机用户提供一个良好的环境,使其能以方便、有效的方式在计算机硬件上执行程序。

(2)根据解决某给定问题的需要,来分配计算机的各种资源。

而且这种分配应尽可能公平、有效。

(3)作为控制程序,它有如下两种主要功能:监控用户程序的执行,以避免各种错误和对计算机系统的不合理使用:对I/O设备的操作和控制的管理。

(4)合理地组织计算机系统的工作流程,以改善系统的性能。

2.操作系统有哪些基本功能答:操作系统的功能是管理和控制计算机系统中的所有硬、软件资源,合理地组织计算机工作流程,并为用户提供一个良好的工作环境和友好的接口。

操作系统的基本功能包括:处理机管理、存储管理、设备管理、文件管理和用户接口等。

4.答:多道程序设计实现的硬件基础是中断系统和通道技术。

它们为多道程序设计的实现提供了有力的支持。

在多道程序设计的环境下,当CPU要求在内存和外设间传输数据时,通过发I/O指令命令通道工作,完成相应的数据传输,使得CPU从繁琐的I/O操作中解放出来,当I/O操作完成后,通道以中断方式请求CPU的处理,从而实现了CPU的计算与I/O操作的并行。

5.实现多道程序设计技术要解决哪些问题?答:为了实现多道程序设计技术,必须解决以下三个问题:(1)存储保护和地址重定位。

(2)处理机的管理和调度。

(3)资源的管理和调度。

10.网络操作系统的主要功能有哪些?网络操作系统的主要特点是什么?答:网络操作系统作为一个操作系统,应具有传统(单机)操作系统的功能——进程管理、存储管理、文件管理、设备管理和作用管理等。

除此之外,网络操作系统还应具有以下功能:(1)实现网络中各节点机之间的通信(2)实现网络中的资源共享。

(3)提供多种网络服务。

(4)提供网络用户的应用程序接口。

网络操作系统具有以下特点:(1)复杂性。

(2)并行性。

(3)节点之间的通信与同步。

(4)安全性。

11.多道程序和多重处理有何区别?答:多道程序是作业之间自动调度执行、共享系统资源,并不是真正地同时执行多个作业;而多重处理系统配置了多个CPU,能真正同时执行多道程序。

操作系统课后答案全

操作系统课后答案全

1.2 操作系统以什么方式组织用户使用计算机?答:操作系统以进程的方式组织用户使用计算机。

用户所需完成的各种任务必须由相应的程序来表达出来。

为了实现用户的任务,必须让相应功能的程序执行。

而进程就是指程序的运行,操作系统的进程调度程序决定CPU在各进程间的切换。

操作系统为用户提供进程创建和结束等的系统调用功能,使用户能够创建新进程。

操作系统在初始化后,会为每个可能的系统用户创建第一个用户进程,用户的其他进程则可以由母进程通过“进程创建”系统调用进行创建。

1.4 早期监督程序(Monitor)的功能是什么?答:早期监督程序的功能是代替系统操作员的部分工作,自动控制作业的运行。

监督程序首先把第一道作业调入主存,并启动该作业。

运行结束后,再把下一道作业调入主存启动运行。

它如同一个系统操作员,负责批作业的I/O,并自动根据作业控制说明书以单道串行的方式控制作业运行,同时在程序运行过程中通过提供各种系统调用,控制使用计算机资源。

1.7 试述多道程序设计技术的基本思想。

为什么采用多道程序设计技术可以提高资源利用率?答:多道程序设计技术的基本思想是,在主存同时保持多道程序,主机以交替的方式同时处理多道程序。

从宏观上看,主机内同时保持和处理若干道已开始运行但尚未结束的程序。

从微观上看,某一时刻处理机只运行某道程序。

可以提高资源利用率的原因:由于任何一道作业的运行总是交替地串行使用CPU、外设等资源,即使用一段时间的CPU,然后使用一段时间的I/O设备,由于采用多道程序设计技术,加之对多道程序实施合理的运行调度,则可以实现CPU和I/O设备的高度并行,可以大大提高CPU与外设的利用率。

1.8什么是分时系统?其主要特征是什么?适用于哪些应用?答:分时系统是以多道程序设计技术为基础的交互式系统,在此系统中,一台计算机与多台终端相连接,用户通过各自的终端和终端命令以交互的方式使用计算机系统。

每个用户都感觉到好像是自己在独占计算机系统,而在系统内部则由操作系统以时间片轮转的方式负责协调多个用户分享CPU。

操作系统(1~8章的课后习题答案)

操作系统(1~8章的课后习题答案)

1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。

b:分时系统的特点:(1):并行性。

共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。

(2):独占性。

分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。

操作系统通过分时技术将一台计算机改造为多台虚拟计算机。

(3):交互性。

用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。

c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。

1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。

此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。

用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。

用户根据上步结果发出下道命。

分时操作系统将CPU 的时间划分成若干个片段,称为时间片。

操作系统以时间片为单位,轮流为每个终端用户服务。

每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

分时系统具有多路性、交互性、“独占”性和及时性的特征。

操作系统课后习题精选答案

操作系统课后习题精选答案

操作系统课后习题精选答案操作系统作为计算机科学的基础知识之一,是每个计算机专业学生必须掌握的内容。

课后习题的作用是提供课程内容的深度和拓展,以便帮助学生更好地理解和应用所学知识。

以下是我根据自己的学习经验,总结出的操作系统课后习题精选答案。

这些答案涵盖了操作系统中的主要概念和核心原理,对于加深对操作系统的理解有很大的帮助。

1. 什么是操作系统?答案:操作系统是一组程序,它们管理和控制计算机的各种硬件和软件资源,以便于应用程序进行交互式和高效的执行。

操作系统的主要功能包括进程管理、内存管理、磁盘管理、文件管理和网络管理等。

2. 什么是进程?答案:进程是指计算机系统中正在执行的程序的实例。

一个进程可以包含一个或多个线程,并且每个进程都有自己的地址空间、各种资源和状态信息等。

操作系统通过进程管理来协调和控制多个进程的执行,以提供对计算机资源的合理和优化的利用。

3. 什么是线程?答案:线程是进程中的一个独立执行单元,它可以在进程的上下文中运行,并与其他线程共享进程的资源和状态信息等。

线程和进程之间的区别在于,进程是资源分配的基本单位,而线程是操作系统中的调度基本单位。

操作系统利用线程进行并行计算和流程处理,以便快速实现多任务处理和高效运行。

4. 什么是虚拟内存?答案:虚拟内存是操作系统提供的一种机制,用于将计算机的物理内存和应用程序的逻辑地址空间进行映射和管理。

虚拟内存的基本思想是将进程的地址空间分为若干个物理和逻辑区域,并在需要时将这些区域进行映射和替换。

这样,操作系统可以允许应用程序访问超过物理内存容量的数据,从而提高系统的内存利用率和应用程序的执行效率。

5. 什么是文件系统?答案:文件系统是一种操作系统提供的数据存储和管理机制,用于将数据组织为文件、目录和子目录等形式,并提供对文件系统中的不同组成部分进行访问、传输和维护等操作。

文件系统的主要目的是让应用程序可以访问和共享系统中的数据资源,从而有效管理和利用计算机的存储资源。

操作系统课后部分习题及答案

操作系统课后部分习题及答案

第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.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.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.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象13.OS有哪⼏⼤特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。

14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运⾏过程中的状态转换。

进程同步:为多个进程(含线程)的运⾏进⾏协调。

通信:⽤来实现在相互合作的进程之间的信息交换。

处理机调度:(1)作业调度。

从后备队⾥按照⼀定的算法,选出若⼲个作业,为他们分配运⾏所需的资源(⾸选是分配内存)。

(2)进程调度:从进程的就绪队列中,按照⼀定算法选出⼀个进程,把处理机分配给它,并设置运⾏现场,使进程投⼊执⾏。

15.内存管理有哪些主要功能?他们的主要任务是什么?北京⽯油化⼯学院信息⼯程学院计算机系3/48《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。

内存分配:为每道程序分配内存。

内存保护:确保每道⽤户程序都只在⾃⼰的内存空间运⾏,彼此互不⼲扰。

地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。

内存扩充:⽤于实现请求调⽤功能,置换功能等。

16.设备管理有哪些主要功能?其主要任务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。

主要任务: 完成⽤户提出的I/O 请求,为⽤户分配I/O 设备;提⾼CPU 和I/O 设备的利⽤率;提⾼I/O速度;以及⽅便⽤户使⽤I/O设备.17.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章操作系统概述二、选择1.操作系统是一种 B 。

A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对 C 进行管理的软件。

A系统软件B.系统硬件C.计算机资源 D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的 A 。

A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的 B 和方便用户使用。

A.速度B.利用率C.灵活性D.兼容性5. C 操作系统允许多个用户在其终端上同时交互地使用计算机。

A.批处理B.实时C.分时D.多道批处理6.如果分时系统的时间片一定,那么 D ,响应时间越长。

A.用户数越少B.内存越少C.内存越多D.用户数越多三、问答1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。

基于这种考虑,计算机科学家开始把CPU、存储器、外部设备以及各种软件都视为计算机系统的“资源”,并逐步设计出一种软件来管理这些资源,不仅使它们能够得到合理地使用,而且还要高效地使用。

具有这种功能的软件就是“操作系统”。

所以,“多道程序设计”的出现,加快了操作系统的诞生。

2.怎样理解“虚拟机”的概念?答:拿操作系统来说,它是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。

从用户的角度看,计算机配置了操作系统后,由于操作系统隐蔽了硬件的复杂细节,用户会感到机器使用起来更方便、容易了。

这样,通过操作系统的作用使展现在用户面前的是一台功能经过扩展了的机器。

这台“机器”不是硬件搭建成的,现实生活中并不存在具有这种功能的真实机器,它只是用户的一种感觉而已。

所以,就把这样的机器称为“虚拟机”。

3.对于分时系统,怎样理解“从宏观上看,多个用户同时工作,共享系统的资源;从微观上看,各终端程序是轮流运行一个时间片”?答:在分时系统中,系统把CPU时间划分成许多时间片,每个终端用户可以使用由一个时间片规定的CPU时间,多个用户终端就轮流地使用CPU。

这样的效果是每个终端都开始了自己的工作,得到了及时的响应。

也就是说,“从宏观上看,多个用户同时工作,共享系统的资源”。

但实际上,CPU在每一时刻只为一个终端服务,即“从微观上看,各终端程序是轮流运行一个时间片”。

第2章习题解答一、填空1.进程在执行过程中有3种基本状态,它们是运行态、就绪态和阻塞态。

2.系统中一个进程由程序、数据集合和进程控制块(PCB)三部分组成。

3.在多道程序设计系统中,进程是一个动态概念,程序是一个静态概念。

4.在一个单CPU系统中,若有5个用户进程。

假设当前系统为用户态,则处于就绪状态的用户进程最多有 4 个,最少有 0 个。

注意,题目里给出的是假设当前系统为用户态,这表明现在有一个进程处于运行状态,因此最多有4个进程处于就绪态。

也可能除一个在运行外,其他4个都处于阻塞。

这时,处于就绪的进程一个也没有。

5.总的来说,进程调度有两种方式,即不可剥夺方式和剥夺方式。

6.进程调度程序具体负责中央处理机(CPU)的分配。

7.为了使系统的各种资源得到均衡使用,进行作业调度时,应该注意 CPU忙碌作业和 I/O 忙碌作业的搭配。

8.所谓系统调用,就是用户程序要调用操作系统提供的一些子功能。

9.作业被系统接纳后到运行完毕,一般还需要经历后备、运行和完成三个阶段。

10.假定一个系统中的所有作业同时到达,那么使作业平均周转时间为最小的作业调度算法是短作业优先调度算法。

11.在引入线程的操作系统中,所谓“线程”,是指进程中实施处理机调度和分配的基本单位。

12.有了线程概念后,原来的进程就属于是单线程的进程情形。

二、选择1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。

A.进程被调度程序选中B.进程等待某一事件发生C.等待的事件出现D.时间片到2.在分时系统中,一个进程用完给它的时间片后,其状态变为 A 。

A.就绪B.等待C.运行D.由用户设定3.下面对进程的描述中,错误的是 D 。

A.进程是动态的概念B.进程的执行需要CPUC.进程具有生命周期D.进程是指令的集合4.操作系统通过 B 对进程进行管理。

A.JCB B.PCB C.DCTD.FCB5.一个进程被唤醒,意味着该进程 D 。

A.重新占有CPU B.优先级变为最大C.移至等待队列之首D.变为就绪状态6.由各作业JCB形成的队列称为 C 。

A.就绪作业队列B.阻塞作业队列C.后备作业队列D.运行作业队列7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。

A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。

A.就绪B.提交C.等待D.后备9. A 是指从作业提交系统到作业完成的时间间隔。

A.周转时间B.响应时间C.等待时间D.运行时间10.计算机系统在执行 C 时,会自动从目态变换到管态。

A.P操作B.V操作C.系统调用D.I/O指令11.进程状态由就绪变为运行,是由于 C 引起的。

A.中断事件B.进程状态变迁C.进程调度D.为作业创建进程三、问答1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。

因此,从宏观上看,这些程序都开始了自己的工作。

但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。

所以这些进程程序的执行过程是交织在一起的。

也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。

2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。

原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。

操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。

但并不是所有系统调用命令都是原语。

因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。

3.操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。

这样在程序实际被执行时,就通过访管指令进入操作系统,达到调用操作系统功能子程序的目的。

4.系统调用与一般的过程调用有什么区别?答:系统调用是指在用户程序中调用操作系统提供的功能子程序;一般的过程调用是指在一个程序中调用另一个程序。

因此它们之间有如下三点区别。

(1)一般的过程调用,调用者与被调用者都运行在相同的CPU状态,即或都处于目态(用户程序调用用户程序),或都处于管态(系统程序调用系统程序);但发生系统调用时,发出调用命令的调用者运行在目态,而被调用的对象则运行在管态,即调用者与被调用者运行在不同的CPU 状态。

(2)一般的过程调用,是直接通过转移指令转向被调用的程序;但发生系统调用时,只能通过访管指令提供的一个统一的入口,由目态进入管态,经分析后,才转向相应的操作系统命令处理程序。

(3)一般的过程调用,在被调用者执行完后,就径直返回断点继续执行;但系统调用可能会导致进程状态的变化,从而引起系统重新分配处理机。

因此,系统调用处理结束后,不一定是返回调用者断点处继续执行。

5.试述创建进程原语的主要功能。

答:创建进程原语的主要功能有以下三项。

(1)为新建进程申请一个PCB。

(2)将创建者(即父进程)提供的新建进程的信息填入PCB中。

(3)将新建进程设置为就绪状态,并按照所采用的调度算法,把PCB排入就绪队列中。

6.处于阻塞状态的一个进程,它所等待的事件发生时,就把它的状态由阻塞改变为就绪,让它到就绪队列里排队,为什么不直接将它投入运行呢?答:只要是涉及管理,就应该有管理的规则,没有规则就不成方圆。

如果处于阻塞状态的一个进程,在它所等待的事件发生时就径直将它投入运行(也就是把CPU从当前运行进程的手中抢夺过来),那么系统就无法控制对CPU这种资源的管理和使用,进而也就失去了设置操作系统的作用。

所以,阻塞状态的进程在它所等待的事件发生时,必须先进入就绪队列,然后再去考虑它使用CPU的问题。

7.作业调度与进程调度有什么区别?答:作业调度和进程调度(即CPU调度)都涉及到CPU的分配。

但作业调度只是选择参加CPU竞争的作业,它并不具体分配CPU。

而进程调度是在作业调度完成选择后的基础上,把CPU真正分配给某一个具体的进程使用。

8.系统中的各种进程队列都是由进程的PCB链接而成的。

当一个进程的状态从阻塞变为就绪状态时,它的PCB从哪个队列移到哪个队列?它所对应的程序也要跟着移来移去吗?为什么?答:当一个进程的状态从阻塞变为就绪时,它的PCB就从原先在的阻塞队列移到就绪队列里。

在把进程的PCB从这个队列移到另一个队列时,只是移动进程的PCB,进程所对应的程序是不动的。

这是因为在进程的PCB里,总是记录有它的程序的断点信息。

知道了断点的信息,就能够知道程序当前应该从哪里开始往下执行了。

这正是保护现场所起的作用。

9.为什么说响应比高者优先作业调度算法是对先来先服务以及短作业优先这两种调度算法的折中?答:先来先服务的作业调度算法,重点考虑的是作业在后备作业队列里的等待时间,因此对短作业不利;短作业优先的作业调度算法,重点考虑的是作业所需的CPU时间(当然,这个时间是用户自己估计的),因此对长作业不利。

“响应比高者优先”作业调度算法,总是在需要调度时,考虑作业已经等待的时间和所需运行时间之比,即:该作业已等待时间 / 该作业所需CPU时间不难看出,这个比值的分母是一个不变的量。

随着时间的推移,一个作业的“已等待时间”会不断发生变化,也就是分子在不断地变化。

显然,短作业比较容易获得较高的响应比。

这是因为它的分母较小,只要稍加等待,整个比值就会很快上升。

另一方面,长作业的分母虽然很大,但随着它等待时间的增加,比值也会逐渐上升,从而获得较高的响应比。

根据这种分析,可见“响应比高者优先”的作业调度算法,既照顾到了短作业的利益,也照顾到了长作业的利益,是对先来先服务以及短作业优先这两种调度算法的一种折中。

10.短作业优先调度算法总能得到最小的平均周转时间吗?为什么?答:短作业优先调度算法只有在所有作业同时到达后备作业队列时,才能得到最小的平均周转时间。

相关文档
最新文档