0% found this document useful (0 votes)
100 views

Operating System

This document discusses file system interfaces, including: - File concepts like types, attributes, and operations - Access methods like sequential and direct access - Directory structures like tree structures and protection via access lists and groups - Additional topics like file sharing through remote file systems and file system mounting The objectives are to explain file system functions, interfaces, and design tradeoffs regarding access methods, sharing, locking and directory structures. File system protection is also explored.

Uploaded by

Adi Seshu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views

Operating System

This document discusses file system interfaces, including: - File concepts like types, attributes, and operations - Access methods like sequential and direct access - Directory structures like tree structures and protection via access lists and groups - Additional topics like file sharing through remote file systems and file system mounting The objectives are to explain file system functions, interfaces, and design tradeoffs regarding access methods, sharing, locking and directory structures. File system protection is also explored.

Uploaded by

Adi Seshu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 36

SESSION 10 : File-System

Interface
SESSION 10 : File-System
Interface
 File Concept
 Access Methods
 Directory Structure
 File-System Mounting
 File Sharing
 Protection
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
File Concept
 Contiguous logical address space

 Types:
 Data
 numeric
 character
 binary
 Program
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
File Operations
 File is an abstract data type
 Create
 Write
 Read
 Reposition within file
 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:
 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
 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
Access Methods
 Sequential Access
read next
write next
reset
no read after last write
(rewrite)
 Direct Access
read n
write n
position to n
read next
write next
rewrite n
n = relative block number
Sequential-access File
Simulation of Sequential Access on a
Direct-access File
Example of Index and Relative
Files
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


Backups of these two structures are kept on tapes
A Typical File-system Organization
Operations Performed on Directory

 Search for a file


 Create a file
 Delete a file
 List a directory
 Rename a file
 Traverse the file system
Single-Level Directory
 A single directory for all users

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

 Current directory (working directory)


 cd /spell/mail/prog
 type list
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
mail

prog copy prt exp count

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


Acyclic-Graph Directories
 Have shared subdirectories and files
Acyclic-Graph Directories (Cont.)

 Two different names (aliasing)

 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


General Graph Directory
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
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
(a) Existing. (b) Unmounted Partition
Mount Point
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
File Sharing – Multiple Users
 User IDs identify users, allowing
permissions and protections to be
per-user

 Group IDs allow users to be in


groups, permitting group access rights
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

 CIFS is standard Windows protocol

 Standard operating system file calls are translated into remote calls

 Distributed Information Systems (distributed naming services)


such as LDAP, DNS, NIS, Active Directory implement unified access to
information needed for remote computing
Protection
 File owner/creator should be able to control:
 what can be done
 by whom

 Types of access
 Read
 Write
 Execute
 Append
 Delete
 List
Access Lists and Groups
 Mode of access: read, write, execute
 Three classes of users
RWX
a) owner access 7  111
RWX
b) group access 6  110
RWX
c) public access 1  001
 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.

owner group public

chmod 761 game

Attach a group to a file


chgrp G game
Windows XP Access-control List
Management
A Sample UNIX Directory Listing
SESSION 10

You might also like