0% found this document useful (0 votes)
22 views38 pages

Slides Ch11

Uploaded by

Zeeshan Mufti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views38 pages

Slides Ch11

Uploaded by

Zeeshan Mufti
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 11:

File-System Interface

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013
Chapter 11: File-System Interface

 File Concept
 Access Methods
 Disk and Directory Structure
 File-System Mounting
 File Sharing
 Protection

Operating System Concepts – 9th Edition 11.2 Silberschatz, Galvin and Gagne ©2013
Objectives

 To explain the function of file systems


 To describe the interfaces to file systems
 To discuss file-system design tradeoffs, including access
methods, file sharing, file locking, and directory structures
 To explore file-system protection

Operating System Concepts – 9th Edition 11.3 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 11.4 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 11.5 Silberschatz, Galvin and Gagne ©2013
File info Window on Mac OS X

Operating System Concepts – 9th Edition 11.6 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 11.7 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 11.8 Silberschatz, Galvin and Gagne ©2013
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

Operating System Concepts – 9th Edition 11.9 Silberschatz, Galvin and Gagne ©2013
File Types – Name, Extension

Operating System Concepts – 9th Edition 11.10 Silberschatz, Galvin and Gagne ©2013
File Structure
 None - sequence of words, bytes
 Simple record structure
Lines

 Fixed length
 Variable length
 Complex Structures; Formatted document
 Can be simulated by inserting appropriate control
characters
 Who decides:
 Operating system
 Program

Operating System Concepts – 9th Edition 11.11 Silberschatz, Galvin and Gagne ©2013
Sequential-access File

Operating System Concepts – 9th Edition 11.12 Silberschatz, Galvin and Gagne ©2013
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


 See allocation problem in Ch 12

Operating System Concepts – 9th Edition 11.13 Silberschatz, Galvin and Gagne ©2013
Simulation of Sequential Access on Direct-access File

Operating System Concepts – 9th Edition 11.14 Silberschatz, Galvin and Gagne ©2013
Other Access Methods

 Can be built on top of base methods


 General involve creation of an index for the file
 Keep index in memory for fast determination of location of
data to be operated on (consider UPC code plus record of
data about that item)
 If too large, index (in memory) of the index (on disk)
 IBM indexed sequential-access method (ISAM)
 Small master index, points to disk blocks of secondary
index
 File kept sorted on a defined key
 All done by the OS
 VMS operating system provides index and relative files as
another example (see next slide)

Operating System Concepts – 9th Edition 11.15 Silberschatz, Galvin and Gagne ©2013
Example of Index and Relative Files

Operating System Concepts – 9th Edition 11.16 Silberschatz, Galvin and Gagne ©2013
Directory Structure

 A collection of nodes containing information about all files

Directory

Files
F1 F2 F4
F3
Fn

Both the directory structure and the files reside on disk

Operating System Concepts – 9th Edition 11.17 Silberschatz, Galvin and Gagne ©2013
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
formatted with a file system
 Partitions also known as minidisks, slices
 Entity containing file system known as a volume
 So a partition becomes a volume when formatted for a file-
system
 Each volume containing file system also tracks that file
system’s info in device directory or volume table of contents
 As well as general-purpose file systems there are many
special-purpose file systems, frequently all within the same
operating system or computer

Operating System Concepts – 9th Edition 11.18 Silberschatz, Galvin and Gagne ©2013
A Typical File-system Organization

Operating System Concepts – 9th Edition 11.19 Silberschatz, Galvin and Gagne ©2013
Types of File Systems
 We mostly talk of general-purpose file systems
 But systems frequently have may file systems, some general- and
some special- purpose
 Consider Solaris has
 tmpfs – memory-based volatile FS for fast, temporary I/O
 objfs – interface into kernel memory to get kernel symbols for
debugging
 ctfs – contract file system for managing daemons
 lofs – loopback file system allows one FS to be accessed in
place of another
 procfs – kernel interface to process structures
 ufs, zfs – general purpose file systems

