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

发布时间 : 星期五 文章操作系统第九版部分课后作业习题答案更新完毕开始阅读

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 speci?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 calls into ?le-system-speci?c operations.

联系合同范文客服:xxxxx#qq.com(#替换为@)