Chapter%204%20:%20File%20Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Chapter%204%20:%20File%20Systems

Description:

Regular (ASCII, binary) Directories. Character special files. Block special files. File access ... File Position Field in Process Table ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 40
Provided by: fpayid
Category:

less

Transcript and Presenter's Notes

Title: Chapter%204%20:%20File%20Systems


1
Chapter 4 File Systems
  • What is a file system?
  • Objectives user requirements
  • Characteristics of files directories
  • File system implementation
  • Directory implementation
  • Free blocks management
  • Increasing file system performance

2
File System
  • The collection of algorithms and data structures
    which perform the translation from logical file
    operations (system calls) to actual physical
    storage of information

3
Objectives of a File System
  • Provide storage of data and manipulation
  • Guarantee consistency of data and minimise errors
  • Optimise performance (system and user)
  • Eliminate data loss (data destruction)
  • Support variety of I/O devices
  • Provide a standard user interface
  • Support multiple users

4
User Requirements
  • Access files using a symbolic name
  • Capability to create, delete and change files
  • Controlled access to system and other users
    files
  • Control own access rights
  • Capability of restructuring files
  • Capability to move data between files
  • Backup and recovery of files

5
Files
  • Naming
  • Name formation
  • Extensions (Some typical extensions are shown
    below)

6
Files (Cont.)
  • Structuring
  • (a) Byte sequence (as in DOS, Windows UNIX)
  • (b) Record sequence (as in old systems)
  • (c) Tree structure (as in some mainframe Oses)

7
Files (Cont.)
  • File types
  • Regular (ASCII, binary)
  • Directories
  • Character special files
  • Block special files
  • File access
  • Sequential access
  • Random access

8
Files (Cont.)
  • File attributes
  • Read, write, execute, archive, hidden, system
    etc.
  • Creation, last access, last modification

9
Files (Cont.)
  • File operations
  1. Create
  2. Delete
  3. Open
  4. Close
  5. Read
  6. Write
  1. Append
  2. Seek
  3. Get attributes
  4. Set Attributes
  5. Rename

10
Directories
  • Where to store attributes
  • In directory entry (DOS, Windows)
  • In a separate data structure (UNIX)
  • Path names
  • Absolute path name
  • Relative path name
  • Working (current) directory
  • Operations
  • Create, delete, rename, open directory, close
    directory, read directory, link (mount), unlink

11
Directories Files (UNIX)
Working Directory
  • Working directory d2
  • Absolute path to file f2 /d1/d2/f2
  • Relative path to file f2 f2

12
Physical Disk Space Management
Sector
Track
  • Each plate is composed of sectors or physical
    blocks which are laid along concentric tracks
  • Sectors are at least 512 bytes in size
  • Sectors under the head and accessed without a
    head movement form a cylinder

13
File System Implementation
  • Contiguous allocation
  • Linked list allocation
  • Linked list allocation using an index (DOS file
    allocation table - FAT)
  • i-nodes (UNIX)

14
Contiguous Allocation
  • The file is stored as a contiguous block of data
    allocated at file creation

(a) Contiguous allocation of disk space for 7
files (b) State of the disk after files D and E
have been removed
15
Contiguous Allocation (Cont.)
  • FAT (file allocation table) contains file name,
    start block, length
  • Advantages
  • Simple to implement (start block length is
    enough to define a file)
  • Fast access as blocks follow each other
  • Disadvantages
  • Fragmentation
  • Re-allocation (compaction)

16
Linked List Allocation
  • The file is stored as a linked list of blocks

17
Linked List Allocation (Cont.)
  • Each block contains a pointer to the next block
  • FAT (file allocation table) contains file name,
    first block address
  • Advantages
  • Fragmentation is eliminated
  • Block size is not a power of 2 because of pointer
    space
  • Disadvantages
  • Random access is very slow as links have to be
    followed

18
Linked list allocation using an index (DOS FAT)
FAT (File allocation table)
Disk size
EOF
Free
5
Free
File blocks
7
Bad
First block address is in directory entry
1

n
Free
19
Linked list allocation using an index (Cont.)
  • The DOS (Windows) FAT is arranged this way
  • All block pointers are in FAT so that dont take
    up space in actual block
  • Random access is faster since FAT is always in
    memory
  • 16-bit DOS FAT length is (655362)2 131076
    bytes

20
Problem
  • 16-bit DOS FAT can only accommodate 65536
    pointers (ie., a maximum of 64 MB disk)
  • How can we handle large disks such as a 4 GB
    disk?

Clustering
21
i (index)-nodes (UNIX)
22
i-nodes (Cont.)
  • Assume each block is 1 KB in size and 32 bits (4
    bytes) are used as block numbers
  • Each indirect block holds 256 block numbers
  • First 10 blocks file size lt 10 KB
  • Single indirect file size lt 25610 266 KB
  • Double indirect file size lt 256256 266
    65802 KB 64.26 MB
  • Triple indirect file size lt 256256256
    65802 16843018 KB 16 GB

23
Directory Implementation
  • DOS (Windows) directory structure
  • UNIX directory structure

24
DOS (Windows) Directory Structure (32 bytes)
Attributes (A,D,V,S,H,R)
Pointer to first data block
25
UNIX Directory Structure (16 bytes)
26
The Windows 98 Directory Structure
  • Extended MS DOS Directory Entry
  • An entry for (part of) a long file name

27
The Windows 98 Directory Structure
An example of how a long name is stored in
Windows 98
28
Path Name Lookup /usr/ast/mbox
Blocks of file
29
Two ways of handling long file names in a
Directory
In-line In a heap
30
Shared Files
  • File f2 is shared by two paths (users!) and there
    is one physical copy.
  • The directories d1 d2 point to the same
    i-node with link count equal to 2
  • Deletion is done by decrementing the link count.
    When it reaches zero the file is deleted
    physically

31
Disk Space Management
Block size
  • Dark line (left hand scale) gives data rate of a
    disk
  • Dotted line (right hand scale) gives disk space
    efficiency
  • All files 2KB

32
How to Keep Track of Free Disk Blocks
  • Linked list of disk blocks
  • Bit maps
  • Indexing as used in DOS FAT

33
Linked List of Disk Blocks
  • Allocation is simple.
  • Delete block number from free blocks list

34
Bit Maps
  • The bit map is implemented by reserving a bit
    string whose length equals the number of blocks
  • A 1 may indicate that the block is used and 0
    for free blocks
  • If the disk is nearly full then the bit map
    method may not be as fast as the linked list
    method

35
Increasing File System Performance
  • Disks (floopies, hard disks, CD ROMS) are still
    slow when compared to the memory
  • Use of a memory cache may speed the disk
    transfers between disk and process
  • Blocks are read into the cache first. Subsequent
    accesses are through the cache
  • Blocks are swapped in out using replacement
    algorithms such as FIFO, LRU
  • System crashes may cause data loss if modified
    blocks are not written back to disk

36
Where to Put the Current File Position Field
  • The file position field is a 16 or 32 bit
    variable which holds the address of the next byte
    to be read or written in a file
  • Put it in the i-node
  • Put it in process table

37
File Position Field in i-node
  • If two or more processes share the same file,
    then they must have a different file position
  • Since i-node is unique for a file, the file
    position can not be put in the i-node

38
File Position Field in Process Table
  • When a process forks, both the parent and the
    child must have the same file position
  • Since the parent and the child have different
    process tables they can not share the same file
    position
  • So, we can not put in process table

39
Solution
  • Use an intermediate table for file positions

Process tables
i-node of file
Write a Comment
User Comments (0)
About PowerShow.com