Lecture 4 FileSystem Interface Operating System Concepts Essentials

  • Slides: 28
Download presentation
Lecture 4: File-System Interface Operating System Concepts Essentials – 2 nd Edition Silberschatz, Galvin

Lecture 4: File-System Interface Operating System Concepts Essentials – 2 nd Edition Silberschatz, Galvin and Gagne © 2013

File-System Interface n File Concept n Access Methods n Disk and Directory Structure n

File-System Interface n File Concept n Access Methods n Disk and Directory Structure n File Sharing n Protection Operating System Concepts Essentials – 2 nd Edition 10. 2 Silberschatz, Galvin and Gagne © 2013

File Concept n Contiguous logical address space n Types: l Data 4 numeric 4

File Concept n Contiguous logical address space n Types: l Data 4 numeric 4 character 4 binary l n Program Contents defined by file’s creator l Many types 4 Consider text file, source file, executable file Operating System Concepts Essentials – 2 nd Edition 10. 3 Silberschatz, Galvin and Gagne © 2013

File Attributes n Name – only information kept in human-readable form n Identifier –

File Attributes n Name – only information kept in human-readable form n Identifier – unique tag (number) identifies file within file system n Type – needed for systems that support different types n Location – pointer to file location on device n Size – current file size n Protection – controls who can do reading, writing, executing n Time, date, and user identification – data for protection, security, and usage monitoring n Information about files are kept in the directory structure, which is maintained on the disk Operating System Concepts Essentials – 2 nd Edition 10. 4 Silberschatz, Galvin and Gagne © 2013

File info Window on Mac OS X Operating System Concepts Essentials – 2 nd

File info Window on Mac OS X Operating System Concepts Essentials – 2 nd Edition 10. 5 Silberschatz, Galvin and Gagne © 2013

File Operations n File is an abstract data type n Create n Write –

File Operations n File is an abstract data type n Create n Write – at write pointer location n Read – at read pointer location n Reposition within file - seek n Delete n Truncate n Open(Fi) – search the directory structure on disk for entry Fi, and move the content of entry to memory n Close (Fi) – move the content of entry Fi in memory to directory structure on disk Operating System Concepts Essentials – 2 nd Edition 10. 6 Silberschatz, Galvin and Gagne © 2013

Open Files n Several pieces of data are needed to manage open files: l

Open Files n Several pieces of data are needed to manage open files: l Open-file table: tracks open files l File pointer: pointer to last read/write location, per process that has the file open l 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 l Disk location of the file: cache of data access information l Access rights: per-process access mode information Operating System Concepts Essentials – 2 nd Edition 10. 7 Silberschatz, Galvin and Gagne © 2013

Open File Locking n Provided by some operating systems and file systems l Similar

Open File Locking n Provided by some operating systems and file systems l Similar to reader-writer locks l Shared lock similar to reader lock – several processes can acquire concurrently l Exclusive lock similar to writer lock Operating System Concepts Essentials – 2 nd Edition 10. 8 Silberschatz, Galvin and Gagne © 2013

File Types – Name, Extension Operating System Concepts Essentials – 2 nd Edition 10.

File Types – Name, Extension Operating System Concepts Essentials – 2 nd Edition 10. 9 Silberschatz, Galvin and Gagne © 2013

Access Methods n Sequential Access read next write next reset no read after last

Access Methods n Sequential Access read next write next reset no read after last write (rewrite) n 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 Operating System Concepts Essentials – 2 nd Edition 10. 10 Silberschatz, Galvin and Gagne © 2013

Sequential-access File Operating System Concepts Essentials – 2 nd Edition 10. 11 Silberschatz, Galvin

Sequential-access File Operating System Concepts Essentials – 2 nd Edition 10. 11 Silberschatz, Galvin and Gagne © 2013

Other Access Methods n Can be built on top of base methods General involve

Other Access Methods n Can be built on top of base methods General involve creation of an index for the file n Keep index in memory for fast determination of location of data to be operated on n If too large, index (in memory) of the index (on disk) n Operating System Concepts Essentials – 2 nd Edition 10. 12 Silberschatz, Galvin and Gagne © 2013

Directory Structure n A collection of nodes containing information about all files Directory Files

Directory Structure n A collection of nodes containing information about all files Directory Files F 1 F 2 F 3 F 4 Fn Both the directory structure and the files reside on disk Operating System Concepts Essentials – 2 nd Edition 10. 13 Silberschatz, Galvin and Gagne © 2013

Disk Structure n Disk can be subdivided into partitions n Disks or partitions can

Disk Structure n Disk can be subdivided into partitions n Disks or partitions can be RAID protected against failure n Entity containing file system known as a volume n Each volume containing file system also tracks that file system’s info in device directory or volume table of contents n 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 Essentials – 2 nd Edition 10. 14 Silberschatz, Galvin and Gagne © 2013

