270 likes | 422 Views
File System Implementation. Chapter 6.3 Thursday, April 19, 2007. Today’s Schedule. Files Overview of files & directories (6.1-2) System Implementation (Chapter 6.3). Objectives. You will be able to describe: User’s view of file and directory File abstractions provided by O/S
E N D
File System Implementation Chapter 6.3 Thursday, April 19, 2007
Today’s Schedule • Files • Overview of files & directories (6.1-2) • System Implementation (Chapter 6.3)
Objectives You will be able to describe: • User’s view of file and directory • File abstractions provided by O/S • Different file types according to how they are laid out on disk blocks
Files: Long-term Information Storage • Must store large amounts of data • Information stored must survive the termination of the process using it • Multiple processes must be able to access the information concurrently
File Structure • Three kinds of files • byte sequence • record sequence • tree
File Access • Sequential access • read all bytes/records from the beginning • cannot jump around, could rewind or back up • convenient when medium was mag tape • Random access • bytes/records read in any order • essential for data base systems • read can be … • move file marker (seek), then read or … • read and then move file marker
File Attributes Possible file attributes
Create Delete Open Close Read Write Append Seek Get attributes Set Attributes Rename File Operations – Interface Abstractions
Memory-Mapped Files (a) Segmented process before mapping files into its address space (b) Process after mapping existing file abc into one segment creating new segment for xyzShared file use problem???
DirectoriesSingle-Level Directory Systems • A single level directory system • contains 4 files • owned by 3 different people, A, B, and C
Two-level Directory Systems Letters indicate owners of the directories and files
Hierarchical Directory Systems A hierarchical directory system
Path Names A UNIX directory tree
Create Delete Opendir Closedir Readdir Rename Link Unlink Directory Operations
File System Implementation A possible file system layout
Contiguous Allocation (a) Contiguous allocation of disk space for 7 files (b) State of the disk after files D and E have been removed
Linked List Allocation Storing a file as a linked list of disk blocksSequential read is easy
Linked List Using Table in Memory Linked list allocation using a file allocation table in RAM
I-Nodes An example i-node
The UNIX V7 File System A UNIX i-node Accommodating larger files!
Implementing Directories Where store file attributes?(a) A simple directory fixed size entries disk addresses and attributes in directory entry (b) Directory in which each entry just refers to an i-node
Handling Shared Files File system containing a shared file
Shared Files (a) Situation prior to linking (b) After the link is created (c)After the original owner removes the file
Let’s Try some … • Chapter 6 Problems, Pg 449 • Problems #2, 6, 9, 10, 11, 12, 15
Tuesday, April 24 • Read Chapter 6 File Systems • 6.3 - Files • 6.4 – Example Systems