9: file-system interface
DESCRIPTION
9: File-System Interface. File Concept Access :Methods Directory Structure Protection Consistency Semantics. File Concept. Contiguous logical address space Types: Data numeric character binary Program. File Structure. None - sequence of words, bytes Simple record structure - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/1.jpg)
9.1Sandeep Tayal CSE Department MAIT
9: File-System Interface
• File Concept
• Access :Methods
• Directory Structure
• Protection
• Consistency Semantics
![Page 2: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/2.jpg)
9.2Sandeep Tayal CSE Department MAIT
File Concept
• Contiguous logical address space
• Types:
– Data numeric character binary
– Program
![Page 3: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/3.jpg)
9.3Sandeep Tayal CSE Department MAIT
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 appropriate control characters.
• Who decides:
– Operating system
– Program
![Page 4: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/4.jpg)
9.4Sandeep Tayal CSE Department MAIT
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 is maintained on the disk.
![Page 5: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/5.jpg)
9.5Sandeep Tayal CSE Department MAIT
File Operations
• create
• write
• read
• reposition within file – file seek
• delete
• truncate
• open(Fi) – search the directory structure on disk for entry Fi, and move the content of entry to memory.
• close (Fi) – move the content of entry Fi in memory to directory structure on disk.
![Page 6: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/6.jpg)
9.6Sandeep Tayal CSE Department MAIT
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 bat, sh commands to thecommand interpreter
Text txt, doc textual data documents
Word processor wp, tex, rrf, etc. various word-processorformats
Library lib, a libraries of routines
Print or view ps, dvi, gif ASCII or binary file
Archive arc, zip, tar related files groupedinto one file, sometimescompressed.
File Type Usual extension Function
![Page 7: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/7.jpg)
9.7Sandeep Tayal CSE Department MAIT
Access Methods
• Sequential Accessread nextwrite next resetno read after last write
(rewrite)
• Direct Accessread nwrite nposition to n
read nextwrite next
rewrite n
n = relative block number
![Page 8: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/8.jpg)
9.8Sandeep Tayal CSE Department MAIT
Directory Structure
• A collection of nodes containing information about all files.
F 1 F 2F 3
F 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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/9.jpg)
9.9Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/10.jpg)
9.10Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/11.jpg)
9.11Sandeep Tayal CSE Department MAIT
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 Pascal programs, all games, …)
![Page 12: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/12.jpg)
9.12Sandeep Tayal CSE Department MAIT
Single-Level Directory
• A single directory for all users.
• Naming problem
• Grouping problem
![Page 13: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/13.jpg)
9.13Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/14.jpg)
9.14Sandeep Tayal CSE Department MAIT
Tree-Structured Directories
![Page 15: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/15.jpg)
9.15Sandeep Tayal CSE Department MAIT
Tree-Structured Directories (Cont.)
• Efficient searching
• Grouping Capability
• Current directory (working directory)
– cd /spell/mail/prog
– type list
![Page 16: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/16.jpg)
9.16Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/17.jpg)
9.17Sandeep Tayal CSE Department MAIT
Acyclic-Graph Directories
• Have shared subdirectories and files.
![Page 18: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/18.jpg)
9.18Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/19.jpg)
9.19Sandeep Tayal CSE Department MAIT
General Graph Directory
![Page 20: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/20.jpg)
9.20Sandeep Tayal CSE Department MAIT
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 detectionalgorithm to determine whether it is OK.
![Page 21: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/21.jpg)
9.21Sandeep Tayal CSE Department MAIT
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: 9: File-System Interface](https://reader035.vdocument.in/reader035/viewer/2022062222/56814beb550346895db8c799/html5/thumbnails/22.jpg)
9.22Sandeep Tayal CSE Department MAIT
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 add some users to the group.
• For a particular file (say game) or subdirectory, define an appropriate access. owner group public
chmod 761 game
• Attach a group to a file
chgrp G game