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

Operating System

Operating System -- Unit 4 Wireless operation
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views

Operating System

Operating System -- Unit 4 Wireless operation
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Unit 4

File-System
File-System Interface

▪ File Concept
▪ Access Methods
▪ Disk and Directory Structure
▪ File-System Mounting
▪ File Sharing
▪ Protection
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
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
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
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
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
File Types – Name, Extension
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
Sequential-access File
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
Simulation of Sequential Access on Direct-access File
Other Access Methods
▪ Indexed Sequential Access Method (ISAM) is a file
organization technique that combines sequential file
organization with a mechanism to allow direct access to
records using an index.
File Structure in ISAM:
• Data Records: The data is stored in a sequential manner on
the disk.
• Index Files: An index is maintained that maps key fields to
the block addresses where the data records are stored.
There are two levels of indexing:
• Primary Index: This points to the main data blocks and is used to quickly
locate records.
• Secondary Index (optional): This is used when there are additional key
fields that need to be indexed for faster access.
▪ VMS operating system provides index and relative files as
another example (see next slide)
Example of Index and Relative Files
Directory Structure

▪ A collection of nodes containing information about all files

Directory

Files F4
F1 F2
F3
Fn

Both the directory structure and the files reside on disk


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
▪ 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 compute
RAID-Redundant Array of Independent Disks
A Typical File-system Organization
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
Operations Performed on Directory

▪ Search for a file

▪ Create a file

▪ Delete a file

▪ List a directory

▪ Rename a file

▪ Traverse the file system


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, …)
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

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
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
▪ 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
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
File Sharing – Failure Modes

▪All file systems have failure modes


▪ For example corruption of directory structures or other non-user
data, called metadata
▪Remote file systems add new failure modes, due
to network failure, server failure
▪Recovery from failure can involve state
information about status of each remote request
▪Stateless protocols such as NFS v3 include all
information in each request, allowing easy
recovery but less security
File Sharing – Consistency Semantics
▪Specify how multiple users are to access a shared
file simultaneously
▪ Similar to Ch 5 process synchronization algorithms
▪ Tend to be less complex due to disk I/O and network latency (for
remote file systems
▪ Andrew File System (AFS) implemented complex remote file sharing
semantics
▪ Unix file system (UFS) implements:
▪ Writes to an open file visible immediately to other users of the same
open file
▪ Sharing file pointer to allow multiple users to read and write
concurrently
▪ AFS has session semantics
▪ Writes only visible to sessions starting after the file is closed
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 on Unix / Linux
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.

Attach a group to a file


chgrp G game
Windows 7 Access-
Control List Management
A Sample UNIX Directory Listing
End of Unit 4

You might also like