操作系统第五版费祥林-课后习题答案参考
操作系统第五版费祥林-课后习题答案参考
操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
计算机操作系统第五版答案,操作系统-第5版-习题答案.doc
计算机操作系统第五版答案,操作系统-第5版-习题答案.doc 第⼀章⼀、选择题1. D2. C3,B4.A5.6. D7. C⼆、填空题1. 硬件、软件2. 交互性、多路性和独占性3.⾬提⾼系统的⼯作效率4.处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理。
5. 程序级和⽤户组(程序接⼝和命令接⼝)。
三、简答题1.计算机系统由哪些部分组成?处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理2. 什么是操作系统?(1)管理和控制计算机的硬件和软件资源。
(2)合理组织计算机⼯作流程。
(3)提供⽅便⽤户操作的接⼝的软件。
3. 实时操作系统的主要特点是什么?及时性、可靠性。
4. 从资源管理的⾓度来看,操作系统的基本功能可分成哪些部分?管理和控制计算机的硬件和软件资源。
5. 操作系统的分类?(1)批处理操作系统。
(2)实时操作系统。
(3)分时操作系统。
(4)⽹络操作系统。
(5)分布式操作系统。
(6)嵌⼊式操作系统。
(7)微型计算机操作系统。
第⼆章⼀、选择题(1)进程部分1. D2. B3,D4.B5.6. B7. B(2)并发和通信部分1. B2. B3.B4.B5.D6. C7. B8.11. B 12.D⼆、填空题1. 动态和静态。
2. 程序、数据和PCB(进程控制块)3. 程序、数据和PCB(进程控制块、PCB、程序段。
4. 动态、静态5. 分配资源的基本单位,执⾏和调度单位6. 临界资源的概念是 ⼀次仅允许⼀个进程访问的资源 ,⽽临界区是指进程中访问临界资源的那段程序代码。
7. ⽤PV操作管理临界区时,任何⼀个进程进⼊临界区之间必须应⽤P操作,退出临界区必须调⽤V操作。
8. 信息分信箱头和信箱体,信箱头中存放有关信箱的描述,信箱体由若⼲格⼦组成,每格存放⼀封信件,格⼦的数⽬和⼤⼩在创建信箱时确定。
三、简答题1. 什么叫多道程序设计?为什么要采⽤多道程序设计?答:多道程序设计是指在主存中同时存放多个程序,它们都处于执⾏的开始点和结束点之间,这些程序轮渡或以其他⽅式共享CPU。
(完整版)操作系统教程第5版课后标准答案
操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。
答:现代计算机系统由硬件和软件两个部分组成。
是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。
硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。
软件层由包括系统软件、支撑软件和应用软件。
其中系统软件是最靠近硬件的。
2、计算机系统的资源可分成哪几类?试举例说明。
答:包括两大类,硬件资源和信息资源。
硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
操作系统在计算机系统中主要起4个方面的作用。
(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。
操作系统教程第五版答案
操作系统教程第五版答案【篇一:华科操作系统教程(第五版)费祥林部分习题答案】>应用题t2、t4、第二章处理器管理应用题t1:只能在内核态运行的指令:(3)、(4)、(5)、(6)、(7)。
t11:(4)sjf调度算法t15:hrrf性能较好。
第三章同步、通信与死锁应用题:2、5(1)、38(1),t2、t5、t38(1)第四章存储管理二、应用题:3(3)、5、20、30t3(3)答:作业的物理块数为3时,fifo为9次,75%;lru为10次,83%;opt为7次,58%;作业的物理块数为4时,fifo为10次,83%,lru为8次,66%,opt为6次,50%。
其中fifo出现belady现象。
t5、【篇二:操作系统原理习题及答案(全书免费版)】、填空题1.用户与操作系统的接口有,两种。
【答案】命令接口,系统调用【解析】按用户界面的观点,操作系统是用户与计算机之间的接口。
用户通过操作系统提供的服务来有效地使用计算机。
一般操作系统提供了两类接口为用户服务,一种是程序一级的接口,即通过一组广义指令(或称系统调用)供用户程序和其他系统程序调用;另一种是作业一级的接口,提供一组控制命令供用户去组织和控制自己的作业。
2.用户程序调用操作系统有关功能的途径是。
【答案】利用系统调用命令【解析】系统调用命令是操作系统专门给编程人员提供的调用操作系统有关功能的途径,一般在汇编语言和c语言中都提供了使用系统调用命令的方法。
编程人员可以在这些语言中利用系统调用命令动态请求和释放系统资源。
3.unix系统是①操作系统,dos系统是②操作系统。
【答案】①分时(或多用户、多任务),②单用户(或单用户、单任务)【解析】 unix系统是一个可供多个用户同时操作的会话式的分时操作系统,dos系统是为个人计算机设计的一个单用户操作系统。
4.现代计算机中,cpu工作方式有目态和管态两种。
目态是指运行①程序,管态是指运行②程序。
操作系统精髓与设计原理第五版 课后题答案
操作系统精髓与设计原理第五版课后题答案C HAPTER 2O PERATING S YSTEMO VERVIEWReview Questions2.1 Convenience: An operating system makes a computer more convenientto use. Efficiency: An operating system allows the computer systemresources to be used in an efficient manner. Ability to evolve: Anoperating system should be constructed in such a way as to permit theeffective development, testing, and introduction of new systemfunctions without interfering with service.2.5 The execution context, or process state, is the internal data by which theoperating system is able to supervise and control the process. Thisinternal information is separated from the process, because theoperating system has information not permitted to the process. Thecontext includes all of the information that the operating system needsto manage the process and that the processor needs to execute theprocess properly. The context includes the contents of the variousprocessor registers, such as the program counter and data registers. Italso includes information of use to the operating system, such as thepriority of the process and whether the process is waiting for thecompletion of a particular I/O event.Problems2.1 The answers are the same for (a) and (b). Assume that althoughprocessor operations cannot overlap, I/O operations can.1 Job: TAT = NT Processor utilization = 50%2 Jobs: TAT = NT Processor utilization = 100%4 Jobs: TAT = (2N – 1)NT Processor utilization = 100% 2.4 A system call is used by an application program to invoke a functionprovided by the operating system. Typically, the system call results intransfer to a system program that runs in kernel mode.C HAPTER 3P ROCESS D ESCRIPTION ANDC ONTROLReview Questions3.5 Swapping involves moving part or all of a process from main memoryto disk. When none of the processes in main memory is in the Ready state, the operating system swaps one of the blocked processes out onto disk into a suspend queue, so that another process may be brought into main memory to execute.3.10 The user mode has restrictions on the instructions that can be executedand the memory areas that can be accessed. This is to protect theoperating system from damage or alteration. In kernel mode, theoperating system does not have these restrictions, so that it canperform its tasks.Problems3.1 •Creation and deletion of both user and system processes. Theprocesses in the system can execute concurrently for informationsharing, computation speedup, modularity, and convenience.Concurrent execution requires a mechanism for process creation and deletion. The required resources are given to the process when it iscreated, or allocated to it while it is running. When the processterminates, the OS needs to reclaim any reusable resources.•Suspension and resumpti on of processes. In process scheduling, theOS needs to change the process's state to waiting or ready state when it is waiting for some resources. When the required resources areavailable, OS needs to change its state to running state to resume itsexecution.•Provision of mechanism for process synchronization. Cooperatingprocesses may share data. Concurrent access to shared data mayresult in data inconsistency. OS has to provide mechanisms forprocesses synchronization to ensure the orderly execution ofcooperating processes, so that data consistency is maintained.•Provision of mechanism for process communication. The processesexecuting under the OS may be either independent processes orcooperating processes. Cooperating processes must have the meansto communicate with each other.•Provision of mechanisms for deadlock handling. In amultiprogramming environment, several processes may compete fora finite number of resources. If a deadlock occurs, all waitingprocesses will never change their waiting state to running state again, resources are wasted and jobs will never be completed.3.3Figure 9.3 shows the result for a single blocked queue. The figurereadily generalizes to multiple blocked queues.C HAPTER 4P ROCESS D ESCRIPTION ANDC ONTROLReview Questions4.2 Less state information is involved.4.5 Address space, file resources, execution privileges are examples.4.6 1. Thread switching does not require kernel mode privileges becauseall of the thread management data structures are within the useraddress space of a single process. Therefore, the process does notswitch to the kernel mode to do thread management. This saves theoverhead of two mode switches (user to kernel; kernel back to user). 2.Scheduling can be application specific. One application may benefit most from a simple round-robin scheduling algorithm, while another might benefit from a priority-based scheduling algorithm. Thescheduling algorithm can be tailored to the application withoutdisturbing the underlying OS scheduler. 3. ULTs can run on anyoperating system. No changes are required to the underlying kernel to support ULTs. The threads library is a set of application-level utilities shared by all applications.4.7 1. In a typical operating system, many system calls are blocking. Thus,when a ULT executes a system call, not only is that thread blocked, but also all of the threads within the process are blocked. 2. In a pure ULT strategy, a multithreaded application cannot take advantage ofmultiprocessing. A kernel assigns one process to only one processor ata time. Therefore, only a single thread within a process can execute at atime.Problems4.2Because, with ULTs, the thread structure of a process is not visible to theoperating system, which only schedules on the basis of processes.C HAPTER 5C ONCURRENCY:M UTUALE XCLUSION ANDS YNCHRONIZATIONReview Questions5.1 Communication among processes, sharing of and competing forresources, synchronization of the activities of multiple processes, and allocation of processor time to processes.5.9 A binary semaphore may only take on the values 0 and 1. A generalsemaphore may take on any integer value.Problems5.2 ABCDE; ABDCE; ABDEC; ADBCE; ADBEC; ADEBC;DEABC; DAEBC; DABEC; DABCE5.5Consider the case in which turn equals 0 and P(1) sets blocked[1] totrue and then finds blocked[0] set to false. P(0) will then setblocked[0] to true, find turn = 0, and enter its critical section. P(1) will then assign 1 to turn and will also enter its critical section.C HAPTER 6C ONCURRENCY:D EADLOCK ANDS TARVATIONReview Questions6.2 Mutual exclusion. Only one process may use a resource at a time. Holdand wait. A process may hold allocated resources while awaitingassignment of others. No preemption. No resource can be forciblyremoved from a process holding it.6.3 The above three conditions, plus: Circular wait. A closed chain ofprocesses exists, such that each process holds at least one resourceneeded by the next process in the chain.Problems6.4 a. 0 0 0 00 7 5 06 6 2 22 0 0 20 3 2 0b. to d. Running the banker's algorithm, we see processes can finishin the order p1, p4, p5, p2, p3.e. Change available to (2,0,0,0) and p3's row of "still needs" to (6,5,2,2).Now p1, p4, p5 can finish, but with available now (4,6,9,8) neitherp2 nor p3's "still needs" can be satisfied. So it is not safe to grantp3's request.6.5 1. W = (2 1 0 0)2. Mark P3; W = (2 1 0 0) + (0 1 2 0) = (2 2 2 0)3. Mark P2; W = (2 2 2 0) + (2 0 0 1) = (4 2 2 1)4. Mark P1; no deadlock detectedReview Questions7.1 Relocation, protection, sharing, logical organization, physicalorganization.7.7 A logical address is a reference to a memory location independent ofthe current assignment of data to memory; a translation must be made to a physical address before the memory access can be achieved. A relative address is a particular example of logical address, in which the address is expressed as a location relative to some known point, usually the beginning of the program. A physical address, or absolute address, is an actual location in main memory.Problems7.6 a. The 40 M block fits into the second hole, with a starting address of80M. The 20M block fits into the first hole, with a starting address of 20M. The 10M block is placed at location 120M.40M 40M 60M 40M 40M 40M 30Mb. The three starting addresses are 230M, 20M, and 160M, for the 40M, 20M, and 10M blocks, respectively. 40M 60M 60M 40M 40M 40M 30Mc. The three starting addresses are 80M, 120M, and 160M, for the 40M,20M, and 10M blocks, respectively. C HAPTER 7M EMORY M ANAGEMENT7.12 a. The number of bytes in the logical address space is (216 pages) (210bytes/page) = 226 bytes. Therefore, 26 bits are required for the logical address.b. A frame is the same size as a page, 210 bytes.c. The number of frames in main memory is (232 bytes of mainmemory)/(210 bytes/frame) = 222 frames. So 22 bits is needed tospecify the frame.d. There is one entry for each page in the logical address space.Therefore there are 216 entries.e. In addition to the valid/invalid bit, 22 bits are needed to specify theframe location in main memory, for a total of 23 bits.30M40M40M60M40M40M40Md. The three starting addresses are 80M, 230M, and 360M, for the 40M,20M, and 10M blocks, respectively.C HAPTER 8V IRTUAL M EMORYReview Questions8.1 Simple paging: all the pages of a process must be in main memory forprocess to run, unless overlays are used. Virtual memory paging: not all pages of a process need be in main memory frames for the process to run.; pages may be read in as needed8.2 A phenomenon in virtual memory schemes, in which the processorspends most of its time swapping pieces rather than executinginstructions.Problems8.1 a. Split binary address into virtual page number and offset; use VPNas index into page table; extract page frame number; concatenateoffset to get physical memory addressb. (i) 1052 = 1024 + 28 maps to VPN 1 in PFN 7, (7 ⨯ 1024+28 = 7196)(ii) 2221 = 2 ⨯ 1024 + 173 maps to VPN 2, page fault(iii) 5499 = 5 ⨯ 1024 + 379 maps to VPN 5 in PFN 0, (0 ⨯ 1024+379 =379)8.4 a. PFN 3 since loaded longest ago at time 20b. PFN 1 since referenced longest ago at time 160c. Clear R in PFN 3 (oldest loaded), clear R in PFN 2 (next oldestloaded), victim PFN is 0 since R=0d. Replace the page in PFN 3 since VPN 3 (in PFN 3) is used furthestin the futuree. There are 6 faults, indicated by **4 0 0 0 *2*4 2*1**3 2VPN of pages in memory in LRU order 32143243434242241241243122Review Questions9.1 Long-term scheduling: The decision to add to the pool of processes tobe executed. Medium-term scheduling: The decision to add to thenumber of processes that are partially or fully in main memory.Short-term scheduling: The decision as to which available process willbe executed by the processor9.3 Turnaround time is the total time that a request spends in the system(waiting time plus service time. Response time is the elapsed timebetween the submission of a request until the response begins toappear as output.Problems9.1 Each square represents one time unit; the number in the square refersto the currently-running process.FCFS A A A B B B B B C C D D D D D E E E E E RR, q = 1 A B A B C A B C B D B D E D E D E D E E RR, q = 4 A A A B B B B C C B D D D D E E E E D E SPN A A A C C B B B B B D D D D D E E E E E SRT A A A C C B B B B B D D D D D E E E E E HRRN A A A B B B B B C C D D D D D E E E E E Feedback, q = 1 A B A C B C A B B D B D E D E D E D E EFeedback, q = 2i A B A A C B B C B B D D E D D E E D E EC HAPTER 9U NIPROCESSORS CHEDULINGA B C D ET a0 1 3 9 12T s 3 5 2 5 5 FCFS T f 3 8 10 15 20T r 3.00 7.00 7.00 6.00 8.00 6.20T r/T s 1.00 1.40 3.50 1.20 1.60 1.74 RR qT f 6.00 11.00 8.00 18.00 20.00= 1T r 6.00 10.00 5.00 9.00 8.00 7.60T r/T s 2.00 2.00 2.50 1.80 1.60 1.98RR qT f 3.00 10.00 9.00 19.00 20.00= 4T r 3.00 9.00 6.00 10.00 8.00 7.20T r/T s 1.00 1.80 3.00 2.00 1.60 1.88 SPN T f 3.00 10.00 5.00 15.00 20.00T r 3.00 9.00 2.00 6.00 8.00 5.60T r/T s 1.00 1.80 1.00 1.20 1.60 1.32SRT T f 3.00 10.00 5.00 15.00 20.00T r 3.00 9.00 2.00 6.00 8.00 5.60T r/T s 1.00 1.80 1.00 1.20 1.60 1.32 HRRT f 3.00 8.00 10.00 15.00 20.00NT r 3.00 7.00 7.00 6.00 8.00 6.20T r/T s 1.00 1.40 3.50 1.20 1.60 1.74FB qT f7.00 11.00 6.00 18.00 20.00= 1T r7.00 10.00 3.00 9.00 8.00 7.40T r/T s 2.33 2.00 1.50 1.80 1.60 1.85 FB T f 4.00 10.00 8.00 18.00 20.00q = 2i T r 4.00 9.00 5.00 9.00 8.00 7.00 T r/T s 1.33 1.80 2.50 1.80 1.60 1.819.16 a. Sequence with which processes will get 1 min of processor time:1 2 3 4 5 Elapsed timeA A A A A A A A A A A A A A BBBBBBBBCCDDDDDEEEEEEEEEEE1015192327303336384042434445The turnaround time for each process:A = 45 min,B = 35 min,C = 13 min,D = 26 min,E = 42 minThe average turnaround time is = (45+35+13+26+42) / 5 = 32.2 min b.Priority Job Turnaround Time3 4 6 7 9 BEACD99 + 12 = 2121 + 15 = 3636 + 3 = 3939 + 6 = 45The average turnaround time is: (9+21+36+39+45) / 5 = 30 min c.Job Turnaround TimeA B C D E 1515 + 9 = 24 24 + 3 = 27 27 + 6 = 33 33 + 12 = 45The average turnaround time is: (15+24+27+33+45) / 5 = 28.8 min d.RunningTimeJob Turnaround Time6 9 12 15 DBEA3 + 6 = 99 + 9 = 1818 + 12 = 3030 + 15 = 45The average turnaround time is: (3+9+18+30+45) / 5 = 21 minC HAPTER 10M ULTIPROCESSOR AND R EAL-T IMES CHEDULINGReview Questions10.1 Fine: Parallelism inherent in a single instruction stream. Medium: Parallelprocessing or multitasking within a single application. Coarse:Multiprocessing of concurrent processes in a multiprogrammingenvironment. Very Coarse: Distributed processing across network nodes toform a single computing environment. Independent: Multiple unrelatedprocesses.10.4 A hard real-time task is one that must meet its deadline; otherwise it willcause undesirable damage or a fatal error to the system. A soft real-timetask has an associated deadline that is desirable but not mandatory; it stillmakes sense to schedule and complete the task even if it has passed itsdeadline.Problems10.1 For fixed priority, we do the case in which the priority is A, B, C. Eachsquare represents five time units; the letter in the square refers to thecurrently-running process. The first row is fixed priority; the secondrow is earliest deadline scheduling using completion deadlines.A AB B A AC C A A B B A A C C A AA AB B AC C A C A A B B A A C C C A AFor fixed priority scheduling, process C always misses its deadline.10.4normal executionexecution in critical sectionT 1T 2T 3s locked by T 3s unlockeds locked by T 1Once T 3 enters its critical section, it is assigned a priority higher than T1. When T3 leaves its critical section, it is preempted by T 1.C HAPTER 11I/O M ANAGEMENT AND D ISK S CHEDULING Review Questions11.1 Programmed I/O: The processor issues an I/O command, on behalf of aprocess, to an I/O module; that process then busy-waits for theoperation to be completed before proceeding. Interrupt-driven I/O:The processor issues an I/O command on behalf of a process,continues to execute subsequent instructions, and is interrupted by the I/O module when the latter has completed its work. The subsequent instructions may be in the same process, if it is not necessary for that process to wait for the completion of the I/O. Otherwise, the process is suspended pending the interrupt and other work is performed. Direct memory access (DMA): A DMA module controls the exchange of data between main memory and an I/O module. The processor sends arequest for the transfer of a block of data to the DMA module and is interrupted only after the entire block has been transferred.11.5 Seek time, rotational delay, access time.Problems11.1 If the calculation time exactly equals the I/O time (which is the mostfavorable situation), both the processor and the peripheral devicerunning simultaneously will take half as long as if they ran separately.Formally, let C be the calculation time for the entire program and let T be the total I/O time required. Then the best possible running timewith buffering is max(C, T), while the running time without buffering is C + T; and of course ((C + T)/2) ≤ max(C, T) ≤ (C + T). Source:[KNUT97].11.3 Disk head is initially moving in the direction of decreasing tracknumber:FIFO SSTF SCAN C-SCANNext track accessed Numberof trackstraversedNexttrackaccessedNumberof trackstraversedNexttrackaccessedNumberof trackstraversedNexttrackaccessedNumberof trackstraversed27 73 110 10 64 36 64 36129 102 120 10 41 23 41 23 110 19 129 9 27 14 27 14 186 76 147 18 10 17 10 17 147 39 186 39 110 100 186 17641 106 64 122 120 10 147 3910 31 41 23 129 9 129 1864 54 27 14 147 18 120 9120 56 10 17 186 39 110 10 Average 61.8 Average 29.1 Average 29.6 Average 38If the disk head is initially moving in the direction of increasing tracknumber, only the SCAN and C-SCAN results change:SCAN C-SCANNext track accessed Numberof trackstraversedNexttrackaccessedNumberof trackstraversed110 10 110 10120 10 120 10129 9 129 9147 18 147 18186 39 186 3964 122 10 17641 23 27 1727 14 41 1410 17 64 23 Average 29.1 Average 35.1Review Questions12.1 A field is the basic element of data containing a single value. A recordis a collection of related fields that can be treated as a unit by some application program.12.5 Pile: Data are collected in the order in which they arrive. Each recordconsists of one burst of data. Sequential file: A fixed format is used for records. All records are of the same length, consisting of the same number of fixed-length fields in a particular order. Because the length and position of each field is known, only the values of fields need to be stored; the field name and length for each field are attributes of the file structure. Indexed sequential file: The indexed sequential file maintains the key characteristic of the sequential file: records are organized in sequence based on a key field. Two features are added; an index to the file to support random access, and an overflow file. The index provides a lookup capability to reach quickly the vicinity of a desired record. The overflow file is similar to the log file used with a sequential file, but is integrated so that records in the overflow file are located by following a pointer from their predecessor record. Indexed file: Records are accessed only through their indexes. The result is that there is now no restriction on the placement of records as long as a pointer in at least one index refers to that record. Furthermore,variable-length records can be employed. Direct, or hashed, file: The direct file makes use of hashing on the key value.Problems12.1 Fixed blocking: F = largest integer B RWhen records of variable length are packed into blocks, data formarking the record boundaries within the block has to be added to separate the records. When spanned records bridge block boundaries, some reference to the successor block is also needed. One possibility is a length indicator preceding each record. Another possibility is a special separator marker between records. In any case, we can assume that each record requires a marker, and we assume that the size of a marker is about equal to the size of a block pointer [WEID87]. For spanned blocking, a block pointer of size P to its successor block may C HAPTER 12F ILE M ANAGEMENTbe included in each block, so that the pieces of a spanned record can easily be retrieved. Then we haveVariable-length spanned blocking: F=B-P R+PWith unspanned variable-length blocking, an average of R/2 will be wasted because of the fitting problem, but no successor pointer is required:Variable-length unspanned blocking: F=B-R2 R+P12.3 a. Indexedb. Indexed sequentialc. Hashed or indexed。
操作系统教程第5版部分习题标准答案
第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)(见图中有色部分)。
操作系统教程第5版部分习题答案
操作系统教程第 5 版部分习题答案第一章:一、3、10、15、23、27、353. 什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10. 试述系统调用与函数(过程)调用之间的区别。
1)调用形式和实现方式不同;操作系统教程第 5 版部分习题答案(2)被调用的代码位置不同;(3)提供方式不同15. 什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业 (程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU内存和设备的利用率;( 2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;( 3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。
23. 现代操作系统具有哪些基本功能?请简单叙述之。
( 1 )处理器管理;( 2)存储管理;( 3)设备管理;操作系统教程第 5 版部分习题答案(4)文件管理;(5)联网与通信管理。
27. 什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35. 简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是xx 和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
操作系统第五版1-12章课后题中文答案
复习题:1.1、列出并简要地定义计算机的四个主要组成部分。
答:主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2、定义处理器寄存器的两种主要类别。
答:用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3、一般而言,一条机器指令能指定的四种不同操作是什么?答:这些动作分为四类:处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理,处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4、什么是中断?答:中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5、多中断的处理方式是什么?答:处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6、内存层次的各个元素间的特征是什么?答:存储器的三个重要特性是:价格,容量和访问时间。
1.7、什么是高速缓冲存储器?答:高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8、列出并简要地定义I/O操作的三种技术。
答:可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的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 , 试画出各程序状态转换的时间关系图。
操作系统第五版1-12章课后题中文答案
复习题:1.1、列出并简要地定义计算机的四个主要组成部分。
答:主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2、定义处理器寄存器的两种主要类别。
答:用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3、一般而言,一条机器指令能指定的四种不同操作是什么?答:这些动作分为四类:处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理,处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4、什么是中断?答:中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5、多中断的处理方式是什么?答:处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6、内存层次的各个元素间的特征是什么?答:存储器的三个重要特性是:价格,容量和访问时间。
1.7、什么是高速缓冲存储器?答:高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8、列出并简要地定义I/O操作的三种技术。
答:可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的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 , 试画出各程序状态转换的时间关系图。
操作系统精髓与设计原理第五版课后题答案Word
操作系统精髓与设计原理第五版课后题答案WordC HAPTER 2O PERATING S YSTEM O VERVIEWReview Questions2.1 Convenience:An operating system makes a computer more convenient touse. Efficiency: An operating system allows the computer systemresources to be used in an efficient manner. Ability to evolve: An operating system should be constructed in such a way as to permit the effective development, testing, and introduction of new systemfunctions without interfering with service.2.5 The execution context, or process state,is the internal data by whichthe operating system is able to supervise and control the process.This internal information is separated from the process, because the operating system has information not permitted to the process. The context includes all of the information that the operating system needs to manage the process and that the processor needs to execute the process properly. The context includes the contents of the various processor registers, such as the program counter and data registers.It also includes information of use to the operating system, such as the priority of the process and whether the process is waiting for the completion of a particular I/O event.Problems2.1 The answers are the same for (a) and (b). Assume that althoughprocessor operations cannot overlap, I/O operations can.1 Job: TAT = NT Processor utilization = 50%2 Jobs: TAT = NT Processor utilization = 100%4 Jobs: TAT = (2N – 1)NT Processor utilization = 100% 2.4A system call is used by an application program to invoke a functionprovided by the operating system. Typically, the system call results in transfer to a system program that runs in kernel mode.C HAPTER 3P ROCESS D ESCRIPTION AND C ONTROLReview Questions3.5 Swapping involves moving part or all of a process from main memoryto disk. When none of the processes in main memory is in the Ready state, the operating system swaps one of the blocked processes out onto disk into a suspend queue, so that another process may be brought into main memory to execute.3.10 The user mode has restrictions on the instructions that can beexecuted and the memory areas that can be accessed. This is to protect the operating system from damage or alteration. In kernel mode, the operating system does not have these restrictions, so that it can perform its tasks.Problems3.1?Creation and deletion of both user and system processes. Theprocesses in the system can execute concurrently for information sharing, computation speedup, modularity, and convenience.Concurrent execution requires a mechanism for process creation and deletion. The required resources are given to the process when it is created, or allocated to it while it is running. When the process terminates, the OS needs to reclaim any reusable resources.Suspension and resumption of processes.In process scheduling, the OS needs to change the process's state to waiting or ready state when it is waiting for some resources. When the required resources are available, OS needs to change its state to running state to resume its execution.Provision of me chanism for process synchronization. Cooperating processes may share data. Concurrent access to shared data mayresult in data inconsistency. OS has to provide mechanisms forprocesses synchronization to ensure the orderly execution ofcooperating processes, so that data consistency is maintained.Provision of mechanism for process communication. The processes executing under the OS may be either independent processes orcooperating processes. Cooperating processes must have the means to communicate with each other.Provision of mechanisms for deadlock handling. In amultiprogramming environment, several processes may compete for a finite number of resources. If a deadlock occurs, all waitingprocesses will never change their waiting state to running state again, resources are wasted and jobs will never be completed.3.3Figure 9.3 shows the result for a single blocked queue. The figurereadily generalizes to multiple blocked queues.P ROCESS D ESCRIPTION AND C ONTROLReview Questions4.2 Less state information is involved.4.5 Address space, file resources, execution privileges are examples.4.61. Thread switching does not require kernel mode privileges becauseall of the thread management data structures are within the user address space of a single process. Therefore, the process does not switch to the kernel mode to do thread management. This saves the overhead of two mode switches (user to kernel; kernel back to user).2. Scheduling can be application specific. One application maybenefit most from a simple round-robin scheduling algorithm, while another might benefit from a priority-based scheduling algorithm. The scheduling algorithm can be tailored to the application without disturbing the underlying OS scheduler. 3. ULTs can run on anyoperating system. No changes are required to the underlying kernel to support ULTs. The threads library is a set of application-level utilities shared by all applications.4.71.In a typical operating system, many system calls are blocking. Thus,when a ULT executes a system call, not only is that thread blocked, but also all of the threads within the process are blocked.2. In a pure ULT strategy, a multithreaded application cannot take advantage of multiprocessing. A kernel assigns one process to only one processor at a time. Therefore, only a single thread within a process can execute at a time.Problems4.2Because, with ULTs, the thread structure of a process is not visibleto the operating system, which only schedules on the basis ofprocesses.C ONCURRENCY:M UTUAL E XCLUSION ANDS YNCHRONIZATIONReview Questions5.1Communication among processes, sharing of and competing for resources,synchronization of the activities of multiple processes, andallocation of processor time to processes.5.9 A binary semaphore may only take on the values 0 and 1. A generalsemaphore may take on any integer value.Problems5.2ABCDE; ABDCE; ABDEC; ADBCE; ADBEC; ADEBC;DEABC; DAEBC; DABEC; DABCE5.5Consider the case in which turn equals 0 and P(1) sets blocked[1] totrue and then finds blocked[0] set to false. P(0) will then set blocked[0] to true, find turn = 0, and enter its critical section. P(1) will then assign 1 to turn and will also enter its critical section.C ONCURRENCY:D EADLOCK AND S TARVATION Review Questions6.2 Mutual exclusion.Only one process may use a resource at a time. Holdand wait. A process may hold allocated resources while awaiting assignment of others. No preemption. No resource can be forcibly removed from a process holding it.6.3 The above three conditions, plus: Circular wait. A closed chain ofprocesses exists, such that each process holds at least one resource needed by the next process in the chain.Problems6.4 a.0 0 0 00 7 5 06 6 2 22 0 0 20 3 2 0b. to d.Running the banker's algorithm, we see processes can finishin the order p1, p4, p5, p2, p3.e. Change available to (2,0,0,0) and p3's row of "still needs" to(6,5,2,2). Now p1, p4, p5 can finish, but with available now(4,6,9,8) neither p2 nor p3's "still needs" can be satisfied. Soit is not safe to grant p3's request.6.51. W = (2 1 0 0)2. Mark P3; W = (2 1 0 0) + (0 1 2 0) = (2 2 2 0)3. Mark P2; W = (2 2 2 0) + (2 0 0 1) = (4 2 2 1)4. Mark P1; no deadlock detectedReview Questions7.1 Relocation, protection, sharing, logical organization, physicalorganization.7.7 A logical address is a reference to a memory location independent ofthe current assignment of data to memory; a translation must be made to a physical address before the memory access can be achieved. A relative address is a particular example of logical address, in which the address is expressed as a location relative to some known point, usually the beginning of the program. A physical address , or absolute address, is an actual location in main memory.Problems7.6 a. The 40 M block fits into the second hole, with a starting addressof 80M. The 20M block fits into the first hole, with a starting address of 20M. The 10M block is placed at location 120M.40M 40M 60M 40M 40M 40M30Mb. The three starting addresses are 230M, 20M, and 160M, for the 40M, 20M, and 10M blocks, respectively. 40M 60M 60M 40M 40M 40M30Mc. The three starting addresses are 80M, 120M, and 160M, for the 40M,20M, and 10M blocks, respectively.M EMORY M ANAGEMENT7.12 a. The number of bytes in the logical address space is (216 pages)(210 bytes/page) = 226 bytes. Therefore, 26 bits are required for the logical address.b. A frame is the same size as a page, 210 bytes.c. The number of frames in main memory is (232 bytes of mainmemory)/(210 bytes/frame) = 222 frames. So 22 bits is needed tospecify the frame.d. There is one entry for each page in the logical address space.Therefore there are 216 entries.e. In addition to the valid/invalid bit, 22 bits are needed to specifythe frame location in main memory, for a total of 23 bits.30M40M40M60M40M40M40Md. The three starting addresses are 80M, 230M, and 360M, for the 40M,20M, and 10M blocks, respectively.C HAPTER 8V IRTUAL M EMORYReview Questions8.1Simple paging: all the pages of a process must be in main memory forprocess to run, unless overlays are used. Virtual memory paging:not all pages of a process need be in main memory frames for the process to run.; pages may be read in as needed8.2A phenomenon in virtual memory schemes, in which the processor spendsmost of its time swapping pieces rather than executing instructions.Problems8.1 a. Split binary address into virtual page number and offset; use VPNas index into page table; extract page frame number; concatenateoffset to get physical memory addressb.(i) 1052 = 1024 + 28 maps to VPN 1 in PFN 7, (7 1024+28 =7196)(ii) 2221 = 2 1024 + 173 maps to VPN 2, page fault(iii)5499 = 5 1024 + 379 maps to VPN 5 in PFN 0, (0 1024+379= 379)8.4 a. PFN 3 since loaded longest ago at time 20b. PFN 1 since referenced longest ago at time 160c. Clear R in PFN 3 (oldest loaded), clear R in PFN 2 (next oldestloaded), victim PFN is 0 since R=0d. Replace the page in PFN 3 since VPN 3 (in PFN 3) is used furthestin the futuree. There are 6 faults, indicated by **4000*2*42*1**32VPN of pages in memory in LRU order 3 2143243434242241241243122。
操作系统教程第5版部分习题答案
第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。
(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。
从宏观上看是并行的,从微观上看是串行的。
(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。
23.现代操作系统具有哪些基本功能?请简单叙述之。
(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。
27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。
35.简述操作系统资源管理的资源复用技术。
系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。
(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。
.二、2、52、答:画出两道程序并发执行图如下:(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部分)。
操作系统第五版费祥林_课后习题答案解析参考
第一章操作系统概论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 , 试画出各程序状态转换得时间关系图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统第五版费祥林-课后习题答案参考第二章处理器管理1.下列指令中哪些只能在核心态运行?(l)读时钟日期;(2)访管指令;(3)设时钟日期;(4)加载PSW; (5)置特殊寄存器:(6)改变存储器映象图;(7)启动I/O指令。
答:( 3 ) , ( 4 ) , ( 5 ) , ( 6 ) , ( 7 ) .2 假设有一种低级调度算法是让“最近使用处理器较少的进程”运行,试解释这种算法对“I/O 繁重”型作业有利,但并不是永远不受理“处理器繁重”型作业。
答:因为I/O繁忙型作业忙于I/O,所以它CPU 用得少,按调度策略能优先执行。
同样原因一个进程等待CPU 足够久时,由于它是“最近使用处理器较少的进程”,就能被优先调度,故不会饥饿。
3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制约关系:(1)踢足球,(2)吃自助餐,(3)图书馆借书,(4)电视机生产流水线工序。
答:并发进程之间的基本相互制约关系有互斥和同步两种。
其中(1)、(3)为互斥问题.(2)、(4)为同步问题。
4 在按动态优先数调度进程的系统中,每个进程的优先数需定时重新计算。
在处理器不断地在进程之间交替的情况下,重新计算进程优先数的时间从何而来?答:许多操作系统重新计算进程的优先数在时钟中断处理例程中进行,由于中断是随机碰到哪个进程,就插入哪个进程中运行处理程序,并把处理时间记在这个进程的账上。
5 若后备作业队列中等待运行的同时有三个作业J1 、J2、J3 ,已知它们各自的运行时间为a 、b 、c,且满足a < b <c,试证明采用短作业优先算法调度能获得最小平均作业周转时间。
答:采用短作业优先算法调度时,三个作业的总周转时间为:Tl = = a + ( a +b ) + ( a + b + c ) = 3a + 2b + c ①若不按短作业优先算法调度,不失一般性,设调度次序为:J2 、J1 、J3 。
则三个作业的总周转时间为:T2=b+(b+a ) +(b+a + c ) = 3b + 2a + c ②令②-①式得到:T2 - Tl = b- a> 0可见,采用短作业优先算法调度才能获得最小平均作业周转时间。
6、若有一组作业J1 ,…,Jn ,其执行时间依次为S1 ,… , Sn 。
如果这些作业同时到试找出一种作业调度算法到达系统,并在一台单CPU 处理器上按单道方式执行。
使得平均作业周转时间最短。
答:首先,对n 个作业按执行时间从小到大重新进行排序,则对n 个作业:J1 ' ,…,Jn , 创门的运行时间满足:S1≤S2 ≤……≤S (n-l ) ≤ Sn ’。
那么有:由于任何调度方式下,S1' + S2' + S3'+…+Sn’为一个确定的数,而当S1 ’≤S2 ’≤…≤ S( n - 1 ) ’≤Sn ’时才有:0*S1+1*S2+2*S3+…(n-1)Sn 的值最大,也就是说,此时T 值最小。
所以,按短作业优先调度算法调度时,使得平均作业周转时间最短。
7、假定执行表中所列作业,作业号即为到达顺序,依次在时刻0 按次序1 、2 、3 、4 、5 进入单处理器系统。
(1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小); (2)计算每种情况下作业的平均周转时间和平均带权周转时间。
( 1 )采用FCFS 算法调度作业,运作情况:( 2 )采用双算法调度作业,若令时间片长=l ,各作业执行情况为:1 、2 、3 、4 、5 、l 、3 、5 、1 、5 、1 、5 、1 、5 、1 、l 、l 、1 、1 。
( 3 )采用SJF 算法调度作业,运作情况:( 4 )采用非剥夺优先权算法调度作业,运作情况:8 对某系统进行监测后表明平均每个进程在I/O 阻塞之前的运行时间为T 。
一次进程‘切换的系统开销时间为S 。
若采用时间片长度为Q 的时间片轮转法,对下列各种情况算出CPU 利用率。
9 有5 个待运行的作业,各自预计运行时间分别是:9 、6 、3 、5 和x ,采用哪种运行次序使得平均响应时间最短?答:按照最短作业优先的算法可以使平均响应时间最短。
x 取值不定,按照以下情况讨论:10.有5 个批处理作业A 到E 均己到达计算中心,其运行时间分别2 、4 、6 、8 和10 分钟:各自的优先级分跳狠掀完为、、飞、飞、氏积5 、这里5 为最高级。
对于1) 时间片轮转算法、2)优先数法、3)短作业优先算法、4)先来先服务调度算法(按到达次序C 、D 、B 、E 、A) ,在忽略进程切换时间的前提下,计算出平均作业周转时间。
(对l)每个作业获得相同的2 分钟长的时间片;对2)到4)采用单道运行,直到结束。
)答:( l ) FCFS 调度算法( 2 )优先级调度算法( 3 )时间片轮转法按次序ABCDEBCDECDEDEE 轮转执行。
( 4 ) SJF调度算法11、有5 个批处理作业A 到E 均已到达计算中心,其运行时间分别10 、6 、2 、4 和8 分钟;各自的优先级分别被规定为3 、5 、2 、1 和4 ,这里5 为最高级。
若不考虑系统切换开销,计算出平均作业周转时间。
(1) FCFs (按A 、B 、C 、D 、E ) ; (2) 优先级调度算法,(3)时间片轮转法(每个作业获得相同的2 分钟长的时间片)。
答:( 1 ) FCFS 调度算法( 2 )优先级调度算法( 3 )时间片轮转法按次序ABCDEABDEABEAEA 轮转执行。
12 (l )假定一个处理器正在执行两道作业,一道以计算为主,另一道以输入输出为主,你将怎样赋予它们占有处理器的优先级?为什么?(2)假定一个处理器正在执行三道作业,一道以计算为主,第二道以输入输出为主,第三道为计算与输入输出均匀。
应该如何赋予它们占有处理器的优先级使得系统效率较高?答:处理器调度算法会考虑以下因素:作业响应时间要求;让CPU 尽量和外围设备并行工作;限制一个计算进程长时间霸占处理器。
因而,( 1 ) FO 为主作业优先级高。
(2 ) 输入输出为主作业优先级最高,输入输出均匀的作业其次,而计算为主作业的优先级最低。
作业执行时间 等待时间 周转时间 带权周转时间 A B C D E10 6 2 4 820 l6 4 l2 2030 22 6 16 2833 .66 34 3. 5作业平均周转时间作业平均带权周转时间 T = ( 30 + 22 + 6 + 16 + 28 ) / 5 = 20.4 W = ( 3 + 3.66 + 3 +4 + 3.5 ) / 5 = 3.4313 请你设计一种先进的计算机体系结构,它使用硬件而不是中断来完成进程切换,则CPU 需要哪些信息?请描述用硬件完成进程切换的工作过程。
答:该计算机有一个专用硬件寄存器,它始终存放指向当前运行进程的PCB 的指针。
当系统中发生了一个事件,如FO 结束事件,CPU 便可把运行进程的上下文保存到专用硬件寄存器指针指向的PCB 中保护起来,然后,CPU 转向中断向量表,找到设备中断处理程序入口,让专用硬件寄存器指针指向(设备)中断服务例程,于是,便可启动中断服务例程工作。
14 设计一条机器指令和一种与信号量机制不同的算法,使得并发进程对共享变量的使用不会出现与时间有关的错误。
解:( l )设计机器指令。
设计一条如下的”测试、比较和交换”三地址指令,提供了一种硬件互斥解决方案: TC&SR1 R3 B2 D2该指令的功能如下:l ) C 为一个共享变量,由地址2 、即变址(B2 ) + D2 给出,(2 )(Rl )与(C )比较,(3 )如果(Rl ) = ( C )则(R3)→C ,并置条件码为"00" ,如果(R1 )≠(c )则(C )→Rl ,并置条件码为"01 " .( 2 )编写进程访问共享变量的程序。
对每个访问共享变量C 的进程,编写访问共享变量的程序段为:陆界区程序 说明( C )→Rl ; loop2 : ( R1 ) → R3 ; Add /decrease R3 ; TC & S ; R( condition = 01 ) loop2 ; 共享变量C 的值保护到RI 中。
Rl 的值传送到R3 中,进程修改共享变量时,先对R3 操作(不是直接操作C )。
R3 加1 /减1 ,进程归还/申请由共享变量C 代表的共享资源(假定每次一个)。
执行”测试、比较和交换”指令。
条件码=01 ,转向循环loop2 ;否则离开临界区。
( 3 )程序执行说明。
此解与互斥使用共享变量的思路绝然不同,并发运行的进程可不互斥地访问它们的共享变量。
此方案认为造成共享变量C 值错误的原因在于:一个进程(Pl )在改变C 值的过程中,另一个进程伊2 )插进来也改变了C 的值,而本进程(Pl)却不知道,造成了c 值结果不正确。
如果有办法使本进程口1 )能知道C 值是否改变,改变的话在继承改变了的C 值的基础上,再作自己的改变操作,则就不会导致共享变量C 值的错误。
为此,本解决方案中,当一个进程l)准备改变C 值时,先把C 的值保护在Rl 中,然后,通过R3 来改变共享变量C 的值。
当要把新的值(即R3 内的值)送C之前,先要判断一下在本进程(P1 )工作期间是否有别的进程口2 )插进来也改变了C 的值(并发进程P1 、P2 的执行完全会造成这种情况),方法是:将扭1 )中被保护的C 的原来值,与C 的当前值比较,若相等,说明C 值未被改变过,则将本进程(Pl )修改过的新值送C (即(R3 ) 一C ) ;若不相等,说明C 值在工作期间被改变过,则应该继承C 的新值(即(C )一Rl )并且返回到loop2 处重新对C值计数,以此保证C值的最终结果的正确性。
这里提及”进程工作期间”指的是一个进程从开始至结束对共享变量C 值的操作的这段时间,也就是执行进程,' I 晦界区”这段程序的时间。
此外,在进程进入临界区之前,应等待直到C 为非。
(即有资源可用)为止。
( 4 )举例。
假定系统中有静态分配资源磁带机共3 台,被N 个进程共享,由共享变量C 来代表可用磁带机台数,其初值为3 。
现有并发进程P1 和P2 均申请使用磁带机,执行临界区程序。
进程Pl 执行临界区程序( C )→R1 ;因(C)=3 ,故(R1) = 3 。
loop2: ( Rl )→R3 因(R1 ) = 3 ,故(R3 )当前也=3 。
decrease R3 :申请使用磁带机,做减1 操作,故(R3 )=2.TC & S 执行”测试、比较和交换,, TC & S 指令。