This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 1 Chapter 11 (Revision number 5) File System In this chapter, we will discuss issues related to mass storage systems. In particular, we will discuss the choices in designing a file system and its implementation on the disk (hard drive as it is popularly referred to in the personal computer parlance). What is a file ? We have all seen physical filing cabinets and manila file folders with papers in them. Typically, tags on the folders identify the content for easy retrieval (see Figure 11.1). Usually, we may keep a directory folder that tells us the organization of the files in the filing cabinet. A computer file system is similar to a physical filing cabinet. Each file (similar to a manila file folder) is a collection of information with attributes associated with the information. Process is the software abstraction for the processor; data structure is the software abstraction for memory. Similarly, a file is the software abstraction for an input/output device since a device serves as either a source or sink of information. This abstraction allows a user program to interact with I/O in a device independent manner. First, we will discuss the attributes associated with a file and the design choices therein, and then consider the design choices in its implementation on a mass storage device. 11.1 Attributes We refer to the attributes associated with a file as metadata . The metadata represents space overhead and therefore requires careful analysis as to its utility. What are the attributes we may want to associate with a file? Figure 11.1: File cabinet and file folder 2 ¡ Name: This attribute allows logically identifying the contents of the file. For example, if we are storing music files we may want to give a unique name to each recording. To enable easy lookup, we may keep a single directory file that contains the names of all the music recordings. Such a single level naming scheme used in early storage systems such as Univac Exec 8 computer systems (in the 70’s), is clearly restrictive. Later systems such as DEC TOPS-10 (in the early 80’s) used a two-level naming scheme. A top-level directory allows getting to an individual user or a project (e.g. recordings of Billy Joel). The second level identifies a specific file for that user/project (e.g. a specific song). However, as systems grew in size it became clear that we need a more hierarchical structure to a name (e.g. each user may want to have his/her own music collection of different artists). In other words, we may need a multi-level directory as shown in Figure 11.2. Most modern operating systems such as Windows XP, Unix, and MacOS implement a multi-part hierarchical name. Each part of the name is unique only with respect to the previous parts of the name. This gives a tree structure to the organization of the files in a file system as shown in Figure 11.3. Each node in the tree is a name that is unique with respect to its parent node. What are directories? They are files as well....
View Full Document
This note was uploaded on 11/25/2010 for the course CENG 100 taught by Professor Ceng during the Spring '10 term at Universidad Europea de Madrid.
- Spring '10