file systems

46
1 File Systems Chapter 6 6.1 Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems

Upload: nyoko

Post on 25-Feb-2016

16 views

Category:

Documents


0 download

DESCRIPTION

File Systems. 6.1 Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems . Chapter 6. Long-term Information Storage. Must store large amounts of data Information stored must survive the termination of the process using it - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: File Systems

1

File Systems

Chapter 6

6.1 Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems

Page 2: File Systems

2

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

Page 3: File Systems

3

File Naming

Typical file extensions.

Page 4: File Systems

4

File Structure

• Three kinds of files– byte sequence– record sequence– tree

Page 5: File Systems

5

File Types

(a) An executable file (b) An archive

Page 6: File Systems

6

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

Page 7: File Systems

7

File Attributes

Possible file attributes

Page 8: File Systems

8

File Operations

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

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

Page 9: File Systems

9

An Example Program Using File System Calls (1/2)

Page 10: File Systems

10

An Example Program Using File System Calls (2/2)

Page 11: File Systems

11

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 xyz

Page 12: File Systems

12

DirectoriesSingle-Level Directory Systems

• A single level directory system– contains 4 files– owned by 3 different people, A, B, and C

Page 13: File Systems

13

Two-level Directory Systems

Letters indicate owners of the directories and files

Page 14: File Systems

14

Hierarchical Directory Systems

A hierarchical directory system

Page 15: File Systems

15

A UNIX directory tree

Path Names

Page 16: File Systems

16

Directory Operations

1. Create2. Delete3. Opendir4. Closedir

5. Readdir6. Rename7. Link8. Unlink

Page 17: File Systems

17

File System Implementation

A possible file system layout

Page 18: File Systems

18

Implementing Files (1)

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

Page 19: File Systems

19

Implementing Files (2)

Storing a file as a linked list of disk blocks

Page 20: File Systems

20

Implementing Files (3)

Linked list allocation using a file allocation table in RAM

Page 21: File Systems

21

Implementing Files (4)

An example i-node

Page 22: File Systems

22

Implementing Directories (1)

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

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

Page 23: File Systems

23

Implementing Directories (2)

• Two ways of handling long file names in directory– (a) In-line– (b) In a heap

Page 24: File Systems

24

Shared Files (1)

File system containing a shared file

Page 25: File Systems

25

Shared Files (2)

(a) Situation prior to linking(b) After the link is created(c)After the original owner removes the file

Page 26: File Systems

26

Disk Space Management (1)

• Dark line (left hand scale) gives data rate of a disk• Dotted line (right hand scale) gives disk space efficiency• All files 2KB

Block size

Page 27: File Systems

27

Disk Space Management (2)

(a) Storing the free list on a linked list(b) A bit map

Page 28: File Systems

28

Disk Space Management (3)

(a) Almost-full block of pointers to free disk blocks in RAM- three blocks of pointers on disk

(b) Result of freeing a 3-block file(c) Alternative strategy for handling 3 free blocks

- shaded entries are pointers to free disk blocks

Page 29: File Systems

29

Disk Space Management (4)

Quotas for keeping track of each user’s disk use

Page 30: File Systems

30

File System Reliability (1)

• A file system to be dumped– squares are directories, circles are files– shaded items, modified since last dump– each directory & file labeled by i-node number

File that hasnot changed

Page 31: File Systems

31

File System Reliability (2)

Bit maps used by the logical dumping algorithm

Page 32: File Systems

32

File System Reliability (3)

• File system states(a) consistent(b) missing block(c) duplicate block in free list(d) duplicate data block

Page 33: File Systems

33

File System Performance (1)

The block cache data structures

Page 34: File Systems

34

File System Performance (2)

• I-nodes placed at the start of the disk• Disk divided into cylinder groups

– each with its own blocks and i-nodes

Page 35: File Systems

35

Log-Structured File Systems• With CPUs faster, memory larger

– disk caches can also be larger– increasing number of read requests can come from cache– thus, most disk accesses will be writes

• LFS Strategy structures entire disk as a log– have all writes initially buffered in memory– periodically write these to the end of the disk log– when file opened, locate i-node, then find blocks

Page 36: File Systems

36

Example File Systems CD-ROM File Systems

The ISO 9660 directory entry

Page 37: File Systems

37

The CP/M File System (1)

Memory layout of CP/M

Page 38: File Systems

38

The CP/M File System (2)

The CP/M directory entry format

Page 39: File Systems

39

The MS-DOS File System (1)

The MS-DOS directory entry

Page 40: File Systems

40

The MS-DOS File System (2)

• Maximum partition for different block sizes• The empty boxes represent forbidden combinations

Page 41: File Systems

41

The Windows 98 File System (1)

The extended MOS-DOS directory entry used in Windows 98

Bytes

Page 42: File Systems

42

The Windows 98 File System (2)

An entry for (part of) a long file name in Windows 98

Bytes

Checksum

Page 43: File Systems

43

The Windows 98 File System (3)

An example of how a long name is stored in Windows 98

Page 44: File Systems

44

The UNIX V7 File System (1)

A UNIX V7 directory entry

Page 45: File Systems

45

The UNIX V7 File System (2)

A UNIX i-node

Page 46: File Systems

46

The UNIX V7 File System (3)

The steps in looking up /usr/ast/mbox