操作系统课后习题答案 8-9
(完整版)自考02326操作系统(2018版)课后习题答案
第一章操作系统概论1.什么是操作系统?请说明操作系统在计算机系统中的作用和地位。
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能够有效地组织和管理计算机中的硬件和软件资源,合理地控制计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。
2.操作系统管理计算机系统的哪些资源?硬件和软件资源。
3.请从资源管理角度说明操作系统的主要功能。
进程管理(处理器管理)、存储管理、文件管理、作业管理、设备管理4.操作系统有哪些基本特征?并发性:计算机系统中同时存在若干个正在运行着的程序;共享性:操作系统程序和多个用户程序共享系统中的各种资源随机性:操作系统的运行是在一种随机的环境下进行的5.比较Windows、UNIX、Linux操作系统的体系结构,有什么异同?Windows体系结构是分成的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子系统集合;UNIX操作系统的系统架构图,其最里层是硬件,作为整个系统的基础;其次是操作系统内核,包括进程管理、存储器管理、设备管理和文件管理四个资源管理功能;往外一层是系统调用接口,及操作系统与用户的接口shell以及编译程序等;最外层是应用程序Linux系统有四个主要部分,及内核、shell、文件系统和用户程序。
6.Android操作系统有什么特点?Android操作系统分为四层,从高层到低层分别是应用程序层、应用框架层、系统运行库层和Linux内核层。
以Linux为核心的手机操作平台,是一款开放式操作系统7.手机操作系统通常提供哪些功能?8.请叙述各种类型操作系统的工作方式及特点。
一般把操作系统分为三种基本类型,即批处理操作系统、分时系统和实时系统(1)批处理操作系统批处理操作系统分为简单批处理系统和多道批处理系统两种类型。
用户将作业交给系统操作员,系统操作员在收到作业后并不立即将作业输入计算机,而是在收到一定数量的作业后,组成一批作业,再把这批作业输入到计算机中。
《计算机操作系统教程》第三版答案
第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
操作系统第九版部分课后作业习题答案解析
CHAPTER 9 Virtual Memory Practice Exercises9.1 Under what circumstances do page faults occur? Describe the actions taken by the operating system when a page fault occurs.Answer:A page fault occurs when an access to a page that has not beenbrought into main memory takes place. The operating system verifiesthe memory access, aborting the program if it is invalid. If it is valid, a free frame is located and I/O is requested to read the needed page into the free frame. Upon completion of I/O, the process table and page table are updated and the instruction is restarted.9.2 Assume that you have a page-reference string for a process with m frames (initially all empty). The page-reference string has length p;n distinct page numbers occur in it. Answer these questions for any page-replacement algorithms:a. What is a lower bound on the number of page faults?b. What is an upper bound on the number of page faults?Answer:a. nb. p9.3 Consider the page table shown in Figure 9.30 for a system with 12-bit virtual and physical addresses and with 256-byte pages. The list of freepage frames is D, E, F (that is, D is at the head of the list, E is second, and F is last).Convert the following virtual addresses to their equivalent physical addresses in hexadecimal. All numbers are given in hexadecimal. (A dash for a page frame indicates that the page is not in memory.)• 9EF• 1112930 Chapter 9 Virtual Memory• 700• 0FFAnswer:• 9E F - 0E F• 111 - 211• 700 - D00• 0F F - EFF9.4 Consider the following page-replacement algorithms. Rank these algorithms on a five-point scale from “bad” to “perfect” according to their page-fault rate. Separate those algorithms that suffer from Belady’s anomaly from those that do not.a. LRU replacementb. FIFO replacementc. Optimal replacementd. Second-chance replacementAnswer:Rank Algorithm Suffer from Belady’s anomaly1 Optimal no2 LRU no3 Second-chance yes4 FIFO yes9.5 Discuss the hardware support required to support demand paging. Answer:For every memory-access operation, the page table needs to be consulted to check whether the corresponding page is resident or not and whether the program has read or write privileges for accessing the page. These checks have to be performed in hardware. A TLB could serve as a cache and improve the performance of the lookup operation.9.6 An operating system supports a paged virtual memory, using a central processor with a cycle time of 1 microsecond. It costs an additional 1 microsecond to access a page other than the current one. Pages have 1000 words, and the paging device is a drum that rotates at 3000 revolutions per minute and transfers 1 million words per second. The following statistical measurements were obtained from the system:• 1 percent of all instructions executed accessed a page other than the current page.•Of the instructions that accessed another page, 80 percent accesseda page already in memory.Practice Exercises 31•When a new page was required, the replaced page was modified 50 percent of the time.Calculate the effective instruction time on this system, assuming that the system is running one process only and that the processor is idle during drum transfers.Answer:effective access time = 0.99 × (1 sec + 0.008 × (2 sec)+ 0.002 × (10,000 sec + 1,000 sec)+ 0.001 × (10,000 sec + 1,000 sec)= (0.99 + 0.016 + 22.0 + 11.0) sec= 34.0 sec9.7 Consider the two-dimensional array A:int A[][] = new int[100][100];where A[0][0] is at location 200 in a paged memory system with pages of size 200. A small process that manipulates the matrix resides in page 0 (locations 0 to 199). Thus, every instruction fetch will be from page 0. For three page frames, how many page faults are generated bythe following array-initialization loops, using LRU replacement andassuming that page frame 1 contains the process and the other twoare initially empty?a. for (int j = 0; j < 100; j++)for (int i = 0; i < 100; i++)A[i][j] = 0;b. for (int i = 0; i < 100; i++)for (int j = 0; j < 100; j++)A[i][j] = 0;Answer:a. 5,000b. 509.8 Consider the following page reference string:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.How many page faults would occur for the following replacement algorithms, assuming one, two, three, four, five, six, or seven frames? Remember all frames are initially empty, so your first unique pages will all cost one fault each.•LRU replacement• FIFO replacement•Optimal replacement32 Chapter 9 Virtual MemoryAnswer:Number of frames LRU FIFO Optimal1 20 20 202 18 18 153 15 16 114 10 14 85 8 10 76 7 10 77 77 79.9 Suppose that you want to use a paging algorithm that requires a referencebit (such as second-chance replacement or working-set model), butthe hardware does not provide one. Sketch how you could simulate a reference bit even if one were not provided by the hardware, or explain why it is not possible to do so. If it is possible, calculate what the cost would be.Answer:You can use the valid/invalid bit supported in hardware to simulate the reference bit. Initially set the bit to invalid. O n first reference a trap to the operating system is generated. The operating system will set a software bit to 1 and reset the valid/invalid bit to valid.9.10 You have devised a new page-replacement algorithm that you thinkmaybe optimal. In some contorte d test cases, Belady’s anomaly occurs. Is the new algorithm optimal? Explain your answer.Answer:No. An optimal algorithm will not suffer from Belady’s anomaly because —by definition—an optimal algorithm replaces the page that will notbe used for the long est time. Belady’s anomaly occurs when a pagereplacement algorithm evicts a page that will be needed in the immediatefuture. An optimal algorithm would not have selected such a page.9.11 Segmentation is similar to paging but uses variable-sized“pages.”Definetwo segment-replacement algorithms based on FIFO and LRU pagereplacement schemes. Remember that since segments are not the samesize, the segment that is chosen to be replaced may not be big enoughto leave enough consecutive locations for the needed segment. Consider strategies for systems where segments cannot be relocated, and thosefor systems where they can.Answer:a. FIFO. Find the first segment large enough to accommodate the incoming segment. If relocation is not possible and no one segmentis large enough, select a combination of segments whose memoriesare contiguous, which are “closest to the first of the list” andwhich can accommodate the new segment. If relocation is possible, rearrange the memory so that the firstNsegments large enough forthe incoming segment are contiguous in memory. Add any leftover space to the free-space list in both cases.Practice Exercises 33b. LRU. Select the segment that has not been used for the longestperiod of time and that is large enough, adding any leftover spaceto the free space list. If no one segment is large enough, selecta combination of the “oldest” segments that are contiguous inmemory (if relocation is not available) and that are large enough.If relocation is available, rearrange the oldest N segments to be contiguous in memory and replace those with the new segment.9.12 Consider a demand-paged computer system where the degree of multiprogramming is currently fixed at four. The system was recently measured to determine utilization of CPU and the paging disk. The results are one of the following alternatives. For each case, what is happening? Can the degree of multiprogramming be increased to increase the CPU utilization? Is the paging helping?a. CPU utilization 13 percent; disk utilization 97 percentb. CPU utilization 87 percent; disk utilization 3 percentc. CPU utilization 13 percent; disk utilization 3 percentAnswer:a. Thrashing is occurring.b. CPU utilization is sufficiently high to leave things alone, and increase degree of multiprogramming.c. Increase the degree of multiprogramming.9.13 We have an operating system for a machine that uses base and limit registers, but we have modified the ma chine to provide a page table.Can the page tables be set up to simulate base and limit registers? How can they be, or why can they not be?Answer:The page table can be set up to simulate base and limit registers provided that the memory is allocated in fixed-size segments. In this way, the base of a segment can be entered into the page table and the valid/invalid bit used to indicate that portion of the segment as resident in the memory. There will be some problem with internal fragmentation.9.27.Consider a demand-paging system with the following time-measured utilizations:CPU utilization 20%Paging disk 97.7%Other I/O devices 5%Which (if any) of the following will (probably) improve CPU utilization? Explain your answer.a. Install a faster CPU.b. Install a bigger paging disk.c. Increase the degree of multiprogramming.d. Decrease the degree of multiprogramming.e. Install more main memory.f. Install a faster hard disk or multiple controllers with multiple hard disks.g. Add prepaging to the page fetch algorithms.h. Increase the page size.Answer: The system obviously is spending most of its time paging, indicating over-allocationof memory. If the level of multiprogramming is reduced resident processeswould page fault less frequently and the CPU utilization would improve. Another way toimprove performance would be to get more physical memory or a faster paging drum.a. Get a faster CPU—No.b. Get a bigger paging drum—No.c. Increase the degree of multiprogramming—No.d. Decrease the degree of multiprogramming—Yes.e. Install more main memory—Likely to improve CPU utilization as more pages canremain resident and not require paging to or from the disks.f. Install a faster hard disk, or multiple controllers with multiple hard disks—Also animprovement, for as the disk bottleneck is removed by faster response and morethroughput to the disks, the CPU will get more data more quickly.g. Add prepaging to the page fetch algorithms—Again, the CPU will get more datafaster, so it will be more in use. This is only the case if the paging action is amenableto prefetching (i.e., some of the access is sequential).h. Increase the page size—Increasing the page size will result in fewer page faults ifdata is being accessed sequentially. If data access is more or less random, morepaging action could ensue because fewer pages can be kept in memory and moredata is transferred per page fault. So this change is as likely to decrease utilizationas it is to increase it.10.1、Is disk scheduling, other than FCFS scheduling, useful in asingle-userenvironment? Explain your answer.Answer: In a single-user environment, the I/O queue usually is empty. Requests generally arrive from a single process for one block or for a sequence of consecutive blocks. In these cases, FCFS is an economical method of disk scheduling. But LOOK is nearly as easy to program and will give much better performance when multiple processes are performing concurrent I/O, such as when aWeb browser retrieves data in the background while the operating system is paging and another application is active in the foreground.10.2.Explain why SSTF scheduling tends to favor middle cylindersover theinnermost and outermost cylinders.The center of the disk is the location having the smallest average distance to all other tracks.Thus the disk head tends to move away from the edges of the disk.Here is another way to think of it.The current location of the head divides the cylinders into two groups.If the head is not in the center of the disk and a new request arrives,the new request is more likely to be in the group that includes the center of the disk;thus,the head is more likely to move in that direction.10.11、Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currently serving a request at cylinder 143, and the previous request was at cylinder 125. The queue of pending requests, in FIFO order, is86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130Starting from the current head position, what is the total distance (in cylinders) that the disk arm moves to satisfy all the pending requests, for each of the following disk-scheduling algorithms?a. FCFSb. SSTFc. SCANd. LOOKe. C-SCANAnswer:a. The FCFS schedule is 143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130. The total seek distance is 7081.b. The SSTF schedule is 143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774. The total seek distance is 1745.c. The SCAN schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86. The total seek distance is 9769.d. The LOOK schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 130, 86. The total seek distance is 3319.e. The C-SCAN schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 86, 130. The total seek distance is 9813.f. (Bonus.) The C-LOOK schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 86, 130. The total seek distance is 3363.12CHAPTERFile-SystemImplementationPractice Exercises12.1 Consider a file currently consisting of 100 blocks. Assume that the filecontrol block (and the index block, in the case of indexed allocation)is already in memory. Calculate how many disk I/O operations are required for contiguous, linked, and indexed (single-level) allocation strategies, if, for one block, the following conditions hold. In the contiguous-allocation case, assume that there is no room to grow atthe beginning but there is room to grow at the end. Also assume thatthe block information to be added is stored in memory.a. The block is added at the beginning.b. The block is added in the middle.c. The block is added at the end.d. The block is removed from the beginning.e. The block is removed from the middle.f. The block is removed from the end.Answer:The results are:Contiguous Linked Indexeda. 201 1 1b. 101 52 1c. 1 3 1d. 198 1 0e. 98 52 0f. 0 100 012.2 What problems could occur if a system allowed a file system to be mounted simultaneously at more than one location?Answer:4344 Chapter 12 File-System ImplementationThere would be multiple paths to the same file, which could confuse users or encourage mistakes (deleting a file with one path deletes thefile in all the other paths).12.3 Why must the bit map for file allocation be kept on mass storage, ratherthan in main memory?Answer:In case of system crash (memory failure) the free-space list would notbe lost as it would be if the bit map had been stored in main memory.12.4 Consider a system that supports the strategies of contiguous, linked, and indexed allocation. What criteria should be used in deciding which strategy is best utilized for a particular file?Answer:•Contiguous—if file is usually accessed sequentially, if file isrelatively small.•Linked—if file is large and usually accessed sequentially.• Indexed—if file is large and usually accessed randomly.12.5 One problem with contiguous allocation is that the user must preallocate enough space for each file. If the file grows to be larger than thespace allocated for it, special actions must be taken. One solution to this problem is to define a file structure consisting of an initial contiguous area (of a specified size). If this area is filled, the operating system automatically defines an overflow area that is linked to the initialc ontiguous area. If the overflow area is filled, another overflow areais allocated. Compare this implementation of a file with the standard contiguous and linked implementations.Answer:This method requires more overhead then the standard contiguousallocation. It requires less overheadthan the standard linked allocation. 12.6 How do caches help improve performance? Why do systems not use more or larger caches if they are so useful?Answer:Caches allow components of differing speeds to communicate moreefficie ntly by storing data from the slower device, temporarily, ina faster device (the cache). Caches are, almost by definition, more expensive than the device they are caching for, so increasing the number or size of caches would increase system cost.12.7 Why is it advantageous for the user for an operating system to dynamically allocate its internal tables? What are the penalties to the operating system for doing so?Answer:Dynamic tables allow more flexibility in system use growth — tablesare never exceeded, avoiding artificial use limits. Unfortunately, kernel structures and code are more complicated, so there is more potentialfor bugs. The use of one resource can take away more system resources (by growing to accommodate the requests) than with static tables.Practice Exercises 4512.8 Explain how the VFS layer allows an operating system to support multiple types of file systems easily.Answer:VFS introduces a layer of indirection in the file system implementation. In many ways, it is similar to object-oriented programming techniques. System calls can be made generically (independent of file system type). Each file system type provides its function calls and data structuresto the VFS layer. A system call is translated into the proper specific functions for the ta rget file system at the VFS layer. The calling program has no file-system-specific code, and the upper levels of the system call structures likewise are file system-independent. The translation at the VFS layer turns these generic calls into file-system-specific operations.。
《Linux操作系统(第2版) )》课后习题答案
《Linux操作系统(第2版)》课后习题答案练习题一、选择题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的内核版本是 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系统支持的文件类型有哪些练习题一、选择题1. C 命令能用来查找在文件TESTFILE中包含四个字符的行A. grep’’TESTFILEB. grep’….’TESTFILEC. grep’^$’TESTFILED. grep’^….$’TESTFILE—2. B 命令用来显示/home及其子目录下的文件名。
操作系统第五版答案第8章复习题及习题解答
虚拟内存8.1 简单分页与虚拟分页有什么区别?简单分页:一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2 解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3 为什么在使用虚拟内存时,局部性原理是至关重要的?可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4 哪些元素是页表项中可以找到的元素?简单定义每个元素。
帧号:用来表示主存中的页来按顺序排列的号码。
存在位(P):表示这一页是否当前在主存中。
修改位(M):表示这一页在放进主存后是否被修改过。
8.5 转移后备缓冲器的目的是什么?转移后备缓冲器()是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6 简单定义两种可供选择的页读取策略。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7 驻留集管理和页替换策略有什么区别?驻留集管理主要关注以下两个问题:(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8 和页替换算法有什么区别?时钟算法与算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9 页缓冲实现的是什么?(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了操作的数目,从而减少了磁盘访问的时间。
8.10 为什么不可能把全局替换策略和固定分配策略组合起来?固定分配策略要求分配给一个进程的帧的数目是确定的,当一个进程中取入一个新的页时,这个进程的驻留页集中的一页必须被替换出来(保持分配的帧的数目不变),这是一种局部替换策略。
计算机操作系统(第四版)课后习题答案(完整版)
计算机操作系统(第四版)课后习题答案(完整版)第⼀章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.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当⽤户在⾃⼰的终端上键⼊命令时,系统应能及时接收并及时处理该命令,在⽤户能接受的时延内将结果返回给⽤户。
解决⽅法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收⽤户从各个终端上输⼊的数据;为每个终端配置缓冲区,暂存⽤户键⼊的命令或数据。
操作系统第9章课后习题解答
9.14 • 在多级反馈队列调度器的调度下,I/Obound的进程比CPU-bound的进程更有利, 也就是说,调度器更倾向于选择I/O-bound 的进程进行分派。原因在于I/O-bound的进 程会比较长时间地阻塞;在阻塞过程中, CPU-bound的进程得到多次分派执行,因而 会很快进入低优先级的反馈队列中。这样, I/O-bound的进程被唤醒之后,通常具有比 CPU-bound的进程高得多的优先级,所以会 得到调度器的“青睐”。
10 7 3.50 8 5 2.50 9 6 3.00 5 2 1.00 5 2 1.00 10 7 3.50 6 3 1.50 8 5 2.50
15 6 1.20 18 9 1.80 19 10 2.00 15 6 1.20 15 6 1.20 15 6 1.20 19 10 2.00 18 9 1.80
9.16
A
ቤተ መጻሕፍቲ ባይዱ
B
C
D
E
平均周转 时间 32.20 30.00 28.80 21.00
RR
45
34 9 24 18
14 39 27 3
27 45 33 9
41 21 45 30
Priority 36 FCFS SPN 15 45
进程
A
B
C
D
E
到达时刻
0
1
3
9
12
服务时间(Ts)
3
5
2
5
5
平均值
FCFS
完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts 完成时刻 周转时间(Tr) Tr / Ts
(完整版)操作系统课后题答案
(完整版)操作系统课后题答案课本课后题部分答案第⼀章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)链接组织方式。
为每个文件分配一组位置离散的盘块,通过给每个盘块设置一个指针,将属于同-一个文件的盘块链接在一起,链接的顺序和文件的逻辑页的顺序一致。
由此形成的文件物理结构是链接文件。
(3)索引组织方式。
为每个文件分配--组位置离散的盘块,为每个文件建立一个物理结构的索引表,记录分配给该文件的物理盘块,以及这些盘块和文件逻辑页顺序的对应关系。
由此形成的文件物理结构是索引文件。
2 •山连续组织方式所形成的顺序文件的主要优缺点是什么?它主要应用于何种场合?(1)连续组织方式所形成的顺序文件的主要优点①顺序访问容易②顺序访问速度快(2)连续组织方式所形成的顺序文件的主要缺点①要求为一个文件分配连续的存储空间②必须事先知道文件的长度;③不能灵活地删除和插入记录④对于那些动态增长的文件,山于事先很难知道文件的最终大小,因而很难为分配空间,而即使事先知道文件的最终大小,在采用预分配存储空间的方法时也会使大量的存储空间长期空闲。
(3)主要适用场合:连续组织方式所形成的顺序文件是一种最简单、最常用的文件组织方法,它适用于许多资料处理的场合,如磁带文件,打印文件都是常用的顺序文件。
3.在链接式文件中常用哪种链接方式?为什么?答:链接方式分为隐式链接和显式链接两种形式。
隐式链接是在文件U录的每U 录项中,都含有指向链接文件第一个盘块和最后一个盘块的指针。
显式链接贝把用于链接文件各物理块的指针,显式地存放在内存的一张链接表中。
4•在文件分配表中为什么要引入“簇”的概念?以“簇"为基本的分配单位有什么好处?(1)引入“簇”的原因:为了适应磁盘容量不断增大的需要,在进行盘块分配时不再以盘块而是以簇(Cluster)为基本单位。
一个簇应包含扇区的数量与磁盘量的大小直接有关。
操作系统第三版习题答案
操作系统第三版习题答案操作系统是计算机科学中的核心课程之一,它涉及到计算机系统的管理和协调资源分配。
第三版的习题答案通常涵盖了操作系统的基本概念、原理和实现方法。
以下是一些可能的习题答案示例:# 操作系统第三版习题答案第一章:操作系统概述1. 操作系统的定义:操作系统是一个系统软件,负责管理计算机硬件资源,并为用户和其他软件提供运行环境和控制硬件的手段。
2. 操作系统的主要功能:包括进程管理、内存管理、文件系统管理、输入/输出设备管理等。
第二章:进程管理1. 进程的概念:进程是操作系统进行资源分配和调度的一个独立单位,是程序的执行实例。
2. 进程的状态:通常包括就绪态、运行态、阻塞态和终止态。
第三章:线程1. 线程与进程的区别:线程是进程中的一个执行流,比进程更轻量级,同一进程内的线程共享进程资源。
2. 线程的创建和管理:操作系统提供了API来创建和管理线程,例如Pthread库。
第四章:内存管理1. 内存管理的作用:负责分配和回收内存资源,确保程序运行时有足够的内存空间。
2. 虚拟内存:一种内存管理技术,允许计算机通过硬盘来扩展可用的内存容量。
第五章:文件系统1. 文件系统的功能:文件系统负责存储、组织和访问文件数据。
2. 文件的属性:包括文件类型、大小、创建时间、访问权限等。
第六章:输入/输出系统1. I/O设备分类:包括块设备、字符设备、网络设备等。
2. I/O控制方式:包括程序控制方式、中断驱动方式和DMA方式。
第七章:死锁1. 死锁的条件:互斥条件、占有和等待条件、不可剥夺条件、循环等待条件。
2. 死锁的预防和避免:通过破坏死锁条件来预防死锁的发生。
第八章:操作系统安全1. 安全机制:包括用户身份验证、访问控制、数据加密等。
2. 安全策略:确定哪些用户可以访问哪些资源。
结语操作系统习题的答案不仅需要理解理论知识,还需要通过实践来加深理解。
希望这些答案能够帮助你更好地掌握操作系统的知识点。
操作系统第九版部分课后作业习题答案
CHAPTER 9 Virtual Memory Practice Exercises9.1 Under what circumstances do page faults occur? Describe the actions taken by the operating system when a page fault occurs.Answer:A page fault occurs when an access to a page that has not beenbrought into main memory takes place. The operating system verifiesthe memory access, aborting the program if it is invalid. If it is valid, a free frame is located and I/O is requested to read the needed page into the free frame. Upon completion of I/O, the process table and page table are updated and the instruction is restarted.9.2 Assume that you have a page-reference string for a process with m frames (initially all empty). The page-reference string has length p;n distinct page numbers occur in it. Answer these questions for any page-replacement algorithms:a. What is a lower bound on the number of page faults?b. What is an upper bound on the number of page faults?Answer:a. nb. p9.3 Consider the page table shown in Figure 9.30 for a system with 12-bit virtual and physical addresses and with 256-byte pages. The list of freepage frames is D, E, F (that is, D is at the head of the list, E is second, and F is last).Convert the following virtual addresses to their equivalent physical addresses in hexadecimal. All numbers are given in hexadecimal. (A dash for a page frame indicates that the page is not in memory.)• 9EF• 1112930 Chapter 9 Virtual Memory• 700• 0FFAnswer:• 9E F - 0E F• 111 - 211• 700 - D00• 0F F - EFF9.4 Consider the following page-replacement algorithms. Rank these algorithms on a five-point scale from “bad” to “perfect” according to their page-fault rate. Separate those algorithms that suffer from Belady’s anomaly from those that do not.a. LRU replacementb. FIFO replacementc. Optimal replacementd. Second-chance replacementAnswer:Rank Algorithm Suffer from Belady’s anomaly1 Optimal no2 LRU no3 Second-chance yes4 FIFO yes9.5 Discuss the hardware support required to support demand paging. Answer:For every memory-access operation, the page table needs to be consulted to check whether the corresponding page is resident or not and whether the program has read or write privileges for accessing the page. These checks have to be performed in hardware. A TLB could serve as a cache and improve the performance of the lookup operation.9.6 An operating system supports a paged virtual memory, using a central processor with a cycle time of 1 microsecond. It costs an additional 1 microsecond to access a page other than the current one. Pages have 1000 words, and the paging device is a drum that rotates at 3000 revolutions per minute and transfers 1 million words per second. The following statistical measurements were obtained from the system:• 1 percent of all instructions executed accessed a page other than the current page.•Of the instructions that accessed another page, 80 percent accesseda page already in memory.Practice Exercises 31•When a new page was required, the replaced page was modified 50 percent of the time.Calculate the effective instruction time on this system, assuming that the system is running one process only and that the processor is idle during drum transfers.Answer:effective access time = 0.99 × (1 sec + 0.008 × (2 sec)+ 0.002 × (10,000 sec + 1,000 sec)+ 0.001 × (10,000 sec + 1,000 sec)= (0.99 + 0.016 + 22.0 + 11.0) sec= 34.0 sec9.7 Consider the two-dimensional array A:int A[][] = new int[100][100];where A[0][0] is at location 200 in a paged memory system with pages of size 200. A small process that manipulates the matrix resides in page 0 (locations 0 to 199). Thus, every instruction fetch will be from page 0. For three page frames, how many page faults are generated bythe following array-initialization loops, using LRU replacement andassuming that page frame 1 contains the process and the other twoare initially empty?a. for (int j = 0; j < 100; j++)for (int i = 0; i < 100; i++)A[i][j] = 0;b. for (int i = 0; i < 100; i++)for (int j = 0; j < 100; j++)A[i][j] = 0;Answer:a. 5,000b. 509.8 Consider the following page reference string:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.How many page faults would occur for the following replacement algorithms, assuming one, two, three, four, five, six, or seven frames? Remember all frames are initially empty, so your first unique pages will all cost one fault each.•LRU replacement• FIFO replacement•Optimal replacement32 Chapter 9 Virtual MemoryAnswer:Number of frames LRU FIFO Optimal1 20 20 202 18 18 153 15 16 114 10 14 85 8 10 76 7 10 77 77 79.9 Suppose that you want to use a paging algorithm that requires a referencebit (such as second-chance replacement or working-set model), butthe hardware does not provide one. Sketch how you could simulate a reference bit even if one were not provided by the hardware, or explain why it is not possible to do so. If it is possible, calculate what the cost would be.Answer:You can use the valid/invalid bit supported in hardware to simulate the reference bit. Initially set the bit to invalid. O n first reference a trap to the operating system is generated. The operating system will set a software bit to 1 and reset the valid/invalid bit to valid.9.10 You have devised a new page-replacement algorithm that you thinkmaybe optimal. In some contorte d test cases, Belady’s anomaly occurs. Is the new algorithm optimal? Explain your answer.Answer:No. An optimal algorithm will not suffer from Belady’s anomaly because —by definition—an optimal algorithm replaces the page that will notbe used for the long est time. Belady’s anomaly occurs when a pagereplacement algorithm evicts a page that will be needed in the immediatefuture. An optimal algorithm would not have selected such a page.9.11 Segmentation is similar to paging but uses variable-sized“pages.”Definetwo segment-replacement algorithms based on FIFO and LRU pagereplacement schemes. Remember that since segments are not the samesize, the segment that is chosen to be replaced may not be big enoughto leave enough consecutive locations for the needed segment. Consider strategies for systems where segments cannot be relocated, and thosefor systems where they can.Answer:a. FIFO. Find the first segment large enough to accommodate the incoming segment. If relocation is not possible and no one segmentis large enough, select a combination of segments whose memoriesare contiguous, which are “closest to the first of the list” andwhich can accommodate the new segment. If relocation is possible, rearrange the memory so that the firstNsegments large enough forthe incoming segment are contiguous in memory. Add any leftover space to the free-space list in both cases.Practice Exercises 33b. LRU. Select the segment that has not been used for the longestperiod of time and that is large enough, adding any leftover spaceto the free space list. If no one segment is large enough, selecta combination of the “oldest” segments that are contiguous inmemory (if relocation is not available) and that are large enough.If relocation is available, rearrange the oldest N segments to be contiguous in memory and replace those with the new segment.9.12 Consider a demand-paged computer system where the degree of multiprogramming is currently fixed at four. The system was recently measured to determine utilization of CPU and the paging disk. The results are one of the following alternatives. For each case, what is happening? Can the degree of multiprogramming be increased to increase the CPU utilization? Is the paging helping?a. CPU utilization 13 percent; disk utilization 97 percentb. CPU utilization 87 percent; disk utilization 3 percentc. CPU utilization 13 percent; disk utilization 3 percentAnswer:a. Thrashing is occurring.b. CPU utilization is sufficiently high to leave things alone, and increase degree of multiprogramming.c. Increase the degree of multiprogramming.9.13 We have an operating system for a machine that uses base and limit registers, but we have modified the ma chine to provide a page table.Can the page tables be set up to simulate base and limit registers? How can they be, or why can they not be?Answer:The page table can be set up to simulate base and limit registers provided that the memory is allocated in fixed-size segments. In this way, the base of a segment can be entered into the page table and the valid/invalid bit used to indicate that portion of the segment as resident in the memory. There will be some problem with internal fragmentation.9.27.Consider a demand-paging system with the following time-measured utilizations:CPU utilization 20%Paging disk 97.7%Other I/O devices 5%Which (if any) of the following will (probably) improve CPU utilization? Explain your answer.a. Install a faster CPU.b. Install a bigger paging disk.c. Increase the degree of multiprogramming.d. Decrease the degree of multiprogramming.e. Install more main memory.f. Install a faster hard disk or multiple controllers with multiple hard disks.g. Add prepaging to the page fetch algorithms.h. Increase the page size.Answer: The system obviously is spending most of its time paging, indicating over-allocationof memory. If the level of multiprogramming is reduced resident processeswould page fault less frequently and the CPU utilization would improve. Another way toimprove performance would be to get more physical memory or a faster paging drum.a. Get a faster CPU—No.b. Get a bigger paging drum—No.c. Increase the degree of multiprogramming—No.d. Decrease the degree of multiprogramming—Yes.e. Install more main memory—Likely to improve CPU utilization as more pages canremain resident and not require paging to or from the disks.f. Install a faster hard disk, or multiple controllers with multiple hard disks—Also animprovement, for as the disk bottleneck is removed by faster response and morethroughput to the disks, the CPU will get more data more quickly.g. Add prepaging to the page fetch algorithms—Again, the CPU will get more datafaster, so it will be more in use. This is only the case if the paging action is amenableto prefetching (i.e., some of the access is sequential).h. Increase the page size—Increasing the page size will result in fewer page faults ifdata is being accessed sequentially. If data access is more or less random, morepaging action could ensue because fewer pages can be kept in memory and moredata is transferred per page fault. So this change is as likely to decrease utilizationas it is to increase it.10.1、Is disk scheduling, other than FCFS scheduling, useful in asingle-userenvironment? Explain your answer.Answer: In a single-user environment, the I/O queue usually is empty. Requests generally arrive from a single process for one block or for a sequence of consecutive blocks. In these cases, FCFS is an economical method of disk scheduling. But LOOK is nearly as easy to program and will give much better performance when multiple processes are performing concurrent I/O, such as when aWeb browser retrieves data in the background while the operating system is paging and another application is active in the foreground.10.2.Explain why SSTF scheduling tends to favor middle cylindersover theinnermost and outermost cylinders.The center of the disk is the location having the smallest average distance to all other tracks.Thus the disk head tends to move away from the edges of the disk.Here is another way to think of it.The current location of the head divides the cylinders into two groups.If the head is not in the center of the disk and a new request arrives,the new request is more likely to be in the group that includes the center of the disk;thus,the head is more likely to move in that direction.10.11、Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currently serving a request at cylinder 143, and the previous request was at cylinder 125. The queue of pending requests, in FIFO order, is86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130Starting from the current head position, what is the total distance (in cylinders) that the disk arm moves to satisfy all the pending requests, for each of the following disk-scheduling algorithms?a. FCFSb. SSTFc. SCANd. LOOKe. C-SCANAnswer:a. The FCFS schedule is 143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130. The total seek distance is 7081.b. The SSTF schedule is 143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774. The total seek distance is 1745.c. The SCAN schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86. The total seek distance is 9769.d. The LOOK schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 130, 86. The total seek distance is 3319.e. The C-SCAN schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 86, 130. The total seek distance is 9813.f. (Bonus.) The C-LOOK schedule is 143, 913, 948, 1022, 1470, 1509, 1750, 1774, 86, 130. The total seek distance is 3363.12CHAPTERFile-SystemImplementationPractice Exercises12.1 Consider a file currently consisting of 100 blocks. Assume that the filecontrol block (and the index block, in the case of indexed allocation)is already in memory. Calculate how many disk I/O operations are required for contiguous, linked, and indexed (single-level) allocation strategies, if, for one block, the following conditions hold. In the contiguous-allocation case, assume that there is no room to grow atthe beginning but there is room to grow at the end. Also assume thatthe block information to be added is stored in memory.a. The block is added at the beginning.b. The block is added in the middle.c. The block is added at the end.d. The block is removed from the beginning.e. The block is removed from the middle.f. The block is removed from the end.Answer:The results are:Contiguous Linked Indexeda. 201 1 1b. 101 52 1c. 1 3 1d. 198 1 0e. 98 52 0f. 0 100 012.2 What problems could occur if a system allowed a file system to be mounted simultaneously at more than one location?Answer:4344 Chapter 12 File-System ImplementationThere would be multiple paths to the same file, which could confuse users or encourage mistakes (deleting a file with one path deletes thefile in all the other paths).12.3 Why must the bit map for file allocation be kept on mass storage, ratherthan in main memory?Answer:In case of system crash (memory failure) the free-space list would notbe lost as it would be if the bit map had been stored in main memory.12.4 Consider a system that supports the strategies of contiguous, linked, and indexed allocation. What criteria should be used in deciding which strategy is best utilized for a particular file?Answer:•Contiguous—if file is usually accessed sequentially, if file isrelatively small.•Linked—if file is large and usually accessed sequentially.• Indexed—if file is large and usually accessed randomly.12.5 One problem with contiguous allocation is that the user must preallocate enough space for each file. If the file grows to be larger than thespace allocated for it, special actions must be taken. One solution to this problem is to define a file structure consisting of an initial contiguous area (of a specified size). If this area is filled, the operating system automatically defines an overflow area that is linked to the initialc ontiguous area. If the overflow area is filled, another overflow areais allocated. Compare this implementation of a file with the standard contiguous and linked implementations.Answer:This method requires more overhead then the standard contiguousallocation. It requires less overheadthan the standard linked allocation. 12.6 How do caches help improve performance? Why do systems not use more or larger caches if they are so useful?Answer:Caches allow components of differing speeds to communicate moreefficie ntly by storing data from the slower device, temporarily, ina faster device (the cache). Caches are, almost by definition, more expensive than the device they are caching for, so increasing the number or size of caches would increase system cost.12.7 Why is it advantageous for the user for an operating system to dynamically allocate its internal tables? What are the penalties to the operating system for doing so?Answer:Dynamic tables allow more flexibility in system use growth — tablesare never exceeded, avoiding artificial use limits. Unfortunately, kernel structures and code are more complicated, so there is more potentialfor bugs. The use of one resource can take away more system resources (by growing to accommodate the requests) than with static tables.Practice Exercises 4512.8 Explain how the VFS layer allows an operating system to support multiple types of file systems easily.Answer:VFS introduces a layer of indirection in the file system implementation. In many ways, it is similar to object-oriented programming techniques. System calls can be made generically (independent of file system type). Each file system type provides its function calls and data structuresto the VFS layer. A system call is translated into the proper specific functions for the ta rget file system at the VFS layer. The calling program has no file-system-specific code, and the upper levels of the system call structures likewise are file system-independent. The translation at the VFS layer turns these generic calls into file-system-specific operations.。
操作系统课后习题答案
操作系统课后习题答案第一章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.系统的处理能力。
(完整版)操作系统第五版费祥林_课后习题答案解析参考(可编辑修改word版)
(完整版)操作系统第五版费祥林_课后习题答案解析参考(可编辑修改word版)第⼀章操作系统概论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 操作时间由图给出。
操作系统课后习题答案
7. 文件管理1.文件系统最基本的目标是_________, 它主要是通过目录管理功能实现的。
文件系统所追求的最重要的目标是_________。
A. 按名存取B. 文件共享C. 文件保护 D 提高对文件的存取速度 E 提高I/O速度 F提高存储空间利用率2.下面_________可以解决用户文件重名的问题A一级目录结构 B二级目录结构 C 多级目录结构 D树形目录结构3.存储介质的物理单位为________。
A块 B卷 C 磁道 D 扇区4.在文件系统中,用户以________方式直接使用外存。
A 逻辑地址B 辅存空间C 虚拟地址 D名字空间5. 文件的逻辑结构是________决定。
A操作系统 B文件系统 C装入程序 D用户6.记录式文件内可以独立存取的最小单位是________。
7.磁盘上的文件是以________为单位进行读写的。
8.在文件管理中,采用位示图主要是实现________。
A 磁盘的驱动调度B 磁盘空间的分配和回收 C文件目录的查找 D 页面置换9.在UNIX系统中,对空闲块的管理采用________方式。
A单块链接 B成组链接 C位示图法 D 多块链接10.按用途分,文件可分为________。
A系统文件 B 执行文件 C库文件 D用户文件11.下面________属于存储介质。
A磁带 B软盘 C硬盘驱动器 D 磁带机 E 磁盘机12.文件的成组和分解操作可________。
A缩短检索文件的时间 B提高文件存储空间的利用率C减少启动存储设备的次数 D减少文件存储空间的利用率13.文件系统就是操作系统中管理文件的软件的集合()14. 存储介质的物理单位定义为区()15.从用户的角度考虑的是文件的逻辑结构,从系统的角度考虑的是文件的物理结构。
()16.对索引文件只能使用随机存取方式。
()17.采用链接结构的文件,存放文件的物理块必须是连续的。
()18.文件目录是文件系统中按名存取的重要手段。
操作系统实训(Linux) 第9章 操作系统的安全性课后习题解答
4
第9章 操作系统的安全性
5.CC标准中有哪几个安全保证级别? 【解答】 CC 标准中以包的概念定义了 7 个安全保证级别 (EAL)。这7个级别定义如下: EAL1、 EAL2、 EAL3、 EAL4、 EAL5、 EAL6、 EAL7。 6.什么是访问控制表?什么是访问权限表? 【解答】 (1)存取控制表 (2)访问权限表
6
第9章 操作系统的安全性
8.监控和审计日志的作用是什么? 【解答】 (1)监控 (2)审计日志 9.简述数据加密技术。 【解答】加密技术将信息编码成如密码文本一样含义 模糊的形式。在现代计算机系统中,加密技术越来越重要。 在网络化的计算机系统中,要想提供一种机制使信息不可 访问很困难,所以,将信息加密成另一种形式,如果没有 解密,即使访问到它,其内容也是不可识别的。加密技术 的关键是能够有效地生成密码,使它基本上不可能被未授 权的用户解密。
5
第9章 操作系统的安全性
7.病毒防御机制有哪些? 【解答】病毒防御措施通常将系统的存取控制、实体 保护等安全机制结合起来,通过专门的防御程序模块为计 算机建立病毒的免疫系统和报警系统。防御的重点在操作 系统敏感的数据结构、文件系统数据存储结构和I/O设备驱 动结构上。这些敏感的数据结构包括:系统进程表、关键 缓冲区、共享数据段、系统记录、中断向量表和指针表等。 很多病毒试图修改甚至删除其中的数据和记录,这样会使 得系统运行出错。针对病毒的各种攻击,病毒防御机制可 采取存储映像、数据备份、修改许可、区域保护、动态检 疫等方式来保护敏感数据结构。
7
第9章 操作系统的安全性
10.如何保证口令的安全? 【解答】 (1)口令要尽可能长,这样被猜出口令需要很长时 间,其可能性就小。操作系统在这方面也有要求,例如要 求口令的长度至少为8位等。 (2)多用混合型的口令,即其中同时有字母、数字 和其他字符。 (3)不要用自己或家人的生日、姓名、常用单词等 做口令。许多非法入侵者猜测口令时会首先使用这些具有 强烈特征的字符串作为口令来尝试。 (4)经常更换口令。许多操作系统也有要求,在规 定的时间内更改口令,否则口令失效。最极端的方法是使 用一次性口令。这时,用户有一本口令书,记着一长串口 令,登录时每次都采用书中的下一个口令。如果入侵者破 译出口令,也没有什么用,因为用户下一次就会用另一个 口令。这种做法的前提是用户必须谨防口令书的丢失。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题 8 I/O 设备管理一、选择题题号1 2 3 4 5 6 7 8 9 10答案B D B A A D D B B B题号11 12 13 14 15 16 17 18 19 20答案A C A A A A A C C A二、综合题5、答:DMA 是Direct Memory Access(直接存储器访问)的缩写。
DMA 方式的特点是,数据传输的基本单位是数据块,所传输的数据时从设备直接送入内存,期间不需要CPU的干预,或者相反;仅在传送一个或多个数据块的开始和结束时才需要CPU 的干预,整块数据的传送是在DMA 控制器的控制下完成的。
DMA 与中断方式的主要区别是:中断驱动I/O 控制方式每几个数据传输后即发出一次中断,DMA 控制方式是在一批数据传输完成后发出一次中断;中断驱动I/O 控制方式下数据的传输是由CPU 控制的,DMA 控制方式下在数据块传输的开始和结束阶段由CPU 控制,在传输过程中由DMA 控制器控制。
2、答:(1)和(3)为设备驱动程序实现。
(2)和(4)为逻辑I/O 层实现。
3、答:通道是一种特殊的I/O 处理机,它具有执行I/O 指令的能力,并通过执行通道(I/O)程序来控制I/O 操作。
但I/O 通道又与一般的处理机不同,主要表现在以下两个方面: 一是其指令类型单一;二是通道没有自己的内存,与CPU 共享内存。
通道经常采用交叉连接是为了增加通路,即使得每一个设备与所有的控制器相连,每个控制器与所有的通道相连,增加了存储器与设备之间的通路,这样在设备分配时,可选择的范围就大。
4、答:(1)先来先服务算法的调度顺序为:20,44,40,4,80,12,76移动的柱面数分别为:20,24,4,36,76,68,64柱面移动总量为:292寻道时间为:292*3 ms=876 ms(2)最短寻找时间优先算法调度顺序为:40、44、20、12、4、76、80移动的柱面数分别为:0,4,24,8,8,72,4柱面移动总量为:120寻道时间为:120*3ms=360ms5、答:每条记录的读取时间为20ms/4 = 5ms,优化前处理总时间为:[(5+5)+(5*3+5+5)+(5*3+5+5)+(5*3+5+5)]ms = 85 ms优化后记录顺序为:A,C,B,D。
A CB D优化后处理总时间=(5+5)【处理A】+ (5+5)【处理B】+ 5【跳过A】+(5+5)【处理C】+ (5+5)【处理D】=(5ms + 5ms)*4+5=45 ms6、答:(1)电梯调度算法的调度的次序为:65、71、100、114、115、49、40、36(2)最短寻找时间优先算法的调度的次序为:65,71,49,40,36,100,114,115(3)循环扫描调度算法的调度的次序为:65、71、100、114、115、36、40、497、答:(1)采用FCFS 算法调度时,磁头移动顺序为:149、86、147、91、177、94、150、102、175、130磁头移动总距离为:(149-86)+(147-86)+(147-91)+(177-91)+(177-94)+(150-94)+(150-102)+(175-102)+(175-130)=571 条磁道(2)采用SSTF 算法调度时,磁头移动顺序为:149、147、150、130、102、94、91、86、175、177磁头移动总距离是168 条磁道。
(3)采用SCAN 算法调度时,磁头移动顺序为:149、147、150、175、177、199、130、102、94、91、86磁头移动总距离是261 条磁道。
8、答:(1)1*0.25+100*(1-0.25)=75.25ms(2)1*0.5+100*(1-0.5)=50.5ms9、答:(1)先来先服务算法的调度顺序为:10,22,20,2,40,6,38移动的柱面数分别为:10,12,2,18,38,34,32柱面移动总量为:146寻道时间为:146*6 ms=876 ms(2)下一个最邻近柱面算法调度顺序为:20,22,10,6,2,38,40移动的柱面数分别为:0,2,12,4,4,36,2柱面移动总量为:60寻道时间为:60*6ms=360ms10、答:(1)读取并处理完A 记录后磁头移动到3、4 交接处,花费时间为2+4=6ms,接下来每次读取一个记录,都是先移动8 个扇区位置在进行读取和处理,故总共花费时间为(2+4)+9*(2+4+2*8)=204ms。
需时间为10*(2+4)=60ms。
11、答:它们都是要尽量减少移动臂时所花的时间。
不同点:“最短寻找时间优先算法”不考虑臂的移动方向,总是优先选择离当前位置最近的那个柱面的访问者,这种选择可能导致移动臂来回改变移动方向;“电梯调度算法”是沿着臂的移动方向去选择,仅当沿臂移动方向无等待访问者时才改变臂的移动方向。
12、答:因为一个字符占10 位,因此在56Kbps 的速率下,每秒传送:56000、10=5600 个字符,即产生5600 次中断。
每次中断需0.1ms,故处理调制器占用CPU 时间总共为5600*0.1ms=560ms,占用56%CPU 时间。
__习题 9 文件系统一、选择题题号1 2 3 4 5 6 7 8 9 10答案D A D B B D B B B C题号11 12 13 14 15 16 17 18 19 20答案B B B D D A EB A C C题号21 22 23 24 25答案A A A B B改错:选择第9 题题干:从用户的观点看…二、综合题6、答:文件系统中要设置打开文件和关闭文件操作。
原因是:用户进程存取一个文件,系统首先要检索目录结构,按名查找该文件的文件控制块。
打开文件的基本思想是,按指定文件名检索目录结构,把找到的文件控制块读入并保存到内存,此后每次存取该文件时,就无需再执行按名查找的过程,可以直接在内存找到它的文件控制块,从而加快了存取速度。
文件打开后,可以对该文件进行读、写等操作。
当一个文件不再存取时,需要关闭该文件,释放占用的系统资源,并将文件控制块的内容复制到外存储器中。
这样做,一方面提高了资源利用率,另一方面保证了数据的安全。
2、答:2301/1024 商为2,余数为253。
要访问字节的逻辑记录号为2,对应的物理磁盘块号为75。
故应访问第75 号磁盘块。
3、答:假设每次盘I/O 的大小为一个盘块,即512 字节。
(1)由于根目录的第一块常驻内存,根目录找到文件A 需要5 次读盘。
因为255*2+2=512,故在链式存储结构下一个物理块可放2 个记录及一个物理块地址,而文件A 共有598 个记录,故读取A 的所有记录需读盘次数为598/2=299(次),所以将A 读到内存至少需读盘299+5=304(次)。
(2)当文件为连续文件时,同样需要5 次读盘可找到A,且此时对于定长记录文件可实现直接存取,故一次读盘即可读出487 记录,所以至少需要5+1=6(次)读盘。
(3 对查找目录而言可采用降低目录项的大小的方法即索引结点方法。
如果一个目录项占16 字节,则一个盘块可存放512/16=32(个)目录项,与本题一个盘块仅能存放4 个目录项相比,可使因访问目录而读盘的次数减少1/8。
对查找文件的记录而言,可用一个或多个盘块来存放该文件的所有盘块号,即用链接索引方法;一个盘块可存放512/2-1=255(个)盘块号,剩余的一个地址用来指向下一个存储盘块号(索引块)的磁盘块号。
这样,就本题来说,查找目录时需启动3 次磁盘。
文件A 共有299 个盘块,则查找文件A 某一记录时需两次取得所有盘块号,再需最多一次磁盘即可把A 中任一记录读入内存,所以,查找一记录最多需要6 次访问盘。
4、答:(1) 释放四个物理块之后卷资源表如下所示(2) 分配6 个空闲块后卷资源表如下所示5、答:常用的外存空闲存储器空间管理方法:空间表法、位示意图、空闲块连接法、成组连接法。
(1)空闲表法属于连续分配方法,它为外存上所有空闲区建立一张空闲表,每个空闲区对应一个空闲表项,其中包括序号、该空闲区的第一块号,该区的空闲盘块数等信息,再将所有空闲区按起始盘好递增的次序排列。
(2)空闲链表法:空闲链表法是将所有空闲盘块或盘区(每个盘区可包含若干个盘块)组织成一条空闲链。
当创建文件需要空闲外存空间时,系统从空闲盘块或盘区链表的链首开始依次摘下适当大小的空闲盘块分配给用户;当删除文件时,系统将回收的空闲空间依次插入空闲盘块或盘区链表的末尾。
(3)位示图法:利用位示图中二进制的一个位来表示磁盘中一个盘块的使用情况,假设“0”表示对应的盘块空闲;“1”表示被分配。
可用m 行n 列的位示图中的m×n 个位数来表示m×n 块盘块的使用情况。
(4)成组链接法:UNIX 操作系统采用成组链接法管理磁盘空闲块。
成组链接法将磁盘空闲块分成若干组,如将每100 个盘块作为一组,该组空闲块总数和各空闲块块号存入下一组的第一个空闲块中。
最后不满100 块的那组空闲块总数和各空闲块块号记入磁盘区专用管理块的空闲块管理数据结构。
由于文件系统要安装时,磁盘专用块拷人内存系统缓存区,所以成组链接法分配和回收操作大部分情况只与内存进行读写,所以速度较快。
6、答:(1)根据位示图的位置(i,j),得出盘块的序号b=i*16+j;用C 表示柱面号,H 表示磁头号,S 表示扇区号,则有:C=b/(20*8)H=(b%(20*8))/8S=(b%(20*8))%8(2)分配:顺序扫描位示图,找出1 个其值为“0”的二进制位,利用上述公式将其转换成相应的序号b,并修改位示图,置(i,j)=1;回收:将回收盘块的盘块号换算成位示图中的i 和j,转换公式为:b=C*20*8+H*8+S实用操作系统教程(第2 版)课后习题参考答案29i=b/16,j=b%16最后将计算出的(i,j)在位示图中置“0”。
7、答:基本原理:将空闲块分成若干组,假设每100 个空闲块为一组,将每一组含有的盘块总数和该组所有的盘块号记入其前一组的第一个盘块中,这样可链成一条链,第一组的盘块总数和所有的盘块号记入内存专用块中,作为当前可供分配的空闲盘块号,将最后一组的第一个盘块号用“0”表示,作为空闲盘块链的结束标志。
空闲盘块的分配:首先查看当前组空闲块数,如果大于1 则减1,并从专用块中取出一空闲盘块号,将其对应的盘块分配给用户;若专用块中只有一个可分配的盘块号且不是最后一组,须将此盘块号所对应盘块的内容读入专用块中,并把专用块中原来的盘块号对应的盘块分配出去;否则是最后一组,分配不成功。
空闲盘块的回收:若当前组空闲块数不足100 块,则将回收块的块号记入专用块,空闲块数加1;当专用块中空闲盘块数为100 时,便将现有专用块中内容记入新回收的盘块中,然后将盘块数1 和新回收的盘块号写入专用块。