chapter 06
TRANSCRIPT
![Page 1: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/1.jpg)
1
File Systems
Chapter 6
6.1 Files 6.2 Directories 6.3 File system implementation 6.4 Example file systems
![Page 2: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/2.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/3.jpg)
3
File Naming
Typical file extensions.
![Page 4: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/4.jpg)
4
File Structure
• Three kinds of files– byte sequence– record sequence– tree
![Page 5: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/5.jpg)
5
File Types
(a) An executable file (b) An archive
![Page 6: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/6.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/7.jpg)
7
File Attributes
Possible file attributes
![Page 8: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/8.jpg)
8
File Operations
1. Create
2. Delete
3. Open
4. Close
5. Read
6. Write
7. Append
8. Seek
9. Get attributes
10.Set Attributes
11.Rename
![Page 9: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/9.jpg)
9
An Example Program Using File System Calls (1/2)
![Page 10: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/10.jpg)
10
An Example Program Using File System Calls (2/2)
![Page 11: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/11.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/12.jpg)
12
DirectoriesSingle-Level Directory Systems
• A single level directory system– contains 4 files– owned by 3 different people, A, B, and C
![Page 13: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/13.jpg)
13
Two-level Directory Systems
Letters indicate owners of the directories and files
![Page 14: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/14.jpg)
14
Hierarchical Directory Systems
A hierarchical directory system
![Page 15: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/15.jpg)
15
A UNIX directory tree
Path Names
![Page 16: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/16.jpg)
16
Directory Operations
1. Create
2. Delete
3. Opendir
4. Closedir
5. Readdir
6. Rename
7. Link
8. Unlink
![Page 17: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/17.jpg)
17
File System Implementation
A possible file system layout
![Page 18: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/18.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/19.jpg)
19
Implementing Files (2)
Storing a file as a linked list of disk blocks
![Page 20: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/20.jpg)
20
Implementing Files (3)
Linked list allocation using a file allocation table in RAM
![Page 21: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/21.jpg)
21
Implementing Files (4)
An example i-node
![Page 22: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/22.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/23.jpg)
23
Implementing Directories (2)
• Two ways of handling long file names in directory– (a) In-line– (b) In a heap
![Page 24: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/24.jpg)
24
Shared Files (1)
File system containing a shared file
![Page 25: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/25.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/26.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/27.jpg)
27
Disk Space Management (2)
(a) Storing the free list on a linked list(b) A bit map
![Page 28: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/28.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/29.jpg)
29
Disk Space Management (4)
Quotas for keeping track of each user’s disk use
![Page 30: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/30.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/31.jpg)
31
File System Reliability (2)
Bit maps used by the logical dumping algorithm
![Page 32: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/32.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/33.jpg)
33
File System Performance (1)
The block cache data structures
![Page 34: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/34.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/35.jpg)
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: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/36.jpg)
36
Example File Systems CD-ROM File Systems
The ISO 9660 directory entry
![Page 37: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/37.jpg)
37
The CP/M File System (1)
Memory layout of CP/M
![Page 38: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/38.jpg)
38
The CP/M File System (2)
The CP/M directory entry format
![Page 39: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/39.jpg)
39
The MS-DOS File System (1)
The MS-DOS directory entry
![Page 40: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/40.jpg)
40
The MS-DOS File System (2)
• Maximum partition for different block sizes• The empty boxes represent forbidden combinations
![Page 41: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/41.jpg)
41
The Windows 98 File System (1)
The extended MOS-DOS directory entry used in Windows 98
Bytes
![Page 42: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/42.jpg)
42
The Windows 98 File System (2)
An entry for (part of) a long file name in Windows 98
Bytes
Checksum
![Page 43: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/43.jpg)
43
The Windows 98 File System (3)
An example of how a long name is stored in Windows 98
![Page 44: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/44.jpg)
44
The UNIX V7 File System (1)
A UNIX V7 directory entry
![Page 45: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/45.jpg)
45
The UNIX V7 File System (2)
A UNIX i-node
![Page 46: Chapter 06](https://reader036.vdocuments.site/reader036/viewer/2022062702/554928acb4c9054c498bd9f5/html5/thumbnails/46.jpg)
46
The UNIX V7 File System (3)
The steps in looking up /usr/ast/mbox