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—if ?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 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.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统第九版部分课后作业习题答案(4)在线全文阅读。
相关推荐: