OPERATING SYSTEMS
ECEg – 4181
FILE SYSTEM
by
Dr. [Link], B.E., M.E., Ph.D.,
Assistant Professor,
Faculty of Electrical and Computer Engineering,
Jimma Institute of Technology,
Jimma University,
Jimma, Ethiopia
FILE SYSTEM
• File Concept
• Access Methods
• Disk and Directory Structure
• File-System Mounting
• File Sharing
• Protection
2
FILE CONCEPT
• Contiguous logical address space
• Types:
– Data
• Numeric
• Character
• Binary
– Program
• Contents defined by file’s creator
– Many types
• Consider text file, source file, executable file
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
appropriate control characters
• Who decides:
– Operating system
– Program 4
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
5
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 entryFi in memory
to directory structure on disk 6
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
7
OPEN FILE LOCKING
• Provided by some operating systems and file systems
– Similar to reader-writer locks
– Sharedlocksimilar 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
8
FILE TYPES –NAME, EXTENSION
9
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 10
SEQUENTIAL-ACCESS FILE
11
ACCESS METHODS
• Sequential Access
– read next
– write next
– reset
– no read after last write
(rewrite)
• Direct Access –file is fixed length logical records
– read n
– write n
– position to n
read next
write next
– rewrite n
• n= relative block number
• Relative block numbers allow OS to decide where file should be placed
12
EXAMPLE OF INDEX AND RELATIVE FILES
13
DIRECTORY STRUCTURE
Both the directory structure and the files reside on disk
14
DISK STRUCTURE
• Disk can be subdivided into partitions
• Disks or partitions can be RAID protected against failure
• Disk or partition can be used raw–without a file system,
or formattedwith a file system
• Partitions also known as minidisks, slices
• Entity containing file system known as a volume
• Each volume containing file system also tracks that file
system’s info in device directoryor volume table of
contents
• As well as general-purpose file systemsthere are many
special-purpose file systems, frequently all within the
same operating system or computer
15
Operations Performed on Directory
• Search for a file
• Create a file
• Delete a file
• List a directory
• Rename a file
• Traverse the file system
16
Single-Level Directory
A single directory for all users
17
Two-Level Directory
• Separate directory for each user
• Path name
• Can have the same file name for different user
• Efficient searching
• No grouping capability 18
Tree-Structured Directories
• Efficient searching
• Grouping Capability
• Current directory (working directory)
• cd /spell/mail/prog
• type list 19
File System Mounting
• A file system must be mountedbefore it can be
accessed
• A unmounted file system (i.e., Fig. 10-11(b)) is
mounted at a mount point
20
FILE SHARING
• Sharing of files on multi-user systems is desirable
• Sharing may be done through a protectionscheme
• On distributed systems, files may be shared across a
network
• Network File System (NFS) is a common distributed file-
sharing method
• If multi-user system
– User IDs identify users, allowing permissions and protections
to be per-user
– Group IDs allow users to be in groups, permitting group access
rights
– Owner of a file / directory
– Group of a file / directory
21
PROTECTION
• File owner/creator should be able to control:
– what can be done
– by whom
• Types of access
– Read
– Write
– EExecute
– Append
– Delete
– List
22
ACCESS LISTS AND GROUPS
• Mode of access: read, write, execute
• Three classes of users on Unix / Linux
RWX
a) owner access 7 1 1 1
RWX
b) group access 6 1 1 0
RWX
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.
23