module 10: file-system interface · 2004-09-29 · operating system concepts 10.4 silberschatz and...
TRANSCRIPT
![Page 1: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/1.jpg)
Operating System Concepts Silberschatz and Galvin 199910.1
Module 10: File-System Interface
• File Concept
• Access :Methods
• Directory Structure
• Protection
• Consistency Semantics
![Page 2: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/2.jpg)
Operating System Concepts Silberschatz and Galvin 199910.2
File Concept
• Contiguous logical address space
• Types:– Data
✴ numeric✴ character✴ binary
– Program
![Page 3: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/3.jpg)
Operating System Concepts Silberschatz and Galvin 199910.3
File Structure
• None - sequence of words, bytes
• Simple record structure– Lines– Fixed length– Variable length
• Complex Structures– Formatted document– Relocatable load file
• Can simulate last two with first method by inserting appropriatecontrol characters.
• Who decides:– Operating system– Program
![Page 4: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/4.jpg)
Operating System Concepts Silberschatz and Galvin 199910.4
File Attributes
• Name – only information kept in human-readable form.
• Type – needed for systems that support different types.
• Location – pointer to file location on device.
• Size – current file size.
• Protection – controls who can do reading, writing, executing.
• Time, date, and user identification – data for protection,security, and usage monitoring.
• Information about files are kept in the directory structure, which ismaintained on the disk.
![Page 5: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/5.jpg)
Operating System Concepts Silberschatz and Galvin 199910.5
File Operations
• create
• write
• read
• reposition within file – file seek
• delete
• truncate
• open(Fi) – search the directory structure on disk for entry Fi, andmove the content of entry to memory.
• close (Fi) – move the content of entry Fi in memory to directorystructure on disk.
![Page 6: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/6.jpg)
Operating System Concepts Silberschatz and Galvin 199910.6
File Types – name, extension
Executable exe , com, bin ornone
ready-to-run machine-language program
Object obj, o complied, machinelanguage , not linked
Source code c, p, pas , 177,asm, a
source code in variouslanguages
Batch ba t, sh commands to thecommand inte rpre ter
Text txt, doc textua l da ta documents
Word processor wp, tex, rrf, e tc. various word-processorformats
Library lib, a libra ries of routines
Print or view ps , dvi, gif ASCII or binary file
Archive arc, zip, ta r re la ted files groupedinto one file , sometimescompressed.
File Type Usua l extens ion Function
![Page 7: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/7.jpg)
Operating System Concepts Silberschatz and Galvin 199910.7
Access Methods
• Sequential Accessread nextwrite nextresetno read after last write
(rewrite)
• Direct Accessread nwrite nposition to n
read nextwrite next
rewrite n
n = relative block number
![Page 8: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/8.jpg)
Operating System Concepts Silberschatz and Galvin 199910.8
Directory Structure
• A collection of nodes containing information about all files.
F 1 F 2 F 3F 4
F n
Directory
Files
• Both the directory structure and the files reside on disk.
• Backups of these two structures are kept on tapes.
![Page 9: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/9.jpg)
Operating System Concepts Silberschatz and Galvin 199910.9
Information in a Device Directory
• Name
• Type
• Address
• Current length
• Maximum length
• Date last accessed (for archival)
• Date last updated (for dump)
• Owner ID (who pays)
• Protection information (discuss later)
![Page 10: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/10.jpg)
Operating System Concepts Silberschatz and Galvin 199910.10
Operations Performed on Directory
• Search for a file
• Create a file
• Delete a file
• List a directory
• Rename a file
• Traverse the file system
![Page 11: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/11.jpg)
Operating System Concepts Silberschatz and Galvin 199910.11
Organize the Directory (Logically) to Obtain
• Efficiency – locating a file quickly.
• Naming – convenient to users.– Two users can have same name for different files.– The same file can have several different names.
• Grouping – logical grouping of files by properties, (e.g., all Pascalprograms, all games, …)
![Page 12: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/12.jpg)
Operating System Concepts Silberschatz and Galvin 199910.12
Single-Level Directory
• A single directory for all users.
• Naming problem
• Grouping problem
![Page 13: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/13.jpg)
Operating System Concepts Silberschatz and Galvin 199910.13
Two-Level Directory
• Separate directory for each user.
• Path name
• Can have the saem file name for different user
• Efficient searching
• No grouping capability
![Page 14: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/14.jpg)
Operating System Concepts Silberschatz and Galvin 199910.14
Tree-Structured Directories
![Page 15: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/15.jpg)
Operating System Concepts Silberschatz and Galvin 199910.15
Tree-Structured Directories (Cont.)
• Efficient searching
• Grouping Capability
• Current directory (working directory)– cd /spell/mail/prog– type list
![Page 16: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/16.jpg)
Operating System Concepts Silberschatz and Galvin 199910.16
Tree-Structured Directories (Cont.)• Absolute or relative path name
• Creating a new file is done in current directory.
• Delete a file
rm <file-name>
• Creating a new subdirectory is done in current directory.mkdir <dir-name>
Example: if in current directory /spell/mail
mkdir count
prog copy prt exp count
• Deleting “mail” � deleting the entire subtree rooted by “mail”.
![Page 17: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/17.jpg)
Operating System Concepts Silberschatz and Galvin 199910.17
Acyclic-Graph Directories
• Have shared subdirectories and files.
![Page 18: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/18.jpg)
Operating System Concepts Silberschatz and Galvin 199910.18
Acyclic-Graph Directories (Cont.)
• Two different names (aliasing)
• If dict deletes list � dangling pointer.
Solutions:– Backpointers, so we can delete all pointers.
Variable size records a problem.– Backpointers using a daisy chain organization.– Entry-hold-count solution.
![Page 19: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/19.jpg)
Operating System Concepts Silberschatz and Galvin 199910.19
General Graph Directory
![Page 20: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/20.jpg)
Operating System Concepts Silberschatz and Galvin 199910.20
General Graph Directory (Cont.)
• How do we guarantee no cycles?– Allow only links to file not subdirectories.– Garbage collection.– Every time a new link is added use a cycle detection
algorithm to determine whether it is OK.
![Page 21: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/21.jpg)
Operating System Concepts Silberschatz and Galvin 199910.21
Protection
• File owner/creator should be able to control:– what can be done– by whom
• Types of access– Read– Write– Execute– Append– Delete– List
![Page 22: Module 10: File-System Interface · 2004-09-29 · Operating System Concepts 10.4 Silberschatz and Galvin 1999 File Attributes • Name – only information kept in human-readable](https://reader030.vdocuments.net/reader030/viewer/2022040308/5ed8c8456714ca7f47688e82/html5/thumbnails/22.jpg)
Operating System Concepts Silberschatz and Galvin 199910.22
Access Lists and Groups
• Mode of access: read, write, execute
• Three classes of usersRWX
a) owner access 7 � 1 1 1RWX
b) groups access 6 � 1 1 0RWX
c) public access 1 � 0 0 1
• Ask manager to create a group (unique name), say G, and addsome users to the group.
• For a particular file (say game) or subdirectory, define anappropriate access. owner group public
chmod 761 game
• Attach a group to a file
chgrp G game