Transcript FileSystems

File Concept




Contiguous logical address space
Smallest user allocation
Non-volatile
Types:
 Data
 numeric
 character
 binary
 Program
 Source
 Script
 Binary
Operating System Concepts
11.1
Silberschatz, Galvin and Gagne 2002
File Types – Name, Extension
Operating System Concepts
11.2
Silberschatz, Galvin and Gagne 2002
File Structure
 Levels of structuring
 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.
 Need at least executable binary and data
 Type indicated by
 “type” extension
 Resource fork (Mac)
 Magic number (UNIX)
 More complexity requires more OS support
Operating System Concepts
11.3
Silberschatz, Galvin and Gagne 2002
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 – creation, access, modification.
 User identification – data for protection, security, and
usage monitoring.
 Information about files are kept in the directory structure,
which is maintained on the disk.
Operating System Concepts
11.4
Silberschatz, Galvin and Gagne 2002
Directory Structure
 A collection of nodes containing information about all
files.
Directory
Files
F1
F2
F3
F4
Fn
 Both the directory structure and the files reside on disk.
Operating System Concepts
11.5
Silberschatz, Galvin and Gagne 2002
File Operations
 Create
 Allocate space
 Create directory entry
 Open
 Copy the directory structure on disk to memory.
 Read, Write
 Identified file
 Specified position
 Specified data
 Update directory
 Reposition within file – file seek
 Close
 Copy the directory structure in memory to disk.
 Delete
 Release space
 Delete directory entry
 Rename, Truncate, Append, Copy (can be formed from others)
Operating System Concepts
11.6
Silberschatz, Galvin and Gagne 2002
Access Methods
 Sequential Access
read next
write next
reset (rewind)
no read after last write
 Direct Access
read n
write n
position to n
read next
write next
n = relative block number (start, current, end)
Operating System Concepts
11.7
Silberschatz, Galvin and Gagne 2002
Directory Operations
 Search for a file
 By name/pattern
 By other attributes
 Create a file
 Add a new entry
 Delete a file
 Delete entry
 List a directory
 Rename a file
 Potentially moves file in directory structure
 Traverse the file system
 E.g., for backups
Operating System Concepts
11.8
Silberschatz, Galvin and Gagne 2002
Organize the Directory (Logically) to Obtain
 Efficiency – locating a file quickly
 Grouping – logical grouping of files by properties, (e.g.,
all Java programs, all games, …)
 Naming – convenient to users.
 Two users can have same name for different files.
 The same file can have several different names
Operating System Concepts
11.9
Silberschatz, Galvin and Gagne 2002
Tree-Structured Directories
Operating System Concepts
11.10
Silberschatz, Galvin and Gagne 2002
Tree-Structured Directories
 Efficient searching
 Grouping capability
 Absolute and relative pathnames
 Relative to current directory
 Absolute to
 Root
 Current (which absolute to root)
 No sharing yet
Operating System Concepts
11.11
Silberschatz, Galvin and Gagne 2002
Acyclic-Graph Directories
Operating System Concepts
11.12
Silberschatz, Galvin and Gagne 2002
Acyclic-Graph Directories
 Have shared subdirectories and files
 Allows multiple names for one file or directory
 Allows sharing of files and directories
 Hard links
 Multiple directory nodes refer to the same file
 No precedence
 Problems of directory entry consistency - UNIX solves with inodes
 Delete file (only) when there are no links
 Alternatively, have back pointers and delete all directory entries
and file when one directory entry is deleted
 Beware cyclic directory links (not permitted in UNIX now)
 Symbolic (soft) links
 Gives name of another directory entry (could also be soft)
 Deletion just deletes the link
 Have to deal with hanging links when hard link is deleted
 Cyclic links are possible
Operating System Concepts
11.13
Silberschatz, Galvin and Gagne 2002
General Graph Directory
 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.
Operating System Concepts
11.14
Silberschatz, Galvin and Gagne 2002
Protection
 File owner/creator should be able to control:
 what can be done
 by whom
 Modes access:
 Files: read, write, execute, delete
 Directories: read, write, make current
Operating System Concepts
11.15
Silberschatz, Galvin and Gagne 2002
Access Lists and Groups
 Access lists provide fine grained control (Windows NT)
 Very large
 Requires variable size directory entries
 Classes of users
a) owner access
7

b) group access
6

c) public access
1

RWX
111
RWX
110
RWX
001
 Password protection
 Files (too many)
 Subdirectories (ala TOPS-20)
 Partition (ala VM/CMS)
 All user files
Operating System Concepts
11.16
Silberschatz, Galvin and Gagne 2002