A Typical File-system Organization Operating System Concepts Essentials – 2 nd Edition 10. 15

A Typical File-system Organization Operating System Concepts Essentials – 2 nd Edition 10. 15 Silberschatz, Galvin and Gagne © 2013

Operations Performed on Directory n Search for a file n Create a file n

Operations Performed on Directory n Search for a file n Create a file n Delete a file n List a directory n Rename a file Operating System Concepts Essentials – 2 nd Edition 10. 16 Silberschatz, Galvin and Gagne © 2013

Directory Organization The directory is organized logically to obtain n Efficiency – locating a

Directory Organization The directory is organized logically to obtain n Efficiency – locating a file quickly n Naming – convenient to users n l Two users can have same name for different files l 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 Essentials – 2 nd Edition 10. 17 Silberschatz, Galvin and Gagne © 2013

Single-Level Directory n A single directory for all users n Naming problem n Grouping

Single-Level Directory n A single directory for all users n Naming problem n Grouping problem Operating System Concepts Essentials – 2 nd Edition 10. 18 Silberschatz, Galvin and Gagne © 2013

Two-Level Directory n Separate directory for each user n Path name n Can have

Two-Level Directory n Separate directory for each user n Path name n Can have the same file name for different user n Efficient searching n No grouping capability Operating System Concepts Essentials – 2 nd Edition 10. 19 Silberschatz, Galvin and Gagne © 2013

Tree-Structured Directories Operating System Concepts Essentials – 2 nd Edition 10. 20 Silberschatz, Galvin

Tree-Structured Directories Operating System Concepts Essentials – 2 nd Edition 10. 20 Silberschatz, Galvin and Gagne © 2013

Tree-Structured Directories (Cont. ) n Efficient searching n Grouping Capability n Current directory (working

Tree-Structured Directories (Cont. ) n Efficient searching n Grouping Capability n Current directory (working directory) l cd /spell/mail/prog l type list Operating System Concepts Essentials – 2 nd Edition 10. 21 Silberschatz, Galvin and Gagne © 2013

File Sharing n Sharing of files on multi-user systems is desirable n Sharing may

File Sharing n Sharing of files on multi-user systems is desirable n Sharing may be done through a protection scheme n On distributed systems, files may be shared across a network n Network File System (NFS) is a common distributed file-sharing method n If multi-user system l User IDs identify users, allowing permissions and protections to be per-user Group IDs allow users to be in groups, permitting group access rights l Owner of a file / directory l Group of a file / directory Operating System Concepts Essentials – 2 nd Edition 10. 22 Silberschatz, Galvin and Gagne © 2013

File Sharing – Remote File Systems n n Uses networking to allow file system

File Sharing – Remote File Systems n n Uses networking to allow file system access between systems l Manually via programs like FTP l Automatically, seamlessly using distributed file systems l Semi automatically via the world wide web Client-server model allows clients to mount remote file systems from servers l Server can serve multiple clients l Client and user-on-client identification is insecure or complicated l NFS is standard UNIX client-server file sharing protocol l CIFS is standard Windows protocol Operating System Concepts Essentials – 2 nd Edition 10. 23 Silberschatz, Galvin and Gagne © 2013

Protection n n File owner/creator should be able to control: l what can be

Protection n n File owner/creator should be able to control: l what can be done l by whom Types of access l Read l Write l Execute l Append l Delete l List Operating System Concepts Essentials – 2 nd Edition 10. 24 Silberschatz, Galvin and Gagne © 2013

Access Lists and Groups n Mode of access: read, write, execute n Three classes

Access Lists and Groups n Mode of access: read, write, execute n Three classes of users on Unix / Linux a) owner access 7 b) group access 6 c) public access 1 RWX 110 RWX 001 Ask manager to create a group (unique name), say G, and add some users to the group. n For a particular file (say game) or subdirectory, define an appropriate access. n Attach a group to a file chgrp Operating System Concepts Essentials – 2 nd Edition G 10. 25 game Silberschatz, Galvin and Gagne © 2013

Windows 7 Access-Control List Management Operating System Concepts Essentials – 2 nd Edition 10.

Windows 7 Access-Control List Management Operating System Concepts Essentials – 2 nd Edition 10. 26 Silberschatz, Galvin and Gagne © 2013

A Sample UNIX Directory Listing Operating System Concepts Essentials – 2 nd Edition 10.

A Sample UNIX Directory Listing Operating System Concepts Essentials – 2 nd Edition 10. 27 Silberschatz, Galvin and Gagne © 2013

Operating System Concepts Essentials – 2 nd Edition 10. 28 Silberschatz, Galvin and Gagne

Operating System Concepts Essentials – 2 nd Edition 10. 28 Silberschatz, Galvin and Gagne © 2013