Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ceng Operating Systems

Similar presentations


Presentation on theme: "Ceng Operating Systems"— Presentation transcript:

1 Ceng 334 - Operating Systems
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 Ceng Operating Systems

2 Ceng 334 - Operating Systems
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 Ceng Operating Systems

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 Ceng Operating Systems

4 Ceng 334 - Operating Systems
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 Ceng Operating Systems

5 Ceng 334 - Operating Systems
Files Naming Name formation Extensions (Some typical extensions are shown below) Ceng Operating Systems

6 Ceng 334 - Operating Systems
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) Ceng Operating Systems

7 Ceng 334 - Operating Systems
Files (Cont.) File types Regular (ASCII, binary) Directories Character special files Block special files File access Sequential access Random access Ceng Operating Systems

8 Ceng 334 - Operating Systems
Files (Cont.) File attributes Read, write, execute, archive, hidden, system etc. Creation, last access, last modification Ceng Operating Systems

9 Ceng 334 - Operating Systems
Files (Cont.) File operations Create Delete Open Close Read Write Append Seek Get attributes Set Attributes Rename Ceng Operating Systems

10 Ceng 334 - Operating Systems
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 Ceng Operating Systems

11 Directories & Files (UNIX)
/ d1 f4 f5 f7 d3 d4 d5 d6 f6 Disk A Disk B Root Directory Linked Branch Working Directory Working directory : d2 Absolute path to file f2 : /d1/d2/f2 Relative path to file f2 : f2 Ceng Operating Systems

12 Physical Disk Space Management
Sector Heads Cylinder 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 Ceng Operating Systems

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

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 Ceng Operating Systems

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) Ceng Operating Systems

16 Linked List Allocation
The file is stored as a linked list of blocks Ceng Operating Systems

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 Ceng Operating Systems

18 Linked list allocation using an index (DOS FAT)
Disk size EOF 1 Free 5 7 Bad ….. 3 2 4 6 FAT (File allocation table) File blocks n First block address is in directory entry Ceng Operating Systems

19 Linked list allocation using an index (Cont.)
The DOS (Windows) FAT is arranged this way All block pointers are in FAT so that don’t take up space in actual block Random access is faster since FAT is always in memory 16-bit DOS FAT length is ( )*2 = bytes Ceng Operating Systems

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

21 i (index)-nodes (UNIX)
File mode Number of links UID GID File size Time created Time last accessed Time last modified 10 disk block numbers Single indirect block Triple indirect block Double indirect block Indirect blocks Data blocks Ceng Operating Systems

22 Ceng 334 - Operating Systems
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 <= 10 KB Single indirect : file size <= = 266 KB Double indirect : file size <= 256* = KB = MB Triple indirect : file size <= 256*256* = KB = ~16 GB Ceng Operating Systems

23 Directory Implementation
DOS (Windows) directory structure UNIX directory structure Ceng Operating Systems

24 DOS (Windows) Directory Structure (32 bytes)
File name Ext A Reserved T P D Size 8 bytes 3 1 10 2 4 Date of creation Time of creation Attributes (A,D,V,S,H,R) Pointer to first data block Ceng Operating Systems

25 UNIX Directory Structure (16 bytes)
I-node # File name 2 bytes 14 bytes Ceng Operating Systems

26 The Windows 98 Directory Structure
Extended MS DOS Directory Entry An entry for (part of) a long file name Ceng Operating Systems

27 The Windows 98 Directory Structure
An example of how a long name is stored in Windows 98 Ceng Operating Systems

28 Path Name Lookup : /usr/ast/mbox
245 Root (/) i-node 1 . .. 4 bin 7 dev 14 lib 9 etc 6 usr Root directory file block 245 132 i-node 6 of /usr 6 . 1 .. 19 prog 30 stu 51 html 26 ast 45 genc /usr directory file block 132 26 . 6 .. 60 mbox 92 books 81 src /usr/ast directory file block 406 i-node 60 of /usr/ast/mbox 406 i-node 26 of /usr/ast Blocks of file Ceng Operating Systems

29 Two ways of handling long file names in a Directory
In-line In a heap Ceng Operating Systems

30 Ceng 334 - Operating Systems
Shared Files / d1 d2 f1 f2 f3 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 Ceng Operating Systems

31 Ceng 334 - Operating Systems
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 Ceng Operating Systems

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

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

34 Ceng 334 - Operating Systems
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 Ceng Operating Systems

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 Ceng Operating Systems

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 Ceng Operating Systems

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 Ceng Operating Systems

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 Ceng Operating Systems

39 Ceng 334 - Operating Systems
Solution Use an intermediate table for file positions parent child Process tables position File positions table i-node of file Ceng Operating Systems


Download ppt "Ceng Operating Systems"

Similar presentations


Ads by Google