搜档网
当前位置:搜档网 › 操作系统第九版部分课后作业习题答案分析解析

操作系统第九版部分课后作业习题答案分析解析

操作系统第九版部分课后作业习题答案分析解析
操作系统第九版部分课后作业习题答案分析解析

CHAPTER 9 Virtual Memory Practice Exercises

9.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 been

brought into main memory takes place. The operating system veri?es

the 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. n

b. p

9.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 free

page 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

? 111

2930 Chapter 9 Virtual Memory

? 700

? 0FF

Answer:

? 9E F - 0E F

? 111 - 211

? 700 - D00

? 0F F - EFF

9.4 Consider the following page-replacement algorithms. Rank these algorithms on a ?ve-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 replacement

b. FIFO replacement

c. Optimal replacement

d. Second-chance replacement

Answer:

Rank Algorithm Suffer from Belady’s anomaly

1 Optimal no

2 LRU no

3 Second-chance yes

4 FIFO yes

9.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 accessed

a page already in memory.Practice Exercises 31

?

When a new page was required, the replaced page was modi?ed 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 sec

9.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 by

the following array-initialization loops, using LRU replacement and

assuming that page frame 1 contains the process and the other two

are 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,000

b. 50

9.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, ?ve, six, or seven frames? Remember all frames are initially empty, so your ?rst unique pages will all cost one fault each.

?

LRU replacement

? FIFO replacement

?

Optimal replacement32 Chapter 9 Virtual Memory

Answer:

Number of frames LRU FIFO Optimal

1 20 20 20

2 18 18 15

3 15 16 11

4 10 14 8

5 8 10 7

6 7 10 7

7 77 7

9.9 Suppose that you want to use a paging algorithm that requires a reference

bit (such as second-chance replacement or working-set model), but

the 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 ?rst 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 think

may

be 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 de?nition—an optimal algorithm replaces the page that will not

be used for the long est time. Belady’s anomaly occurs when a pagereplacement algorithm evicts a page that will be needed in the immediate

future. An optimal algorithm would not have selected such a page.

9.11 Segmentation is similar to paging but uses variable-sized“pages.”De?ne

two segment-replacement algorithms based on FIFO and LRU pagereplacement schemes. Remember that since segments are not the same

size, the segment that is chosen to be replaced may not be big enough

to leave enough consecutive locations for the needed segment. Consider strategies for systems where segments cannot be relocated, and those

for systems where they can.

Answer:

a. FIFO. Find the ?rst segment large enough to accommodate the incoming segment. If relocation is not possible and no one segment

is large enough, select a combination of segments whose memories

are contiguous, which are “closest to the ?rst of the list” and

which can accommodate the new segment. If relocation is possible, rearrange the memory so that the ?rstNsegments large enough for

the incoming segment are contiguous in memory. Add any leftover space to the free-space list in both cases.Practice Exercises 33

b. LRU. Select the segment that has not been used for the longest

period of time and that is large enough, adding any leftover space

to the free space list. If no one segment is large enough, select

a combination of the “oldest” segments that are contiguous in

