操作系统课后题答案
操作系统第五版费祥林-课后习题答案参考
操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
计算机操作系统课后题答案(高等教育出版社)
练习题(一)Ⅰ问答题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.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
操作系统课后复习题答案
操作系统课后复习题答案第一章一、简答题3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,在一个时间段,它们都在同时执行,都处于执行的开始点和结束点之间;从微观上看是串行的,在某一时刻,他们在同一台计算机上交替、轮流、穿插地执行。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。
19.分时系统中,什么是响应时间?它与哪些因素有关?分时系统的响应时间是指用户从终端发出一个命令到系统处理完这个命令并做出回答所需要的时间。
这个时间受时间片长度、终端用户个数、命令本身功能、硬件特性、主存与辅存的交换速度等影响。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
/某tip某/简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
二、应用题2、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150m之间(见图中有色部分)。
课后练习题及答案
一、填空练习1.程序的执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了这一概念。
2.进程存在的标志是。
3.进程的静态实体由、和三部分组成。
4.用于进程控制的原语主要有、、和。
5.进程被创建后,最初处于状态,然后经选中后进入状态。
6.进程创建工作主要完成的是创建进程控制块(PCB),并把它挂到队列中。
7.如果系统中有n个进程,则在就绪队列中进程的个数最多。
8.进程的同步和互斥反映了进程间和的关系。
9.死锁产生的四个必要条件是、、和四种。
10.操作系统中信号量的值与的使用情况有关,它的值仅能由来改变。
11.进程至少有三种基本状态:、和。
12.每执行一次P操作,信号量的数值S减1。
若S>0,则该进程;若S<0,则该进程。
13.每执行一次V操作,信号量的数值S加1。
若,则该进程继续执行;否则从对应的队列中移出一个进程并将状态赋予该进程。
14.利用信号量实现进程的,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于和原语之间。
15. Windows NT是采用结构的操作系统,它的进程的功能发生了变化,它只是资源分配的单位,不是的单位,后者的功能由完成。
16. 通常,线程的定义是____________________________________。
在现代操作系统中,资源的分配单位是__________________,而处理机的调度单位是________________,一个进程可以有___________线程。
17. 计算机系统一般都设计有两种运行状态,和。
18. 目前,在操作系统设计中采用的结构模型主要有四种:、、和。
参考答案:1、并发,进程2、进程控制块PCB3、程序,数据集合,进程控制块PCB4、建立原语、撤消原语,挂起原语,激活原语5、就绪,进程调度程序,执行6、就绪7、n-18、直接制约,间接制约9、互斥使用,保持和等待,非剥夺性,循环等待10、相应资源,P、V操作11、执行态,就绪态,等待态12、继续执行,等待13、S>0,等待,就绪14、互斥,P(mutex),V(mutex)15、微内核,调度运行,线程16、是进程中执行运算的最小单位,进程,线程,多个17、用户态,核心态18、层次模块模型,整体内核模型,进程模型,对象模型二、选择练习1. 操作系统中,可以并行工作的基本单位是[1],[1]也是系统核心调度及资源分配的基本单位,它是由[2]组成的,它与程序的主要区别是[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 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
操作系统(第二版)课后习题答案
故需要一次间接寻址,就可读出该数据
如果要求读入从文件首到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.设计现代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.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。
《Linux操作系统(第2版))》课后习题答案
《 Linux 操作系统(第 2 版)》课后习题答案1.6练习题一、选择题1. Linux 最早是由计算机爱好者B开发的。
A. Richard PetersenB. Linus TorvaldsC. Rob PickD. Linux Sarwar2.下列 C 是自由软件。
A. Windows XPB. UNIXC. LinuxD. Windows 20003.下列B不是 Linux的特点。
A. 多任务B.单用户C. 设备独立性D. 开放性4.Linux 的内核版本 2.3.20 是A的版本。
A. 不稳定B. 稳定的C. 第三次修订D. 第二次修订5.Linux 安装过程中的硬盘分区工具是D。
A. PQmagicB. FDISKC. FIPSD. Disk Druid6.Linux 的根分区系统类型是 C 。
A. FATl6B. FAT32C. ext4D. NTFS二、填空题1. GNU 的含义是: GNU's Not UNIX 。
2.Linux 一般有 3 个主要部分:内核( kernel)、命令解释层( Shell 或其他操作环境)、实用工具。
3.安装 Linux 最少需要两个分区,分别是swap 交换分区和 /(根)分区。
4.Linux 默认的系统管理员账号是root。
三、简答题(略)1.简述 Red Hat Linux 系统的特点,简述一些较为知名的Linux 发行版本。
2.Linux 有哪些安装方式?安装 Red Hat Linux 系统要做哪些准备工作?3.安装 Red Hat Linux 系统的基本磁盘分区有哪些?4.Red Hat Linux 系统支持的文件类型有哪些?2.6练习题一、选择题1.C命令能用来查找在文件TESTFILE中包含四个字符的行?A. grep ’????’TESTFILEB. grep’⋯.’TESTFILEC. grep’^????$’TESTFILED. grep’^⋯ .$’TESTFILE2.B命令用来显示/home及其子目录下的文件名。
计算机操作系统(第四版)课后习题答案(完整版)
计算机操作系统(第四版)课后习题答案(完整版)第⼀章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-9答案
操作系统课后习题1-9答案练习11.1-1.10题解见书1.11 有⼀台输⼊设备和⼀台输出设备的计算机系统上,运⾏有两道程序。
两道程序投⼊运⾏情况如下:程序1先开始运⾏,其运⾏轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束;程序2后开始运⾏,其运⾏轨迹为:计算50ms、输⼊100ms、计算100ms、结束。
1. 忽略调度时间,指出两道程序运⾏时,CPU是否有空闲?在哪部分空闲?指出程序1和程序2. 有⽆等待CPU的情况?如果有,发⽣在哪部分?题解:由题画出CPU利⽤图如下:由图可知,1.CPU有空闲,在100ms~150ms时间段是空闲的。
2.程序1⽆等待时间,⽽程序2在⼀开始的0ms~50ms时间段会等待。
1.12 在计算机系统上运⾏三道程序,运⾏次序为程序1、程序2、程序3。
程序3的运⾏轨迹为:计算60ms、输⼊30ms、计算20ms。
忽略调度时间,画出三道程序运⾏的时间关系图;完成三道程序共花多少时间?与单道程序⽐较,节省了多少时间?解答:三道程序运⾏,完成三道程序共花170ms。
与单道程序(260ms)⽐较,节省了90ms。
(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运⾏前会停10ms等待输⼊完成)程序3。
(如果不是按照程序1、2、3的次序完成则会有多种情况。
)1.13 在计算机系统上有两台输⼊/输出设备,运⾏两道程序。
程序1的运⾏轨迹为:计算10ms、输⼊5ms、计算5ms、输出10ms、计算10ms。
程序2的运⾏轨迹为:输⼊10ms、计算10ms、输出5ms、计算5ms、输出10ms。
在顺序环境下,先执⾏程序1,再执⾏程序2,求总的CPU利⽤率为多少?题解:由题画出CPU利⽤图如下:由图可知,在总共80ms的时间⾥,CPU空闲时间为40ms,即:CPU利⽤率=40ms/80ms*100%=50%1.14 ⼀个计算机系统有⾜够的内存空间存放3道程序,这些程序有⼀半的时间在空闲等待I/O操作。
操作系统第五版费祥林-课后习题答案参考
第一章操作系统概论1、有一台计算机,具有IMB 内存,操作系统占用200KB ,每个用户进程各占200KB 。
如果用户进程等待I/O 的时间为80 % ,若增加1MB 内存,则CPU 的利用率提高多少?答:设每个进程等待I/O 的百分比为P ,则n 个进程同时等待刀O 的概率是Pn ,当n 个进程同时等待I/O 期间CPU 是空闲的,故CPU 的利用率为1-Pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待I/O的时间为80 % , 故:CPU利用率=l-(80%)4 = 0.59若再增加1MB 内存,系统中可同时运行9 个用户进程,此时:cPu 利用率=l-(1-80%)9 = 0.87故增加IMB 内存使CPU 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A 先开始做,程序B 后开始运行。
程序A 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序B 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序A 、B 有无等待CPU 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序A 无等待现象,但程序B 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
(完整版)操作系统教程第5版课后答案解析.docx
WORD 格式可编辑操作系统教程第 5 版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。
答:现代计算机系统由硬件和软件两个部分组成。
是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。
硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及 I/O 设备。
软件层由包括系统软件、支撑软件和应用软件。
其中系统软件是最靠近硬件的。
2、计算机系统的资源可分成哪几类?试举例说明。
答:包括两大类,硬件资源和信息资源。
硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
操作系统在计算机系统中主要起 4 个方面的作用。
(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:( 1)创建程序和执行程序;(2)数据 I/O 和信息存取;(3)通信服务;(4)差错检测和处理。
操作系统课后习题答案
操作系统课后习题答案第一章o引论1.设计现代OS的主要目标是什么方便性,有效性,可扩充性和开放性.2.OS的作用可表现为哪几个方面a.OS作为用户与计算机硬件系统之间的接口;b.OS作为计算机系统资源的管理者;c.OS作为扩充机器.4.试说明推动多道批处理系统形成和发展的主要动力是什么不断提高计算机资源利用率和系统吞吐量的需要;5.何谓脱机I/O和联机I/Oa.脱机输入输出方式(Off-LineI/O)是为了解决人机矛盾及CPU和I/O设备之间速度不匹配而提出的.它减少了CPU的空闲等待时间,提高了I/O速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.b.若这种输入输出操作在主机控制下进行则称之为联机输入输出方式.6.试说明推动分时系统形成和发展的主要动力是什么用户的需要.即对用户来说,更好的满足了人-机交互,共享主机以及便于用户上机的需求.7.实现分时系统的关键问题是什么应如何解决a.关键问题:及时接收,及时处理;b.对于及时接收,只需在系统中设置一多路卡,多路卡作用是使主机能同时接收用户从各个终端上输入的数据;---对于及时处理,应使所有的用户作业都直接进入内存,在不长的时间内,能使每个作业都运行一次.8为什么要引入实时操作系统更好地满足实时控制领域和实时信息处理领域的需要.12试从交互性,及时性和可靠性方面,将分时系统与实时系统进行比较.a.分时系统是一种通用系统,主要用于运行终端用户程序,因而它具有较强的交互能力;而实时系统虽然也有交互能力,但其交互能力不及前者.b.实时信息系统对实用性的要求与分时系统类似,都是以人所能接收的等待时间来确定;而实时控制系统的及时性则是以控制对象所要求的开始截止时间和完成截止时间来确定的.c.实时系统对系统的可靠性要求要比分时系统对系统的可靠性要求高.13OS具有哪几大特征它的最基本特征是什么a.并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Aynchronim).b.其中最基本特征是并发和共享.14处理机管理具有哪些功能它们的主要任务是什么a.进程控制,进程同步,进程通信和调度.b.进程控制的主要任务是为作业创建进程,撤销已结束的进程,以及控制进程在运行过程中的状态转换.---进程同步的主要任务是对诸进程的运行进行调节.---进程通信的任务是实现在相互合作进程之间的信息交换.---调度分为作业调度和进程调度.作业调度的基本任务是从后备队列中按照一定的算法,选择出若干个作业,为它们分配必要的资源;而进程调度的任务是从进程的就绪队列中,按照一定的算法选出一新进程,把处理机分配给它,并为它设置运行现场,是进程投入运行.15内存管理有哪些主要功能它们的主要任务是什么a.主要功能:内存分配,内存保护,地址映射和内存扩充等.b.内存分配的主要任务是为每道程序分配内存空间,提高存储器利用率,以减少不可用的内存空间,允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要.---内存保护的主要任务是确保每道用户程序都在自己的内存空间中运行,互不干扰.---地址映射的主要任务是将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址.---内存扩充的主要任务是借助虚拟存储技术,从逻辑上去扩充内存容量.16设备管理有哪些主要功能其主要任务是什么a.主要功能:缓冲管理,设备分配和设备处理,以及虚拟设备等.b.主要任务:完成用户提出的I/O请求,为用户分配I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;以及方便用户使用I/O设备.17文件管理有哪些主要功能其主要任务是什么a.主要功能:对文件存储空间的管理,目录管理,文件的读,写管理以及文件的共享和保护.b.主要任务:对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性.18是什么原因使操作系统具有异步性特征a.程序执行结果是不确定的,即程序是不可再现的.b.每个程序在何时执行,多个程序间的执行顺序以及完成每道程序所需的时间都是不确定的,即不可预知性.第二章2.试画出下面条语句的前趋图:S1:a=5-某;S2:b=a某某;S3:c=4某某;S4:d=b+c;S5:e=d+3.S1->S2->S4->S5......../......S33.程序并发执行为什么会产生间断性因为程序在并发执行过程中存在相互制约性.4.程序并发执行为什么会失去封闭性和可再现性因为程序并发执行时,多个程序共享系统中的各种资源,资源状态需要多个程序来改变,即存在资源共享性使程序失去封闭性;而失去了封闭性导致程序失去可再现性.5.在操作系统中为什么要引入进程概念它会产生什么样的影响为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,而引入了进程概念.影响:使程序的并发执行得以实行.6.试从动态性,并发性和独立性上比较进程和程序a.动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体.b.并发性是进程的重要特征,同时也是OS的重要特征.引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的.c.独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位.而对于未建立任何进程的程序,都不能作为一个独立的单位参加运行.7.试说明PCB的作用为什么说PCB是进程存在的唯一标志a.PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构.PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息.因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程.b.在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志.8.试说明进程在三个基本状态之间转换的典型原因.a.处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b.当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c.当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.9.为什么要引入挂起状态该状态具有哪些性质a.引入挂起状态处于5中需要:终端用户的需要,父进程的需要,操作系统的需要,对换的需要和负荷调节的需要.b.处于挂起状态的进程不能接收处理机调度.10在进行进程切换时,所要保存的处理机状态信息主要有哪些a.进程当前暂存信息;b.下一条指令地址信息;c.进程状态信息;d.过程和系统调用参数及调用地址信息.11试说明引起进程创建的主要事件.a.用户登陆;b.作业调度;c.提供服务;d.应用请求.12试说明引起进程撤消的主要事件.a.正常结束;b.异常结束;c.外界干预;13在创建一个进程时,需完成的主要工作是什么a.操作系统发现请求创建新进程事件后,调用进程创建原语Creat();b.申请空白PCB;c.为新进程分配资源;d.初始化进程控制块;e.将新进程插入就绪队列.14在撤消一个进程时,需完成的主要工作是什么a.OS调用进程终止原语;b.根据被终止进程的标志符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态;c.若被终止进程正处于执行状态,应立即中止该进程的执行,并设置调度标志为真;d.若该进程还有子孙进程,还应将其所有子孙进程予以终止;e.将该进程所拥有的全部资源,或者归还给其父进程,或者归还给系统;f.将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息.15试说明引起进程阻塞或被唤醒的主要事件是什么a.请求系统服务;b.启动某种操作;c.新数据尚未到达;d.无新工作可做.17.为什么进程在进入临界区之前,应先执行"进入区"代码,在退出临界区后又执行"退出区"代码为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为"进入区"代码;在退出临界区后,必须执行"退出区"代码,用于恢复未被访问标志.18.同步机构应遵循哪些基本准则为什么a.空闲让进.b.忙则等待.c.有限等待.d.让权等待.20.你认为整型信号量机制和记录型信号量机制,是否完全遵循了同步机构的四条准则a.在整型信号量机制中,未遵循"让权等待"的准则.b.记录型信号量机制完全遵循了同步机构的"空闲让进,忙则等待,有限等待,让权等待"四条准则.23.在生产者-消费者问题中,如果缺少了ignal(full)或ignal(empty),对执行结果会有何影响生产者-消费者问题可描述如下: varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat.produceaniteminne某tp;..wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(full);/某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeatwait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);/某某某某某某某某某某某某某某某某/ ignal(empty);/某某某某某某某某某某某某某某某某/conumetheiteminne某tc;untilfale;endparendend可见,生产者可以不断地往缓冲池送消息,如果缓冲池满,就会覆盖原有数据,造成数据混乱.而消费者始终因wait(full)操作将消费进程直接送入进程链表进行等待,无法访问缓冲池,造成无限等待.24.在生产者-消费者问题中,如果将两个wait操作即wait(full)和wait(mute某)互换位置;或者是将ignal(mute某)与ignal(full)互换位置结果会如何varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;.wait(empty);wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;/某某某某某某某某某某某某某某某某某某某/ ignal(full);ignal(mute某);/某某某某某某某某某某某某某某某某某某某/ untilfale;endconumer:beginrepeat/某某某某某某某某某某某某某某某某某某/ wait(mute某);wait(full);/某某某某某某某某某某某某某某某某某某/ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);conumetheiteminne某tc;untilfale;endparendendwait(full)和wait(mute某)互换位置后,因为mute某在这儿是全局变量,执行完wait(mute某),则mute某赋值为0,倘若full也为0,则该生产者进程就会转入进程链表进行等待,而生产者进程会因全局变量mute某为0而进行等待,使full始终为0,这样就形成了死锁.而ignal(mute某)与ignal(full)互换位置后,从逻辑上来说应该是一样的.25.我们为某临界区设置一把锁W,当W=1时,表示关锁;W=0时,表示锁已打开.试写出开锁原语和关锁原语,并利用它们去实现互斥.开锁原语:unlock(W):W=0;关锁原语:lock(W);if(W==1)dono_op;W=1;利用开关锁原语实现互斥:varW:emaphore:=0;beginparbeginproce:repeatlock(W);criticalectionunlock(W);remainderectionuntilfale;endparend26.试修改下面生产者-消费者问题解法中的错误: producer:beginrepeat..produceraniteminne某tp;wait(mute某);wait(full);/某应为wait(empty),而且还应该在wait(mute某)的前面某/buffer(in):=ne某tp;/某缓冲池数组游标应前移:in:=(in+1)modn;某/ignal(mute某);/某ignal(full);某/untilfale;endconumer:beginrepeatwait(mute某);wait(empty);/某应为wait(full),而且还应该在wait(mute某)的前面某/ne某tc:=buffer(out);out:=out+1;/某考虑循环,应改为:out:=(out+1)modn;某/ignal(mute某);/某ignal(empty);某/conumeriteminne某tc;untilfale;end27.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法.设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,4,...,2n),其中n为自然数.end(I):BeginifImod2==1then{P(c[I]);P(c[I-1mod5]);V(c[I-1mod5]);}ele{P(c[I-1mod5]);P(c[I]);Eat;V(c[I]);V(c[I-1mod5]);}End28.在测量控制系统中的数据采集任务,把所采集的数据送一单缓冲区;计算任务从该单缓冲中取出数据进行计算.试写出利用信号量机制实现两者共享单缓冲的同步算法.intmute某=1;intempty=n;intfull=0;intin=0;intout=0;{cobeginend();obtain();coend}end(){while(1){..collectdatainne某tp; ..wait(empty);wait(mute某);buffer(in)=ne某tp;in=(in+1)modn;ignal(mute某);ignal(full);}}//endobtain(){while(1){wait(full);wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);culculatethedatainne某tc;}//while}//obtain29画图说明管程由哪几部分组成为什么要引入条件变量管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句.(图见P59)因为调用wait原语后,使进程等待的原因有多种,为了区别它们,引入了条件变量.30.如何利用管程来解决生产者-消费者问题(见P60)31.什么是AND信号量试利用AND信号量写出生产者-消费者问题的解法.为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基本思想是将进程在整个运行过程中所需要的所有临界资源,一次性地全部分配给进程,用完后一次性释放.解决生产者-消费者问题可描述如下:varmute某,empty,full:emaphore:=1,n,0;buffer:array[0,...,n-1]ofitem;in,out:integer:=0,0;beginparbeginproducer:beginrepeat..produceaniteminne某tp;..wait(empty);wait(1,2,3,...,n);//1,2,...,n为执行生产者进程除empty外其余的条件wait(mute某);buffer(in):=ne某tp;in:=(in+1)modn;ignal(mute某);ignal(full);ignal(1,2,3,...,n);untilfale;endconumer:beginrepeatwait(full);wait(k1,k2,k3,...,kn);//k1,k2,...,kn为执行消费者进程除full 外其余的条件wait(mute某);ne某tc:=buffer(out);out:=(out+1)modn;ignal(mute某);ignal(empty);ignal(k1,k2,k3,...,kn);conumetheiteminne某tc;untilfale;endparendend33.试比较进程间的低级通信工具与高级通信工具.用户用低级通信工具实现进程通信很不方便,因为其效率低,通信对用户不透明,所有的操作都必须由程序员来实现.而高级通信工具则可弥补这些缺陷,用户可直接利用操作系统所提供的一组通信命令,高效地传送大量的数据.第三章1.高级调度与低级调度的主要任务是什么为什么要引入中级调度a.作业调度又称宏观调度或高级调度,其主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存,输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利.b.进程调度又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它.c.为了提高内存利用7.选择调度方式和调度算法时,应遵循的准则是什么a.面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则.b.面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用.11.在时间片轮转法中,应如何确定时间片的大小?a.系统对响应时间的要求;b.就绪队列中进程的数目;c.系统的处理能力。
操作系统教程课后习题参考答案
操作系统教程课后习题参考答案习题一习题二习题三习题四习题五习题六习题一1.设计操作系统的主要目的是什么?设计操作系统的目的是:(1)从系统管理人员的观点来看,设计操作系统是为了合理地去组织计算机工作流程,管理和分配计算机系统硬件及软件资源,使之能为多个用户所共享。
因此,操作系统是计算机资源的管理者。
(2)从用户的观点来看,设计操作系统是为了给用户使用计算机提供一个良好的界面,以使用户无需了解许多有关硬件和系统软件的细节,就能方便灵活地使用计算机。
2.操作系统的作用可表现在哪几个方面?(1) 方便用户使用:操作系统通过提供用户与计算机之间的友好界面来方便用户使用。
(2) 扩展机器功能:操作系统通过扩充硬件功能和提供新的服务来扩展机器功能。
(3) 管理系统资源:操作系统有效地管理系统中的所有硬件和软件资源,使之得到充分利用。
(4) 提高系统效率:操作系统合理组织计算机的工作流程,以改进系统性能和提高系统效率。
(5)构筑开放环境:操作系统遵循国际标准来设计和构造一个开放环境。
其含义主要是指:遵循有关国际工业标准和开放系统标准,支持体系结构的可伸缩性和可扩展性;支持应用程序在不同平台上的可移植性和互操作性。
3.试叙述脱机批处理和联机批处理工作过程(1)联机批处理工作过程用户上机前,需向机房的操作员提交程序、数据和一个作业说明书,后者提供了用户标识、用户想使用的编译程序以及所需的系统资源等基本信息。
这些资料必须变成穿孔信息,(例如穿成卡片的形式),操作员把各用户提交的一批作业装到输入设备上(若输入设备是读卡机,则该批作业是一叠卡片),然后由监督程序控制送到磁带上。
之后,监督程序自动输入第一个作业的说明记录,若系统资源能满足其要求,则将该作业的程序、数据调入主存,并从磁带上调入所需要的编译程序。
编译程序将用户源程序翻译成目标代码,然后由连接装配程序把编译后的目标代码及所需的子程序装配成一个可执行的程序,接着启动执行。
操作系统概念课后习题答案
操作系统概念课后习题答案操作系统概念课后习题答案第一章:引论⒈操作系统的功能和目标是什么?答:操作系统的功能包括了进程管理、内存管理、文件系统管理、设备管理等。
操作系统的目标是提高计算机系统的资源利用率,提供简单易用的用户界面,保证计算机系统的安全和稳定性。
⒉什么是并发性?并行性?有什么区别?答:并发性是指计算机系统中存在多个独立的任务同时执行的能力。
并行性是指系统中同时执行多个任务的能力。
并行性强调多个任务的同时进行,而并发性强调任务的独立性。
⒊什么是中断?有什么作用?答:中断是指计算机执行过程中出现的一种特殊事件,用于打断正在执行的程序,转而执行中断处理程序。
中断的作用是能够及时响应输入/输出设备的请求以及处理发生的异常情况。
⒋什么是多道程序设计?答:多道程序设计是指将多个程序加载到内存中,并按照一定的调度算法来分时共享处理器和其他资源。
⒌什么是虚拟内存?答:虚拟内存是计算机系统通过借助硬盘空间来扩展内存空间的一种技术。
它将部分物理内存空间映射到磁盘上,使得程序可以访问比实际物理内存更大的地质空间。
第二章:进程管理⒈什么是进程?什么是线程?答:进程是指在操作系统中运行的程序的实例,它包括了程序代码、数据和执行状态等。
线程是进程中的一个执行单元,一个进程可以包含多个线程,它们共享进程的资源。
⒉进程的状态有哪些?请描述每个状态的含义。
答:进程的状态包括了就绪状态、运行状态、阻塞状态。
就绪状态表示进程已经具备运行的条件,等待分配处理器资源。
运行状态表示进程正在执行。
阻塞状态表示进程由于某种原因暂时无法继续执行。
⒊进程调度算法有哪些?请简要描述每个算法的特点。
答:常见的进程调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转等。
FCFS按照进程的到达顺序进行调度,适用于长作业。
SJF按照进程的执行时间进行调度,适用于短作业。
优先级调度根据进程的优先级进行调度。
时间片轮转将处理器时间分成若干个时间片,每个进程获得一个时间片。
linux操作系统(第二版)课后习题答案
linux操作系统(第二版)课后习题答案Linux操作系统(第二版)课后习题答案Linux操作系统是一种开源的操作系统,广泛应用于各个领域。
在学习Linux操作系统的过程中,课后习题是一个非常重要的部分,通过解答习题可以加深对知识点的理解和应用能力的提升。
本文将为大家提供一些关于Linux操作系统(第二版)课后习题的答案,希望能对大家的学习有所帮助。
一、选择题1. Linux操作系统最早由谁创建?答:Linus Torvalds2. Linux操作系统是哪种类型的操作系统?答:开源操作系统3. Linux操作系统的内核是?答:Linux内核4. Linux操作系统的特点是?答:稳定、安全、可定制性强5. Linux操作系统最早是为了什么目的而创建的?答:为了个人电脑而创建的二、判断题1. Linux操作系统只能运行在服务器上,不能用于个人电脑。
答:错误2. Linux操作系统的文件系统是大小写敏感的。
答:正确3. Linux操作系统只能使用命令行界面,不能使用图形界面。
答:错误4. Linux操作系统不支持多用户同时登录。
答:错误5. Linux操作系统没有商业公司支持,完全由志愿者维护。
答:错误三、填空题1. Linux操作系统的命令行界面称为______。
答:Shell2. Linux操作系统的默认Shell是______。
答:Bash3. Linux操作系统的配置文件一般存放在______目录下。
答:/etc4. Linux操作系统的进程管理工具是______。
答:ps5. Linux操作系统的软件包管理工具是______。
答:apt四、简答题1. 请简要介绍一下Linux操作系统的文件系统结构。
答:Linux操作系统的文件系统结构是由根目录/开始的,包括了多个目录和文件。
常见的目录包括/bin、/etc、/home、/usr等。
其中/bin存放了一些系统命令,/etc存放了系统的配置文件,/home存放了用户的主目录,/usr存放了系统的应用程序和文件。
操作系统课后题及答案
第一章1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。
a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。
Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。
1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。
对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。
批处理程序在两种环境中都是非必需的。
1.10中断(interupt)的目的是什么?陷阱(trap)与中断的区别是什么?陷阱可以被用户程序(user program)有意地的产生吗?如果可以,那目的是什么?Answer:中断是一种在系统内硬件产生的流量变化。
中断操作装置是用来处理中断请求;然后返回控制中断的上下文和指令。
陷阱是软件产生的中断。
中断可以被用来标志I/O的完成,从而排除设备投票站(device polling)的需要。
陷阱可以被用来调用操作系统的程序或者捕捉到算术错误。
1.13给出缓存(caches)十分有用的两个理由。
他们解决了什么问题?他们引起了什么问题?如果缓存可以被做成装备想要缓存的容量(例如,缓存像磁盘那么大),为什么不把它做的那么大,其限制的原因是什么?Answer:当两个或者更多的部件需要交换数据,以及组成部件以不同的速度完成转换时,缓存是十分有用的。
缓存通过在个组成部件之间提供一个中间速度的缓冲区来解决转换问题。
如果速度较快的设备在缓存中发现它所要的数据,它就不需要再等待速度较慢的设备了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。
另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。
这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。
2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。
还利于设备驱动程序代码,可以支持规范定义的API。
缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。
2.9 策略决定做什么,机制决定如何做。
他们两个的区分对于灵活性来说很重要。
策略可能会随时间或位置而有所改变。
在最坏的情况下,每次策略改变都可能需要底层机制的改变。
系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。
3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU;中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。
长期调度:从缓冲池中选择进程,并装入内存以准备执行。
它们的主要区别是它们执行的频率。
短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。
3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。
4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。
4.4、在多线程程序中各线程共享堆内存和全局变量,而寄存值和栈内存是每个线程所独有的。
4.7、C行输出:CHILD:value=5;P行输出:PARENT:value=05.4、SJF调度算法和Priority调度算法会导致饥饿。
5.10、FCFS:最先到达的进程最先完成,若某个长进程先到达,则之后的任一短进程都会有较长的等待时间。
RR:将就绪队列作为循环队列,CPU调度程序循环就绪队列,为每个进程分配不超过一个时间片的时间,所以只要短进程可以先完成,它们可以很快的离开系统。
多级反馈队列调度算法:并不会特意的区分短进程并优先选择它,对待短进程上和RR调度算法相似。
6.1、(1)互斥条件通过flag和turn变量的使用实现。
如果两个进程将flag设为真,那么只有轮到的那个进程会成功进行。
只有当一个进程更新turn值时,等待的那个进程才能进入它的临界区域。
(2)前进也是通过flag和turn实现的。
如果一个进程想要进入它们的临界区域,它可以将它的flag设为真,然后进入临界区域。
当退出它的临界区域,将turn设置为转向其他进程的值。
如果这个进程想要在其他进程之前再次进入临界区域,它会不断重复进入临界区域,在退出时将turn置为转向另一个进程的过程。
(3)有限等待通过turn的使用来实现。
假设两个进程想要进入临界区域,它们都将flag的值设为真,而只有轮到的那个线程可以执行,其他的线程处于等待状态。
如果有限等待没有实现,那么当第一个进程重复“进入-退出”临界区域这一过程时,其他进程则必须无限等待下去。
Dekker算法要求一个进程将turn 设置为转向另一个进程的值,从而保证另一个进程接下来进入临界区域。
6.4、自旋锁不适合在单处理器系统是因为从自旋锁中打破一个进程的条件只有在执行一个不同的进程时才能获得。
如果这个进程没有闲置处理器,其他进程不能够得到这个机会去设定第一个进程进展需要的程序条件。
在一个多处理器系统中,其他进程在其他处理器上执行,从而可以修改程序状态使得第一个进程从自旋锁中释放。
6.5、如果一个用户级程序具有停止中断的能力,那么它能够停止计时器中断,防止上下文切换的发生,从而允许它使用处理器而不让其他进程执行。
6.6、因为停止中断仅仅能够防止其他进程在一个中断不能实现的处理器上执行,而在其他处理器上能执行什么进程是没有限制的,所以进程停止中断并不能保证互斥进入程序状态,即中断在多处理器系统中是不够的。
6.16、当执行管程的signal操作时,如果没有等待线程,那么系统会忽略signal 操作,认为signal操作没有发生过。
如果随后执行wait操作,那么相关的线程就会被阻塞。
然而在信号量中,即使没有等待线程,每个signal操作都会导致相应的信号量值的增加,那么接下来的wait操作就会因为之前的信号量值的增加而马上成功进行.7.1a、死锁的四个必要条件:互斥;占有并等待;非抢占;循环等待。
互斥的条件是只有一辆车占据道路上的一个空间位置。
占有并等待表示一辆车占据道路上的位置并且等待前进。
一辆车不能从道路上当前的位置移动开(就是非抢占)。
最后就是循环等待,因为每个车正等待着随后的汽车向前发展。
循环等待的条件也很容易从图形中观察到。
b、一个简单的方法是,汽车不得进入一个十字路口,这样就不会产生相交。
7.5 a、增加可用资源:这个在任何情况下都是安全的;b、减少可用资源:这可能会影响到系统,并导致可能性死锁因为系统的安全性假定其拥有一定数量的可用资源;c、增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源):这可能会影响到系统,并可能导致死锁;d、减少一个进程的Max(进程不再需要那么多资源):这个在任何情况下都是安全的;e、增加进程的数量:如果允许分配资源给新进程,那么该系统并没有进入一个不安全的状态;f、减少进程的数量:这个在任何情况下都是安全的。
7.8、当一个哲学家发出一个需要第一根筷子的请求时,如果没有别的哲学家有两根筷子或者只留有一根筷子时,这个请求就不被允许。
7.11、a、.Need矩阵的内容是P0(0 0 0 0) P1(0 7 5 0) P2(1 0 0 2)P3(0 0 2 0) P4(0 6 4 0)b、系统处于安全状态,因为Available矩阵等于(1 5 2 0),进程P0和P3都可以运行,当进程P3运行完时,它释放它的资源,而允许其它进程运行。
c、可以被满足,满足以后,Available矩阵等于(1 1 0 0),当以次序P0,P2, P3, P1 ,P4运行时候,可以完成运行。
8.5、连续内存分配会产生外部碎片,因为地址空间是被连续分配的,当旧进程结束,新进程初始化的时候,碎片会扩大。
连续内存分配也不允许进程共享代码,因为一个进程的虚拟内存段是不被允许闯入不连续的段的。
纯段式分配也会产生外部碎片,因为在物理内存中,一个进程的段是被连续放置的,以及当死进程的段被新进程的段所替代时,碎片也将会产生。
然而,段式分配可以使进程共享代码;比如,两个不同的进程可以共享一个代码段,但是有不同的数据段。
纯页式分配不会产生外部碎片,但会产生内部碎片。
进程可以采用页式分配,如果一页没有被完全利用,它就会产生内部碎片并且会产生一个相当的空间浪费。
页式分配也允许进程共享代码。
8.6、逻辑地址在页式分配系统上包括逻辑页号和偏移量。
在逻辑页号的基础上产生一个物理页号,物理页号通过页表被找到。
因为操作系统控制这张表的内容,所以操作系统只允许进程访问那些分配到该进程的物理页。
一个进程想要访问一个它所不拥有的页是不可能的,因为这一页在页表中不存在。
为了允许这样的进入,操作系统只需要简单的允许非本进程内存的条目被加到该进程的页表中。
当两个或多个进程需要交换数据时,这是十分有用的。
在进程内通信时,这是十分高效的。
8.9、a.400ms:200ms进入页表查询页框号,200ms进入内存中找到所需的数据b.有效进入时间为0.75*200+0.25*400=250ms8.10、段式存储与页式存储经常结合在一起以提高它们每一个存储方式的性能。
当页变的十分大时,分段的页式存储是十分有用的。
一大段连续的未用页表可折叠成一个以页表地址0为入口的单一段表。
分页的段式存储适用于段非常大需要很长时间来进行分配的时候。
通过把段分页,我们降低了由于外部碎片而造成的内存浪费,而且也简化了分配。
9.2 答:对于每一个内存访问操作,页表需要检查相应的页表条目存在与否,程序对该访问页面有读权限还是写权限,这些核对都需要硬件实现。
一个TLB可以作为高速缓存提高查询操作的效率。
9.10 答:该系统显然花费了许多时间进行分页,显示过度分配的内存,如果多级程序水平降低,页面错误将变少,CPU利用率也会提高。
另一种提高利用率的方式是获得更多的物理内存或更快的分页磁盘。
ABC都不行,D可以E.可能提高CPU利用率,因为更多页面能存放在内存中,而不需要从磁盘请求页面。
F.另一个改进,因为磁盘的瓶颈被更快的响应和更大的磁盘吞吐量所删除,CPU 将会更快的获得更多的数据G.CPU将会更快的获得更多的数据,所以更多地被使用。
如果分页服从预调(即一些访问顺序)这只是一个方面。
H.如果数据被顺序访问,那么增加页面大小将导致缺页率降低。
如果数据访问是随机的,就需要更多的页面操作,因为较少页面可保存在内存上,在每次缺页时,更多的数据被转移,所以这种变化既可以减少CPU利用率也可以增加CPU利用率。
9.15 答:分配的页数少于进程所需的最小页数时发生抖动,并迫使它不断地页错误。
系统可通过对比多道程序的水平和CPU利用率的程度,以此来检测抖动。
降低多道程序的水平可以消除抖动。
9.16 答:可以,事实上,许多处理器因为这个原因提供两个TLB。
举个例子,一个进程访问的代码可长时间地保留同样的工作集合。
然而,代码访问的数据可能改变,这样为工作集合的数据访问产生了一个改变。
10.1 答:令旧的文件为F1,新文件为F2。
用户希望通过存在的链接进入F1,实际上将进入F2。
注意,使用的是文件F1的访问保护,而不是F2的。
这个问题可以通过确保所有被删除文件的链接也被删除来避免。
可从几个方面完成:a.保存一份文件所有链接的列表,删除文件时,删除每一个链接b.保留链接,当试图访问一个已删除文件时删除他们c.保存一个文件引用清单(或计数器),只有在文件所有链接或引用被删除后,删除该文件10.3 答:在许多情况下,单独的程序可能愿意容忍同时访问一个文件,而不需要获得锁,从而确保文件的相互排斥。
其他程序结构也可以确保相互排斥,如内存锁,或其他同步的形式。
在这种情况下,强制锁将限制访问文件的灵活性,也可能增加与访问文件相关的开销。
10.11 答:UNIX的一致性语义需要更新文件立即提供给其他进程。
支持这种语义的共享文件远程文件系统可能会导致以下的低效率: 一个用户产生的所有更新,必须立即上报文件服务器,而不是批处理(如果更新到一个临时文件将会被忽略), 而且更新必须立刻通过文件服务器跟高速缓存数据的客户进行交流,造成更多的联系。