0% found this document useful (0 votes)
35 views7 pages

Ch10-File System Interface-6 PDF

Uploaded by

Ravi Tej
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
35 views7 pages

Ch10-File System Interface-6 PDF

Uploaded by

Ravi Tej
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 7

File Concept

Contiguous logical address space

Chapter 10: File-System


Interface

Types:

Data
numeric
character
binary

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition,

Program

Operating System Concepts 8th Edition

10.4

Chapter 10: File-System Interface

File Structure

File Concept

None - sequence of words, bytes

Access Methods

Simple record structure

Directory Structure

Lines

File-System Mounting

Fixed length
Variable length

File Sharing

Silberschatz, Galvin and Gagne 2009

Complex Structures

Protection

Formatted document

Relocatable load file

Can simulate last two with first method by inserting appropriate control

characters
Who decides:

Operating System Concepts 8th Edition

10.2

Silberschatz, Galvin and Gagne 2009

Operating system

Program

Operating System Concepts 8th Edition

Objectives

10.5

Silberschatz, Galvin and Gagne 2009

File Attributes

To explain the function of file systems

Name only information kept in human-readable form

To describe the interfaces to file systems

Identifier unique tag (number) identifies file within file system

To discuss file-system design tradeoffs, including access methods, file

Type needed for systems that support different types

sharing, file locking, and directory structures

Location pointer to file location on device

To explore file-system protection

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

Operating System Concepts 8th Edition

10.3

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.6

Silberschatz, Galvin and Gagne 2009

File Operations

File Locking Example Java API

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

Operating System Concepts 8th Edition

10.7

Silberschatz, Galvin and Gagne 2009

Open Files

import java.io.*;
import java.nio.channels.*;
public class LockingExample {
public static final boolean EXCLUSIVE = false;
public static final boolean SHARED = true;
public static void main(String arsg[]) throws IOException {
FileLock sharedLock = null;
FileLock exclusiveLock = null;
try {
RandomAccessFile raf = new RandomAccessFile("file.txt", "rw");
// get the channel for the file
FileChannel ch = raf.getChannel();
// this locks the first half of the file - exclusive
exclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE);
/** Now modify the data . . . */
// release the lock
exclusiveLock.release();

Operating System Concepts 8th Edition

10.10

Silberschatz, Galvin and Gagne 2009

File Locking Example Java API (cont)


// this locks the second half of the file - shared
sharedLock = ch.lock(raf.length()/2+1, raf.length(),
SHARED);
/** Now read the data . . . */
// release the lock
sharedLock.release();
} catch (java.io.IOException ioe) {
System.err.println(ioe);
}finally {
if (exclusiveLock != null)
exclusiveLock.release();
if (sharedLock != null)
sharedLock.release();
}

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

}
}

Operating System Concepts 8th Edition

10.8

Silberschatz, Galvin and Gagne 2009

Open File Locking

Operating System Concepts 8th Edition

10.11

Silberschatz, Galvin and Gagne 2009

File Types Name, Extension

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

Operating System Concepts 8th Edition

10.9

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.12

Silberschatz, Galvin and Gagne 2009

Access Methods

Example of Index and Relative Files

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

Operating System Concepts 8th Edition

10.13

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

Sequential-access File

Silberschatz, Galvin and Gagne 2009

10.16

Directory Structure
A collection of nodes containing information about all files

Directory

Files

F1

F2

F3

F4
Fn

Both the directory structure and the files reside on disk


Backups of these two structures are kept on tapes
Operating System Concepts 8th Edition

10.14

Silberschatz, Galvin and Gagne 2009

Simulation of Sequential Access on a Direct-access File

Operating System Concepts 8th Edition

10.15

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.17

Silberschatz, Galvin and Gagne 2009

A Typical File-system Organization

Operating System Concepts 8th Edition

10.18

Silberschatz, Galvin and Gagne 2009

Operations Performed on Directory


Search for a file

Two-Level Directory
Separate directory for each user

Create a file
Delete a file
List a directory
Rename a file
Traverse the file system

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

Operating System Concepts 8th Edition

10.19

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.22

Silberschatz, Galvin and Gagne 2009

Tree-Structured Directories

Organize the Directory (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 8th Edition

10.20

Silberschatz, Galvin and Gagne 2009

Single-Level Directory

Operating System Concepts 8th Edition

10.23

Silberschatz, Galvin and Gagne 2009

Tree-Structured Directories (Cont)


Efficient searching

A single directory for all users


Grouping Capability
Current directory (working directory)

cd /spell/mail/prog

type list

Naming problem
Grouping problem

Operating System Concepts 8th Edition

10.21

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.24

Silberschatz, Galvin and Gagne 2009

Tree-Structured Directories (Cont)

General Graph Directory

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


Operating System Concepts 8th Edition

10.25

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

Acyclic-Graph Directories

10.26

Silberschatz, Galvin and Gagne 2009

General Graph Directory (Cont.)


How do we guarantee no cycles?

Have shared subdirectories and files

Operating System Concepts 8th Edition

10.28

Silberschatz, Galvin and Gagne 2009

Acyclic-Graph Directories (Cont.)


Two different names (aliasing)

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 8th Edition

10.29

Silberschatz, Galvin and Gagne 2009

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

If dict deletes list dangling pointer

mount point

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 8th Edition

10.27

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.30

Silberschatz, Galvin and Gagne 2009

(a) Existing. (b) Unmounted Partition

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

Operating System Concepts 8th Edition

10.31

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

Mount Point

10.34

Silberschatz, Galvin and Gagne 2009

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
Operating System Concepts 8th Edition

10.32

Silberschatz, Galvin and Gagne 2009

File Sharing

Operating System Concepts 8th Edition

10.35

Silberschatz, Galvin and Gagne 2009

File Sharing Failure Modes

Sharing of files on multi-user systems is desirable

Remote file systems add new failure modes, due to network failure,

Sharing may be done through a protection scheme

Recovery from failure can involve state information about status of

On distributed systems, files may be shared across a network

Stateless protocols such as NFS include all information in each

server failure
each remote request
request, allowing easy recovery but less security
Network File System (NFS) is a common distributed file-sharing method

Operating System Concepts 8th Edition

10.33

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition

10.36

Silberschatz, Galvin and Gagne 2009

File Sharing Consistency Semantics

Windows XP Access-control List Management

Consistency semantics specify how multiple users are to access a shared

file simultaneously

Similar to Ch 7 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

Operating System Concepts 8th Edition

Silberschatz, Galvin and Gagne 2009

10.37

Protection

Operating System Concepts 8th Edition

10.40

Silberschatz, Galvin and Gagne 2009

A Sample UNIX Directory Listing

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 8th Edition

Silberschatz, Galvin and Gagne 2009

10.38

Operating System Concepts 8th Edition

10.41

Silberschatz, Galvin and Gagne 2009

Access Lists and Groups

Mode of access: read, write, execute

Three classes of users


a) owner access

b) group access

c) public access

RWX
111
RWX
110
RWX
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
chmod

group

End of Chapter 10

public

761

game

Attach a group to a file


chgrp
Operating System Concepts 8th Edition

game

10.39

Silberschatz, Galvin and Gagne 2009

Operating System Concepts 8th Edition,

Silberschatz, Galvin and Gagne 2009

You might also like