File -System Implementation
As we saw in Chapter 10, the file system provides the mechanism for on-line storage and access to file contents, including data and programs. The file system resides permanently on secondary storage, which is designed to hold a large amount of data permanently. This chapter is primarily concerned with issues surrounding file storage and access on the most common secondary-storage medium, the disk. We explore ways to structure file use, to allocate disk space, to recover freed space, to track the locations of data, and to interface other parts of the operating system to secondary storage. Performance issues are considered throughout the chapter.
• To describe the details of implementing local file systems and directory structures.
• To describe the implementation of remote file systems.
• To discuss block allocation and free-block algorithms and trade-offs.
11.1 File-System Structure
Disks provide the bulk of secondary storage on which a file system is maintained. They have two characteristics that make them a convenient medium for storing multiple files:
1. A disk can be rewritten in place; it is possible to read a block ...