memory (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 ?xed 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 percent

b. CPU utilization 87 percent; disk utilization 3 percent

c. CPU utilization 13 percent; disk utilization 3 percent

Answer:

a. Thrashing is occurring.

b. CPU utilization is suf?ciently 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 modi?ed the machine 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 ?xed-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-allocation

of memory. If the level of multiprogramming is reduced resident processes

would page fault less frequently and the CPU utilization would improve. Another way to

improve 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 can

remain resident and not require paging to or from the disks.

f. Install a faster hard disk, or multiple controllers with multiple hard disks—Also an

improvement, for as the disk bottleneck is removed by faster response and more

throughput 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 data

faster, so it will be more in use. This is only the case if the paging action is amenable

to prefetching (i.e., some of the access is sequential).

h. Increase the page size—Increasing the page size will result in fewer page faults if

data is being accessed sequentially. If data access is more or less random, more

paging action could ensue because fewer pages can be kept in memory and more

data is transferred per page fault. So this change is as likely to decrease utilization

as it is to increase it.

10.1、Is disk scheduling, other than FCFS scheduling, useful in a

single-user

environment? 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 cylinders

over the

innermost 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, is

86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130

Starting 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. FCFS

b. SSTF

c. SCAN

d. LOOK

e. C-SCAN

Answer:

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.

12CHAPTER

Implementation

Practice Exercises

12.1 Consider a ?le currently consisting of 100 blocks. Assume that the ?lecontrol 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 at

the beginning but there is room to grow at the end. Also assume that

the 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 en

d.

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 Indexed

a. 201 1 1

b. 101 52 1

c. 1 3 1

d. 198 1 0

e. 98 52 0

f. 0 100 0

12.2 What problems could occur if a system allowed a ?le system to be mounted simultaneously at more than one location?

Answer:

4344 Chapter 12 Implementation

There would be multiple paths to the same ?le, which could confuse users or encourage mistakes (deleting a ?le with one path deletes the

?le in all the other paths).

12.3 Why must the bit map for ?le allocation be kept on mass storage, rather

than in main memory?

Answer:

In case of system crash (memory failure) the free-space list would not

be 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 ?le?

Answer:

?

Contiguous—if ?le is usually accessed sequentially, if ?le is

relatively small.

?

Linked—i f ?le is large and usually accessed sequentially.

? Indexed—if ?le is large and usually accessed randomly.

12.5 One problem with contiguous allocation is that the user must preallocate enough space for each ?le. If the ?le grows to be larger than the

space allocated for it, special actions must be taken. One solution to this problem is to de?ne a ?le structure consisting of an initial contiguous area (of a speci?ed size). If this area is ?lled, the operating system automatically de?nes an over?ow area that is linked to the initial contiguous area. If the over?ow area is ?lled, another over?ow area

is allocated. Compare this implementation of a ?le with the standard contiguous and linked implementations.

Answer:

This method requires more overhead then the standard contiguous

allocation. 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 more

ef?ciently by storing data from the slower device, temporarily, in

a faster device (the cache). Caches are, almost by de?nition, 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 ?exibility in system use growth — tables

are never exceeded, avoiding arti?cial use limits. Unfortunately, kernel structures and code are more complicated, so there is more potential

for bugs. The use of one resource can take away more system resources (by growing to accommodate the requests) than with static tables.Practice Exercises 45

12.8 Explain how the VFS layer allows an operating system to support multiple types of ?le systems easily.

Answer:

VFS introduces a layer of indirection in the ?le system implementation. In many ways, it is similar to object-oriented programming techniques. System calls can be made generically (independent of ?le system type). Each ?le system type provides its function calls and data structures

to the VFS layer. A system call is translated into the proper sp eci?c functions for the target ?le system at the VFS layer. The calling program has no ?le-system-speci?c code, and the upper levels of the system call structures likewise are ?le system-independent. The translation at the VFS layer turns these generic cal ls into ?le-system-speci?c operations.

操作系统课后答案

第一章操作系统引论 思考与练习题 1.什么是操作系统它的主要功能是什么 2.什么是多道程序设计技术多道程序设计技术的主要特点是什么 3.批处理系统是怎样的一种操作系统它的特点是什么 4.什么是分时系统什么是实时系统试从交互性,及时性,独立性,多路性,可靠性等几个 方面比较分时系统和实施系统。 5.实时系统分为哪俩种类型 6.操作系统主要特征是什么 7.操作系统也用户的接口有几种它们各自用在什么场合 8.“操作系统是控制硬件的软件”这一说法确切吗为什么 9.设内存中有三道程序,A,B,C,它们按A~B~C的先后顺序执行,它们进行“计算”和“I/o 操作”的时间如表1-2所示,假设三道程序使用相同的I/O设备。 (1)试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。 (2)试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。10.将下列左右两列词连接起来形成意义最恰当的5对。 DOS 网络操作系统 OS/2 自由软件

UNIX 多任务 Linux 单任务 Windows NT 为开发操作系统而设计 C语言 11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。 答案 1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。 2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。 1)多道,即计算机内存中同时放多道相互独立的程序。 2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。 3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有CPU,交替执行。 3.答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。 特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。 4.答:分时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的时间内处理完毕并作出反应。 1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。 2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。

操作系统 习题答案(中文版)

操作系统概第七版中文版习题答案(全) 1.1在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题 b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 答:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 答:(a)大型电脑或迷你电脑系统:内存和CPU资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU资源(c)手持电脑:功率消耗,内存资源 1.3在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? 答:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 答:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? 答:SMP意味着所以处理器都对等,而且I/O可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? 答:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。 1.7试区分分布式系统(distribute system)的客户机-服务器(client-server)模型与对等系统(peer-to-peer)模型 答:客户机-服务器(client-server)模型可以由客户机和服务器的角色被区分。在这种模型下,客户机向服务器发出请求,然后服务器满足这种请求。对等系统(peer-to-peer)模

操作系统习题答案

