发布时间 : 星期五 文章最新操作系统第九版部分课后作业习题答案分析解析更新完毕开始阅读
精品文档
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.
精品文档