File Systems Topics –File –Directory –File System Implementation Reference: Chapter 5: File...

Post on 15-Jan-2016

227 views 0 download

Tags:

transcript

File Systems

Topics– File– Directory– File System Implementation

Reference: Chapter 5: File Systems

Operating Systems Design and Implementation (Second Edition)

by Andrew S. Tanenbaum, Albert S. Woodhull

File: Long-term Information Storage

1. Must store large amounts of data

2. Information stored must survive the termination of the process using it

3. Multiple processes must be able to access the information concurrently

File Naming

Typical file extensions.

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 magnetic 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

File Operations

1. Create2. Delete3. Open4. Close5. Read6. Write

7. Append8. Seek9. Get attributes10.Set Attributes11.Rename

A UNIX directory tree

Path Names

Directory Operations

1. Create2. Delete3. Opendir4. Closedir

5. Readdir6. Rename7. Link8. Unlink

File System Implementation

• Contiguous Allocation• Linked List Allocation• Linked List Allocation using Index

– FAT used by WINDOWS• I-nodes

– Used by UNIX

Contiguous Allocation

(a) Contiguous allocation of disk space for 7 files(b) State of the disk after files D and E have been removed

Drawback

• Have to know maximum size of the file while creation

• Fragmentation

Linked List Allocation

Storing a file as a linked list of disk blocks

Advantage• No fragmentation (except internal fragmentation)

Drawback• Random access is slow

Linked List Allocation using Index

Linked list allocation using a file allocation table in RAM

Fast Random Access

I-node

A UNIX i-node

Implementing Directories

(a) A simple directoryfixed size entriesdisk addresses and attributes in directory entry

(b) Directory in which each entry just refers to an i-node

MS-DOS Directory Entry

The MS-DOS directory entry

The UNIX Directory Entry

A UNIX V7 directory entry

Looking up for an entry

The steps in looking up /usr/ast/mbox