内存1通常情况下,在下列存储管理方式中,()支持多道程序设计、管理最简单,但存储碎片多;()使内存碎片尽可能少,而且使内存利用率最高。 Ⅰ.段式;Ⅱ.页式;Ⅲ.段页式;Ⅳ.固定分区;Ⅴ.可变分区 正确答案:Ⅳ;Ⅰ 2为使虚存系统有效地发挥其预期的作用,所运行的程序应具有的特性是()。正确答案:该程序应具有较好的局部性(Locality) 3提高内存利用率主要是通过内存分配功能实现的,内存分配的基本任务是为每道程序()。使每道程序能在不受干扰的环境下运行,主要是通过()功能实现的。Ⅰ.分配内存;Ⅱ.内存保护;Ⅲ.地址映射;Ⅳ.对换;Ⅴ.内存扩充;Ⅵ.逻辑地址到物理地址的变换;Ⅶ.内存到外存间交换;Ⅷ.允许用户程序的地址空间大于内存空间。 正确答案:Ⅰ;Ⅱ 4适合多道程序运行的存储管理中,存储保护是 正确答案:为了防止各道作业相互干扰 5下面哪种内存管理方法有利于程序的动态链接()? 正确答案:分段存储管理 6在请求分页系统的页表增加了若干项,其中状态位供()参考。 正确答案:程序访问 7从下面关于请求分段存储管理的叙述中,选出一条正确的叙述()。 正确答案:分段的尺寸受内存空间的限制,但作业总的尺寸不受内存空间的限制

8虚拟存储器的特征是基于()。 正确答案:局部性原理 9实现虚拟存储器最关键的技术是()。 正确答案:请求调页(段) 10“抖动”现象的发生是由()引起的。 正确答案:置换算法选择不当 11 在请求分页系统的页表增加了若干项,其中修改位供()参考。 正确答案:换出页面 12 虚拟存储器是正确答案:程序访问比内存更大的地址空间 13测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:减少运行的进程数 14在请求调页系统中,若逻辑地址中的页号超过页表控制寄存器中的页表长度,则会引起()。 正确答案:越界中断 15 测得某个请求调页的计算机系统部分状态数据为:CPU利用率20%,用于对换空间的硬盘的利用率97.7%,其他设备的利用率5%。由此断定系统出现异常。此种情况下()能提高CPU的利用率。 正确答案:加内存条,增加物理空间容量 16 对外存对换区的管理应以()为主要目标,对外存文件区的管理应以()

计算机操作系统典型例题解析之四

计算机操作系统复习题之四【例1】可变分区存储管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区可按(A)顺序排列。 A、长度递增 B、长度递减 C、地址递增 D、地址递减分析:最佳适应算法要求每次都分配给用户进程能够满足其要求的空闲区中最小的空闲区,所以为了提高算法效率,我们把所有的空闲区,按其大小以递增的顺序形成一空闲分区链。这样,第一个找到的满足要求的空闲区,必然是符合要求中最小的。所以本题的答案是A。 【例2】虚拟存储技术是(B)。 A、扩充主存物理空间技术 B、扩充主存逻辑地址空间技术 C、扩充外存空间的技术 D、扩充输入/输出缓冲区技术 分析:所谓虚拟存储器,是指仅把作业的一部分装入内存便可运行作业的存储器系统。具体地说,所谓虚拟存储器是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统。实际上,用户所看到的大容量只是一种感觉,是虚的,故称之为虚拟存储器。虚拟存储技术是一种性能非常优越的存储器管理技术、故被广泛地应用于大、中、小型机器和微型机中。所以本题的答案是B。 【例3】很好地解决了“零头”问题的存储管理方法是(A)。A、分页存储管理方式B、分段存储管理方式C、多重分区管理D、可变式分区管理 分析:“零头”也就是内存碎片,是指内存中无法被利用的小空闲

区。在有些内存管理方式下,系统运行一段时间后,内存的碎片会占据相当的数量的空间。分段存储管理方式、多重分区管理、可变式分区管理都会因为内存分配回收产生“零头”,而分页存储管理方式,按事先划分好的内存块为单位分配回收内存,所以不会产生“零头”。所以本题的答案是A。 【例4】系统“抖动”现象的发生是由(B)引起的。 A、交换的信息量过大 B、置换算法选择不当 C、内存容量不足 D、请求分页管理方案 分析:“抖动”现象是指刚被换出的页很快又要被访问,为此,又要换出其他页,而该页又很快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上。交换的信息量过大,内存容量不足都不是引起系统“抖动”现象的原因,而选择的置换算法不当才是引起“抖动”现象的根本原因,例如,先进先出算法就可能产生“抖动”现象。所以本题的答案是B。 【例5】虚拟存储管理系统的基础是程序的(C)理论。 A、全局性 B、虚拟性 C、局部性 D、动态性 分析:虚拟存储技术是基于程序的局部性原理的,程序的局部性原理体现在两个方面:时间局部性和空间局部性。时间局部性是指一条指令被执行后,那么它可能很快会再次被执行,空间局部性是指若某一存储单元被访问,那么与该存储单元相邻的单元可能也会很快被访问。所以本题的答案是C。

