Outline for 2/23/98
- Last Real Lecture: Overview of file systems
- Administrative:
- Project 3 available today
- My office hours today are cancelled, send email to set up appointment with me if necessary.
- Objective: Explore why hierarchical naming structures evolved and other naming issues.
The directory subsystem.
Goals of File Naming
- Foremost function - to find files,
Map file name to file object.
- To store meta-data about files.
- To allow users to choose their own file names without undue name conflict problems.
- To allow sharing.
- Convenience: short names, groupings.
- To avoid implementation complications
Naming Structures
- Flat name space - 1 system-wide table,
- Unique naming with multiple users is hard.
Name conflicts.
- Easy sharing, need for protection
- Per-user name space
- Protection by isolation, no sharing
- Easy to avoid name conflicts
- Register identifies with directory to use to resolve names, possibility of user-settable (cd)
Naming Structures
Naming network
- Component names - pathnames
- Absolute pathnames - from a designated root
- Relative pathnames - from a working directory
- Each name carries how to resolve it.
- Short names to files anywhere in the network produce cycles, but convenience in naming things.
Naming Network
- /Jamie/joe/project/D
- /Jamie/d
- /Jamie/joe/jam/proj1/C
- (relative from Terry)
A
- (relative from Jamie)
d
Meta-Data
- File size
- File type
- Protection - access control information
- History:
creation time,
last modification,
last access.
- Location of file - which device
- Location of individual blocks of the file on disk.
- Owner of file
- Group(s) of users associated with file
Restricting to a Hierarchy
- Problems with full naming network
- What does it mean to "delete" a file?
- Meta-data interpretation
- Eliminating cycles
- allows use of reference counts for reclaiming file space
- avoids garbage collection
Reclaiming Convenience
- Symbolic links - indirect files
filename maps, not to file object, but to another pathname
- allows short aliases
- slightly different semantics
- Search path rules
Operations on Directories (UNIX)
- Link - make entry pointing to file
- Unlink - remove entry pointing to file
- Rename
- Mkdir - create a directory
- Rmdir - remove a directory
Access Control for Files
- Access control lists - detailed list attached to file of users allowed (denied) access, including kind of access allowed/denied.
- UNIX RWX - owner, group, everyone