Chapter 11: File-System Interface
-
Upload
khangminh22 -
Category
Documents
-
view
2 -
download
0
Transcript of Chapter 11: File-System Interface
Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Chapter 11: File-System Interface
11.2 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Chapter 11: File-System Interface
● File Concept
● Access Methods
● Disk and Directory Structure
● File-System Mounting
● File Sharing
● Protection
11.3 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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
11.4 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File Concept
● Contiguous logical address space
● Types:
● Data
4 numeric
4 character
4 binary
● Program
● Contents defined by file’s creator
● Many types
4 Consider text file, source file, executable file
11.5 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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
11.6 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File info Window on Mac OS X
11.7 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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
11.8 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File Types – Name, Extension
11.9 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File Structure
● None - sequence of words, bytes● Simple record structure
● Lines ● Fixed length● Variable length
● Complex Structures● Formatted document● Relocatable load file
11.10 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Sequential-access File
11.11 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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)
11.12 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Example of Index and Relative Files
11.13 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Directory Structure
● A collection of nodes containing information about all files
F 1
F 2 F
3
F 4
F n
Directory
Files
Both the directory structure and the files reside on disk
11.14 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Disk Structure
● Disk can be subdivided into partitions
● 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
● Each volume containing file system also tracks that file system’s info in device directory or volume table of contents
11.15 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
A Typical File-system Organization
11.16 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Operations Performed on Directory
● Search for a file
● Create a file
● Delete a file
● List a directory
● Rename a file
11.17 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Directory Organization
● 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, …)
The directory is organized logically to obtain
11.18 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Single-Level Directory● A single directory for all users
● Naming problem
● Grouping problem
11.19 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Two-Level Directory
● Separate directory for each user
● Path name
● Can have the same file name for different user
● Efficient searching
● No grouping capability
11.20 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Tree-Structured Directories
11.21 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Tree-Structured Directories (Cont.)● Efficient searching
● Grouping Capability
● Current directory (working directory)
● cd /spell/mail/prog
● type list
11.22 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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”
11.23 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Acyclic-Graph Directories
● Have shared subdirectories and files
11.24 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File System Mounting
● A file system must be mounted before it can be accessed
● A unmounted file system (i.e., Fig. 11-11(b)) is mounted at a mount point
11.26 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
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-userGroup IDs allow users to be in groups, permitting group access rights
● Owner of a file / directory
● Group of a file / directory
11.27 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
File Sharing – Remote File Systems● Uses networking to allow file system access between systems
● Manually via programs like FTP
● Automatically, seamlessly using distributed file systems
● Semi automatically via the world wide web
● Client-server model allows clients to mount remote file systems from servers
● Server can serve multiple clients
● Client and user-on-client identification is insecure or complicated
● NFS is standard UNIX client-server file sharing protocol
● Standard operating system file calls are translated into remote calls
11.28 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Protection
● File owner/creator should be able to control:
● what can be done
● by whom
● Types of access
● Read
● Write
● Execute
● Append
● Delete
● List
11.29 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
Access Lists and Groups
● Mode of access: read, write, execute● Three classes of users on Unix / Linux
RWXa) owner access 7 ⇒ 1 1 1
RWXb) group access 6 ⇒ 1 1 0
RWXc) 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.
Attach a group to a file chgrp G game
11.30 Silberschatz, Galvin and Gagne ©2013Operating System Concepts – 9th Edition
A Sample UNIX Directory Listing