操作系统课后题答案 (1)

课本课后题部分答案 第一章 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. 什么是前趋图?为什么要引入前趋图? 答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。

操作系统概念第七版习题答案(中文版)完整版

1.1 在多道程序和分时环境中,多个用户同时共享一个系统,这种情况导致多种安全问题。a. 列出此类的问题b.在一个分时机器中,能否确保像在专用机器上一样的安全度?并解释之。 Answer:a.窃取或者复制某用户的程序或数据;没有合理的预算来使用资源(CPU,内存,磁盘空间,外围设备)b.应该不行,因为人类设计的任何保护机制都会不可避免的被另外的人所破译,而且很自信的认为程序本身的实现是正确的是一件困难的事。 1.2 资源的利用问题在各种各样的操作系统中出现。试例举在下列的环境中哪种资源必须被严格的管理。(a)大型电脑或迷你电脑系统(b)与服务器相联的工作站(c)手持电脑 Answer: (a)大型电脑或迷你电脑系统:内存和CPU 资源,外存,网络带宽(b)与服务器相联的工作站:内存和CPU 资源(c)手持电脑:功率消耗,内存资源 1.3 在什么情况下一个用户使用一个分时系统比使用一台个人计算机或单用户工作站更好? Answer:当另外使用分时系统的用户较少时,任务十分巨大,硬件速度很快,分时系统有意义。充分利用该系统可以对用户的问题产生影响。比起个人电脑,问题可以被更快的解决。还有一种可能发生的情况是在同一时间有许多另外的用户在同一时间使用资源。当作业足够小,且能在个人计算机上合理的运行时,以及当个人计算机的性能能够充分的运行程序来达到用户的满意时,个人计算机是最好的,。 1.4 在下面举出的三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统的支持?(a)批处理程序(b)虚拟存储器(c)分时 Answer:对于实时系统来说,操作系统需要以一种公平的方式支持虚拟存储器和分时系统。对于手持系统,操作系统需要提供虚拟存储器,但是不需要提供分时系统。批处理程序在两种环境中都是非必需的。 1.5 描述对称多处理(SMP)和非对称多处理之间的区别。多处理系统的三个优点和一个缺点? Answer:SMP意味着所以处理器都对等,而且I/O 可以在任何处理器上运行。非对称多处理有一个主处理器控制系统,与剩下的处理器是随从关系。主处理器为从处理器安排工作,而且I/O 也只在主处理器上运行。多处理器系统能比单处理器系统节省资金,这是因为他们能共享外设,大容量存储和电源供给。它们可以更快速的运行程序和增加可靠性。多处理器系统能比单处理器系统在软、硬件上也更复杂(增加计算量、规模经济、增加可靠性) 1.6 集群系统与多道程序系统的区别是什么?两台机器属于一个集群来协作提供一个高可靠性的服务器的要求是什么? Answer:集群系统是由多个计算机耦合成单一系统并分布于整个集群来完成计算任务。另一方面,多道程序系统可以被看做是一个有多个CPU 组成的单一的物理实体。集群系统的耦合度比多道程序系统的要低。集群系统通过消息进行通信,而多道程序系统是通过共享的存储空间。为了两台处理器提供较高的可靠性服务,两台机器上的状态必须被复制,并且要持续的更新。当一台处理器出现故障时,另一台处理器能够接管故障处理的功能。

操作系统第四版-课后习题答案

操作系统第四版-课后习题答案

第一章 作者:佚名来源:网络 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操作时间由图给出。

计算机操作系统典型例题解析之三

计算机操作系统典型例题解析之三 【例1】分配到必要的资源并获得处理机时的进程状态是(B )。A、就绪状态B、执行状态 C、阻塞状态D、新状态 分析:进程有三种基本状态:就绪状态、执行状态和阻塞状态。当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机便可立即执行,这时的状态称为就绪状态;处于就绪状态的进程如果获得了处理机,其状态转换为执行状态;进程因发生某种事件(如I/O请求、申请缓冲空间等)而暂停执行时的状态,亦即进程的执行受到阻塞,故称这种状态为阻塞状态;而新状态是指创建了进程但尚未把它插入到就绪队列前的状态。所以本题的答案是B。 【例2】挂起的进程被激活,应该使用(C)原语。 A、Create B、Suspend C、Active D、Wakeup 分析:在不少系统中,进程除了三种基本状态外,又增加了一些新的状态,其中最重要的是挂起状态。“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪状态,它也不能参加对CPU的竞争,进程的挂起调用Suspend()原语。因此,被挂起的进程处于静止状态,相反,没有挂起的进程则处于活动状态。而且,处于静止状态的进程,只有通过“激活”动作,调用Active()原语,才能转换成活动状态,调入内存。所以本题的答案是C。 【例3】任何时刻总是让具有最高优先数的进程占用处理器,此时采用的进程调度算法是(D)。A非抢占式的优先数调度算法B、时间片轮转调度算法C、先来先服务调度算法D、抢占式的优先

