File System Interface
File System Interface
File Concept
• Collection of related information stored on
disk.
• A file is a sequence of bits, bytes, lines of
records.
• Source program, object program, Executable
program, numeric data, text, graphic images,
sound recordings etc.
File Attributes
• Name – only information kept in human-readable form
• Identifier – unique tag (number) identifies file within file system
• 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
• Many variations, including extended file attributes such as file checksum
• Information kept in the directory structure
File Operations
• File is an abstract data type
• Create
• Write – at write pointer location
• Read – at read pointer location
• Reposition within 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
Open Files
• Several pieces of data are needed to manage open
files:
– Open-file table: tracks open files
– File pointer: pointer to last read/write location, per
process that has the file open
– File-open count: counter of number of times a file is
open – to allow removal of data from open-file table
when last processes closes it
– Disk location of the file: cache of data access information
– Access rights: per-process access mode information
Open File Locking
• Provided by some operating systems and file systems
– Similar to reader-writer locks
– Shared lock similar to reader lock – several processes can
acquire concurrently
– Exclusive lock similar to writer lock
• Mediates access to a file
• Mandatory or advisory:
– Mandatory – access is denied depending on locks held and
requested
– Advisory – processes can find status of locks and decide
what to do
File Types – Name, Extension
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
Access Methods
• Sequential Access
read next
write next
reset
no read after last write
(rewrite)
Directory
Files
F1 F2 F4
F3
Fn
• Naming problem
• Grouping problem
Two Level Directory
• Separate directory for each user
Path name
Can have the same file name for different user
Efficient searching
No grouping capability
Tree-Structured Directories
Tree-Structured Directories (Cont.)
• Efficient searching
• Grouping Capability