Operating System Concepts – 9th Edition 11.20 Silberschatz, Galvin and Gagne ©2013
Operations Performed on Directory
 Search for a file

 Create a file

 Delete a file

 List a directory

 Rename a file

 Traverse the file system

Operating System Concepts – 9th Edition 11.21 Silberschatz, Galvin and Gagne ©2013
Directory Organization

The directory is organized 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
Java programs, all games, …)

Operating System Concepts – 9th Edition 11.22 Silberschatz, Galvin and Gagne ©2013
Single-Level Directory
 A single directory for all users

 Naming problem
 Grouping problem

Operating System Concepts – 9th Edition 11.23 Silberschatz, Galvin and Gagne ©2013
Two-Level Directory
 Separate directory for each user

 Path name
 Can have the same file name for different user
 Efficient searching
 No grouping capability

Operating System Concepts – 9th Edition 11.24 Silberschatz, Galvin and Gagne ©2013
Tree-Structured Directories

Operating System Concepts – 9th Edition 11.25 Silberschatz, Galvin and Gagne ©2013
Tree-Structured Directories (Cont.)
 Efficient searching

 Grouping Capability

 Current directory (working directory)


 cd /spell/mail/prog
 type list

Operating System Concepts – 9th Edition 11.26 Silberschatz, Galvin and Gagne ©2013
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 /mail
mkdir count

Deleting “mail” ⇒ deleting the entire subtree rooted by “mail”

Operating System Concepts – 9th Edition 11.27 Silberschatz, Galvin and Gagne ©2013
Acyclic-Graph Directories
 If there are no-cycles (pointers never take you back to the
starting point), it is called Acyclic graph
 We can have shared subdirectories /files using Acyclic graph
directory structure

Operating System Concepts – 9th Edition 11.28 Silberschatz, Galvin and Gagne ©2013
Acyclic-Graph Directories (Cont.)

 Two different names (aliasing)


 If a shared subdirectory/file is deleted by one of the parent
directories, the others do not know of it
 E.g. 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
 New directory entry type
 Link – another name (pointer) to an existing file
 Resolve the link – follow pointer to locate the file

Operating System Concepts – 9th Edition 11.29 Silberschatz, Galvin and Gagne ©2013
General Graph Directory

Operating System Concepts – 9th Edition 11.30 Silberschatz, Galvin and Gagne ©2013
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 detection
algorithm to determine whether it is OK

Operating System Concepts – 9th Edition 11.31 Silberschatz, Galvin and Gagne ©2013
File System Mounting

 Just as a file must be opened before it is used a file system


must be mounted before it can be accessed (made available
to processes on the system).
 A unmounted file system (i.e., Fig. 11-11(b)) is mounted at a
mount point

Existing Volume UnMounted Volume


(Cannot be accessed)

Operating System Concepts – 9th Edition 11.32 Silberschatz, Galvin and Gagne ©2013
Mount Point
 Typically, a mount point is an empty directory. For instance, on a UNIX
system, a file system containing a user’s home directories might be
mounted as /users
 Then, to access the directory structure within that file system, we could
precede the directory names with /users, as in /users/jane.

Mounted Volume at Mount Point

Operating System Concepts – 9th Edition 11.33 Silberschatz, Galvin and Gagne ©2013
File Sharing
 Sharing of files on multi-user systems is desirable
 Sharing may be done through a protection scheme
 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

Operating System Concepts – 9th Edition 11.34 Silberschatz, Galvin and Gagne ©2013
Protection
 File owner/creator should be able to control:
 what can be done
 by whom
 Types of access
 Read
 Write
 Execute
 Append
 Delete
 List

Operating System Concepts – 9th Edition 11.35 Silberschatz, Galvin and Gagne ©2013
Windows 7 Access-Control List Management

Operating System Concepts – 9th Edition 11.36 Silberschatz, Galvin and Gagne ©2013
A Sample UNIX Directory Listing

Operating System Concepts – 9th Edition 11.37 Silberschatz, Galvin and Gagne ©2013
End of Chapter 11

Operating System Concepts – 9th Edition Silberschatz, Galvin and Gagne ©2013

You might also like