数调度算法 分析:“让具有最高优先数的进程占用处理器”,我们可以知道,采用的进程调度算法是优先数调度算法,但是我们还要进一步分析是抢占式的还是非抢占式的。“任何时刻总让”,通过这句话我们知道采用的是抢占式的,所以本题的答案是D。 【例4】若P、V操作的信号量S初值为2,当前值为-1,则表示有(B)等待进程。A、0个B、1个C、2个D、3个分析:信号量的初始值表示系统中资源的数目,每次的Wait操作意味着进程请求一个单位的资源,信号量进行减1的操作,当信号量小于0时,表示资源已分配完毕,进程自我阻塞。因此,如果信号量小于0,那么信号量的绝对值就代表当前阻塞进程的个数。所以本题的答案是B。 【例5】发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏(A)条件是不太实际的。 A、互斥 B、请求和保 C、不剥夺 D、环路等待 分析:预防死锁是指通过破坏死锁的某个必要条件来防止死锁的发生。四个必要条件中,后三个条件都可以被破坏,而第一个条件,即“互斥”条件,对某些像打印机这样的设备,可通过SPOOLing技术予以破坏,但其他资源,因受它们的固有特性的限制,该条件不仅不能被破坏,反而应加以保证。所以本题的答案是A。 【例6】有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是1 至1-m。

(完整版)操作系统课后题答案

2 . OS的作用可表现在哪几个方面? 答:(1)0S作为用户与计算机硬件系统之间的接口;(2)0S作为计算机系统资源的管理者;(3)0S实现了对计算机资源的抽象。 5 .何谓脱机I/O 和联机I/O ? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围 机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出 都是在主机的直接控制下进行的。 11 . OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20 .试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25 ?何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽 量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核 中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2.画出下面四条语句的前趋图: S仁a : =x+y; S2=b : =z+1; S3=c : =a - b ; S4=w : =c+1; 7 ?试说明PCB的作用,为什么说PCB是进程存在的惟一标志? 答:PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在 多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程 并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11 .试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态T执行状态:进程分配到CPU资源;(2)执行状态T就绪状态:时间片用 完;(3)执行状态T阻塞状态:I/O请求;(4)阻塞状态T就绪状态:I/O完成. 19 ?为什么要在OS中引入线程? 答:在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具

(完整版)操作系统课后题答案

2.OS的作用可表现在哪几个方面? 答:(1)OS作为用户与计算机硬件系统之间的接口;(2)OS作为计算机系统资源的管理者; (3)OS实现了对计算机资源的抽象。 5.何谓脱机I/O和联机I/O? 答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。 11.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 20.试描述什么是微内核OS。 答:(1)足够小的内核;(2)基于客户/服务器模式;(3)应用机制与策略分离原理;(4)采用面向对象技术。 25.何谓微内核技术?在微内核中通常提供了哪些功能? 答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理等功能。 第二章进程管理 2. 画出下面四条语句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a – b;S4=w:=c+1; 答:其前趋图为: 7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? 答:PCB 是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。 11.试说明进程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源;(2)执行状态→就绪状态:时间片用完;(3)执行状态→阻塞状态:I/O请求;(4)阻塞状态→就绪状态:I/O完成. 19.为什么要在OS 中引入线程?

操作系统课后习题答案

第一章 1.设计现代OS的主要目标是什么? 答:(1)有效性(2)方便性(3)可扩充性(4)开放性 4.试说明推劢多道批处理系统形成和収展的主要劢力是什么? 答:主要动力来源于四个方面的社会需求与技术发展: (1)不断提高计算机资源的利用率; (2)方便用户; (3)器件的不断更新换代; (4)计算机体系结构的不断发展。 12.试从交互性、及时性以及可靠性方面,将分时系统不实时系统迚行比较。答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。 (2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。不像分时系统那样能向终端用户提供数据和资源共享等服务。 (3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。 13.OS有哪几大特征?其最基本的特征是什么? 答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。 第二章 2. 画出下面四条诧句的前趋图: S1=a:=x+y; S2=b:=z+1; S3=c:=a –b;S4=w:=c+1; 8.试说明迚程在三个基本状态之间转换的典型原因。 答:(1)就绪状态→执行状态:进程分配到CPU资源 (2)执行状态→就绪状态:时间片用完 (3)执行状态→阻塞状态:I/O请求 (4)阻塞状态→就绪状态:I/O完成

操作系统习题与解析

第二章进程的描述与控制 【例1】判断题:并发是并行的不同表述,其原理相同。() 答案×。分析并发是指多道程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。但对单CPU系统而言,每一时刻只有一个程序在CPU上运行(有可能此时其他的程序在进行输入、输出)。也就是说,占有CPU的只能有一个程序。因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。而并行是真正意义上的并行执行,因此两者的含义是不同的。 【例2】在操作系统中引入“进程”概念的主要目的是()。 A.改善用户编程环境B.提高程序的运行速度 B.C.描述程序动态执行过程的性质D.使程序与计算过程一一对应 答案C 分析操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各道程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。而程序本身是机器能够翻译或执行的一组动作或指令,它或者写在纸面上,或者存放在磁盘等介质上,是静止的。很显然,直接从程序的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。因此,用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入进程的概念来描述程序动态执行过程的性质,这是引入“进程”概念的主要目的。 【例3】下列进程状态的转换中,不正确的是()。 A.就绪 阻塞B.运行 就绪 C.就绪 运行D.阻塞 就绪 答案A 分析回答这道题要知道进程的3种基本状态,以及它们之间的转换关系。通过下图可以看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。因此A 是不正确的。 如果有的同学记不住这张图,那就从理解的角度进行思考。首先要理解3种状态的含义,然后再理解它们之间的转换。例如:运行的进程能变成就绪吗?可以,如果运行进程的时间片到了,就必修让出CPU,转换为就绪态。就绪的进程能变成阻塞吗?不可以,就绪态的进程已经具备了运行条件,只在等待CPU,怎么可能还退回到还不具备运行条件的阻塞态呢?因此,如果理解了,这张图就可以自己画出来,并不需要死记硬背。 【例4】进程控制块是描述进程状态和特性的数据结构,一个进程()。 A.可以有多个进程控制块B.可以和其他进程共用一个进程控制块

操作系统练习题

四十一、在UNIX系统中运行下面程序,最多可产生多少个进程?画出进 程家族树。P249 main() { fork(); fork(); fork(); } [分析及相关知识]系统调用fork的功能是创建一个新进程,新进程运行与其创建者一样的程序,新创建的进程称为子进程,调用fork的进程称为父进程,父子进程都从fork调用后的那条语句开始执行。 当程序执行时,若所有进程都能成功地执行系统调用fork,则会产生最多数目的进程。为了描述方便起见,将开始执行时的进程称为A进程,此时程序计数器PC,指向第一个fork调用。 main() { fork(); /* ←PC,进程A*/ fork(): fork(); } 当进程A成功地执行完第一个fork调用时,它创建了一个子进程,将此子进程称 为进程B。此时,进程A、B的程序计数器PC指向第二个fork调用,进程A派生 了1个子孙进程. main() { fork(): fork(); /* ←PC,进程A*/ fork(); } main() { fork(); fork(); /* ←PC,进程B*/ fork(); } 当进程A、B成功地执行完第二个fork调用时,它们分别创建了一个子进程,将 这些子进程分别称为进程C、D.此时,进程A、B、C、D的程序计数器PC指向第 三个fork调用,进程A派生了3个子孙进程。

main() { fork(); fork(); fork(); /* ←PC,进程A*/ } main() { fork(); fork(); fork(); /* ←PC,进程B*/ } main() { fork(); fork(); fork(); /* ←PC,进程C*/ ) main() { fork(); fork(); fork(); /* ←PC,进程D*/ ) 当进程A、B、C、D成功地执行完第三个fork调用时,它们分别创建了一个子进 程,将这些子进程分别称为进程E、F、C、H.此时,进程A、B、C、D、E、F、G、 H的程序计数器PC指向程序结束处,进程A派生了7个子孙进程。 main() { fork(); fork(); fork(); } /* ←PC,进程A*/ main() { fork(); fork(); fork(); ) /* ←PC,进程B*/ main()

操作系统课后习题答案

1.什么是操作系统?其主要功能是什么? 操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口. 2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待? (2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。 0 50 100 150 200 250 300 50 100 50 100 50 100 20 100 (1) cpu有空闲等待,在100ms~150ms的时候. (2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms. 1.设公共汽车上,司机和售票员的活动如下: 司机的活动:启动车辆;正常行车;到站停车。 售票员的活动:关车门;售票;开车门。 在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。 semaphore s1,s2; s1=0;s2=0; cobegin 司机();售票员(); coend process 司机() { while(true) { P(s1) ; 启动车辆; 正常行车; 到站停车; V(s2); } } process 售票员() { while(true) { 关车门; V(s1);

售票; P(s2); 开车门; 上下乘客; } } 2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。请用信号量和P、V操作,写出能够正确执行的程序。 semaphore sp,sq,sr; int buf;sp=1;sq=0;sr=0; cobegin process P() { while(true) { 从磁带读入数据; P(sp); Buf=data; V(sq); } } process Q() { while(true) { P(sq); data=buf; 加工data; buf=data; V(sr); } } process R() { while(true) { P(sr); data=buf; V(sp); 打印数据; } }

(完整word版)操作系统习题及参考答案.docx

CH4 应用题参考答案 1在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是: 1、2 、3 、4 、2 、1 、5 、6 、2 、1 、2 、3 、7 、 6 、3 、2 、1 、2 、 3、6 。 分别用 FIFO 、OPT 和 LRU 算法,对分配给程序 3 个页框、 4 个页框、 5 个页框和 6 个页框的情况下,分别求出缺页中断次数和缺页中断率。 答: 页框数FIFO LRU OPT 3161511 414108 51287 6977 只要把表中缺页中断次数除以20,便得到缺页中断率。 2 在一个请求分页虚拟存储管理系统中,一个作业共有 5 页,执行时其访问页面次序 为: ( 1 ) 1、4、3、1、2、5、1、4、2、1、4、5 ( 2 ) 3、2、1、4、4、5、5、3、4、3、2、1、5 若分配给该作业三个页框,分别采用 FIFO和 LRU 面替换算法,求出各自的缺页 中断次数和缺页中断率。 答:( 1 )采用 FIFO 为 9 次,9 / 12 = 75 %。采用 LRU 为 8 次,8 / 12 = 67 %。( 2)采用FIFO和LRU均为9次,9 / 13 = 69%。 3一个页式存储管理系统使用 FIFO 、OPT 和 LRU 页面替换算法,如果一个作业的页面走向为: ( l ) 2、3、2、l、5、2、4、5、3、2、5、2。 ( 2 ) 4、3、2、l、4、3、5、4、3、2、l、5。 ( 3 ) 1、2、3、4、1、2、5、l、2、3、4、5。

当分配给该作业的物理块数分别为 3 和 4 时,试计算访问过程中发生的缺页中断 次数和缺页中断率。 答: ( l )作业的物理块数为3块,使用 FIFO 为 9次, 9 / 12 = 75%。使用 LRU 为 7次, 7 / 12 = 58%。使用 OPT 为 6 次, 6 / 12 = = 50%。 作业的物理块数为4块,使用 FIFO 为 6次, 6 / 12 = 50%。使用 LRU 为 6次, 6 / 12 = 50%。使用 OPT 为 5 次, 5 /12 = 42 %。 ( 2 )作业的物理块数为3块,使用 FIFO 为 9次, 9 / 12 = 75%。使用 LRU 为 10 次, 10 / 12 = 83%。使用 OPT 为 7次, 7/12 = 58%。 作业的物理块数为 4块,使用 FIFO 为 10次, 10 / 12 = 83 %。使用LRU 为 8 次, 8/12 =66%。使用 OPT为 6 次, 6/12 =50%. 其中,出现了 Belady 现象,增加分给作业的内存块数,反使缺页中断率上升。 4、在可变分区存储管理下,按地址排列的内存空闲区为: 10K 、4K 、20K 、18K 、7K 、 9K 、12K 和 15K 。对于下列的连续存储区的请求: ( l ) 12K 、10K 、 9K , ( 2 ) 12K 、10K 、15K 、18K 试问:使用首次适应算法、最佳适应算法、最差适应算法和下次适应算法,哪个空闲区被使用? 答: ( 1)空闲分区如图所示。 答 分区号分区长 110K 24K 320K 418K 57K 69K 712K 815K 1)首次适应算法 12KB 选中分区 3 ,这时分区 3 还剩 8KB 。10KB 选中分区 1 ,恰好分配故应删去分区 1 。9KB 选中分区 4 ,这时分区 4 还剩 9KB 。

操作系统课后题答案

2.1 一类操作系统服务提供对用户很有用的函数,主要包括用户界面、程序执行、I/O操作、文件系统操作、通信、错误检测等。 另一类操作系统函数不是帮助用户而是确保系统本身高效运行,包括资源分配、统计、保护和安全等。 这两类服务的区别在于服务的对象不同,一类是针对用户,另一类是针对系统本身。 2.6 优点:采用同样的系统调用界面,可以使用户的程序代码用相同的方式被写入设备和文件,利于用户程序的开发。还利于设备驱动程序代码,可以支持规范定义的API。 缺点:系统调用为所需要的服务提供最小的系统接口来实现所需要的功能,由于设备和文件读写速度不同,若是同一接口的话可能会处理不过来。 2.9 策略决定做什么,机制决定如何做。他们两个的区分对于灵活性来说很重要。策略可能会随时间或位置而有所改变。在最坏的情况下,每次策略改变都可能需要底层机制的改变。系统更需要通用机制,这样策略的改变只需要重定义一些系统参数,而不需要改变机制,提高了系统灵活性。 3.1、短期调度:从准备执行的进程中选择进程,并为之分配CPU; 中期调度:在分时系统中使用,进程能从内存中移出,之后,进程能被重新调入内存,并从中断处继续执行,采用了交换的方案。 长期调度:从缓冲池中选择进程,并装入内存以准备执行。 它们的主要区别是它们执行的频率。短期调度必须频繁地为CPU选择新进程,而长期调度程序执行地并不频繁,只有当进程离开系统后,才可能需要调度长期调度程序。 3.4、当控制返回到父进程时,value值不变,A行将输出:PARENT:value=5。 4.1、对于顺序结构的程序来说,单线程要比多线程的功能好,比如(1)输入三角形的三边长,求三角形面积;(2)从键盘输入一个大写字母,将它改为小写字母输出。

操作系统练习题_及答案解析

操作系统练习题 第一章引言 (一单项选择题 1操作系统是计算机系统的一种( 。A.应用软件 B.系统软件c.通用软件D.工具软件 2.操作系统目的是提供一个供其他程序执行的良好环境,因此它必须使计算机( A.使用方便 B.高效工作 C.合理使用资源 D.使用方便并高效工作 3.允许多个用户以交互方式使用计算机的操作系统是( 。A.分时操作系统 B.批处理单道系统 C.实时操作系统 D.批处理多道系统 4.下列系统中( 是实时系统。A.计算机激光照排系统 B.办公自动化系统 C.化学反应堆控制系统 D.计算机辅助设计系统 5.操作系统是一种系统软件,它( 。A.控制程序的执行 B.管理计算机系统的资源 C.方便用户使用计算机 D.管理计算机系统的资源和控制程序的执行 6.计算机系统把进行( 和控制程序执行的功能集中组成一种软件,称为操作系统 A.CPU管理 B.作业管理 C.资源管理 D.设备管理 7.批处理操作系统提高了计算机系统的工作效率,但( 。 A.不能自动选择作业执行 B.无法协调资源分配 c.不能缩短作业执行时间 D在作业执行时用户不能直接干预 8.分时操作系统适用于( 。A.控制生产流水线B.调试运行程序c.大量的数据处理D.多个计算机资源共享 9.在混合型操作系统中,“前台”作业往往是指( 。A.由批量单道系统控制的作业 B.由批量多道系统控制的作业 c.由分时系统控制的作业D.由实时系统控制的作业

10.在批处理兼分时的系统中,对( 应该及时响应,使用户满意。A.批量作业B.前台作业c.后台作业D.网络通信 11.实时操作系统对可靠性和安全性要求极高,它( 。A.十分注重系统资源的利用率B.不强调响应速度 c.不强求系统资源的利用率 D.不必向用户反馈信息 12.分布式操作系统与网络操作系统本质上的不同之处在于( 。A.实现各台计算机之间的通信B.共享网络个的资源 c.满足较大规模的应用 D.系统中若干台计算机相互协作完成同一任务 13.SPOOL技术用于( 。A.存储管理B.设备管理C.文件管理 D.作业管理 14.( 为用户分配主存空间,保护主存中的程序和数据不被破坏,提高主存空间的利用率。 A处理器管理 B.存储管理 c.文件管理 D.作业管理 (二填空题 1. 计算机系统是按用户要求接收和存储信息,自动进行_______并输出结果信息的系统。 2.计算机是由硬件系统和_______系统组成。 3.软件系统由各种_______和数据组成。 4.计算机系统把进行_______和控制程序执行的功能集中组成一种软件称为操作系统。 5.操作系统使用户合理_______,防止各用户间相互干扰。 6.使计算机系统使用方便和_______是操作系统的两个主要设计目标。 7.批处理操作系统、_______和实时操作系统是基本的操作系统。 8.用户要求计算机系统中进行处理的一个计算机问题称为_______。

相关主题