A Typical File-system Organization - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

A Typical File-system Organization

Description:

Title: Unit OS 8: Background: File System Concepts Subject: Windows Operating Systems Internals Course Author: David A. Solomon, Mark E. Russinovich, and Andreas Polze – PowerPoint PPT presentation

Number of Views:192
Avg rating:3.0/5.0
Slides: 33
Provided by: Davi783
Category:

less

Transcript and Presenter's Notes

Title: A Typical File-system Organization


1
A Typical File-system Organization
2
Directories
  • Record information about groups of files
  • Management of files
  • Single-Level directory most simple all files in
    the same directory
  • Two-Level directory separate directory for each
    user
  • Tree-Structured (hierarchical) directories most
    common
  • Operations on directories
  • Search for a file
  • Create a file (directory entry)
  • Delete a file (directory entry)
  • List a directory
  • Rename a file
  • Traverse the file system (recursive)

3
Single-Level Directory
  • A single directory for all users

Naming problem Grouping problem
4
Two-Level Directory
  • Separate directory for each user
  • Path name
  • Can have the same file name for different user
  • Efficient searching
  • No grouping capability

5
Tree-Structured Directories
6
Directory Structure
  • A collection of nodes containing information
    about all files

Directory
Files
F 1
F 2
F 3
F 4
F n
Both the directory structure and the files reside
on disk Backups of these two structures are kept
on tapes
7
Operations Performed on Directory
  • Search for a file
  • Create a file
  • Delete a file
  • List a directory
  • Rename a file
  • Traverse the file system

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

9
Tree-Structured Directories (Cont)
  • Efficient searching
  • Grouping Capability
  • Current directory (working directory)
  • cd /spell/mail/prog
  • type list

10
Tree-Structured Directories (Cont)
  • Absolute or relative path name
  • Creating a new file is done in current directory
  • Delete a file
  • rm ltfile-namegt
  • Creating a new subdirectory is done in current
    directory
  • mkdir ltdir-namegt
  • Example if in current directory /mail
  • mkdir count

mail
prog
copy
prt
exp
count
Deleting mail ? deleting the entire subtree
rooted by mail
11
Acyclic-Graph Directories
  • Have shared subdirectories and files

12
Acyclic-Graph Directories (Cont.)
  • Two different names (aliasing)
  • If dict deletes list ? dangling pointer
  • Solutions
  • Backpointers, so we can delete all
    pointersVariable 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

13
General Graph Directory
14
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
    detectionalgorithm to determine whether it is OK

15
UNIX Directories
  • Fully hierarchical, tree-structured
  • Directories are represented as files
  • Problem Truncation
  • Processes have a current working directory
  • pwd command
  • Each user has a home directory
  • cd echo HOME commands to obtain info about
    the home dir.
  • The file system has a single root directory
  • cd / - command changes working directory to root
    directory
  • Special names identify neighbors in the directory
    tree
  • ./ - the current directory
  • ../ - the directory one level above the current
    directory

16
Linking Names and File Content
Information contained in a UNIX i-node
  • UNIX separates file names and file content
  • file content may have multiple (different) names
  • ln command associates new name with existing file
  • File content identified by
  • (Device, File system on device, i-node)
  • i-node contains references to all blocks making
    up a file
  • a free-node list is maintained for each file
    system

17
File Protection
  • Access rights can be independently defined for
  • (u) user Owner (creator) of a file
  • (g) group Group
  • (o) other all other users of the UNIX system
  • Example
  • luna test ( 48 )- ls -lisa
  • total 2
  • 421908 1 drwxr-xr-x 2 apolze 1024 Jan
    7 1506 .
  • 116884 1 drwxr-xr-x 13 apolze 2048 Jan
    7 1506 ..
  • 116992 0 -rw------- 1 apolze 0 Jan
    7 1505 Mail.txt
  • 116991 0 -rw-rw-rw- 1 apolze 0
    Jan 7 1505 test.c

18
File Protection (contd.)
  • Access rights for a file
  • (r) Read access right List right for
    directorisy
  • (w) Write access right includes delete/append
    rights
  • (x) Execute access right Traverse right for
    directories
  • Binary representation
  • (x) Bit 0 (1)
  • (w) Bit 1 (2)
  • (r) Bit 2 (4)
  • Rights can be combined
  • ReadWrite access right 6
  • ReadExecute access right 3
  • Read-only 2

19
Protection
  • File owner/creator should be able to control
  • what can be done
  • by whom
  • Types of access
  • Read
  • Write
  • Execute
  • Append
  • Delete
  • List

20
Access Lists and Groups
  • Mode of access read, write, execute
  • Three classes of users
  • RWX
  • a) owner access 7 ? 1 1 1 RWX
  • b) group access 6 ? 1 1 0
  • RWX
  • c) 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.

owner
group
public
chmod
761
game
Attach a group to a file chgrp G
game
21
Windows XP Access-control List Management
22
A Sample UNIX Directory Listing
23
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

24
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

25
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

26
File Sharing Failure Modes
  • 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 include all
    information in each request, allowing easy
    recovery but less security

27
File Sharing Consistency Semantics
  • Consistency semantics specify how multiple users
    are to access a shared file simultaneously
  • Similar to 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

28
Distribution Network File Systems
  • Various approaches towards distributed file
    systems
  • SUN Network File System (Standard)
  • UNIX United
  • Andrew File System
  • Sprite
  • Locus
  • SUN NFS
  • Client/Server-System (based on remote procedure
    call (RPC))
  • File system operations are forwarded from client
    to server
  • Server executes actual file system operations,
    returns results
  • Client has access to remote resources
  • Stateless operation (Reliability !)

29
Operation of a Network File System
  • A set of operations is implemented as
    RPC-callable functions
  • Searching for a file in a directory
  • Reading a set of directory entries
  • Manipulating links and directories
  • Accessing file attributes
  • Reading and writing files
  • Logical connection between client and server has
    to be established
  • mount protocol
  • NFS works in heterogeneous environments
  • Machine-independent protocol for data
    representation (XDR)
  • Stateless protocol
  • Network file system may tolerate client crashes
    (reboots)

30
Mounting a Remote File System
  • Computer "sun" exports the "/local"-file system
    to computer "moon"

Exported to moon Exported to all computers on the
net
31
Windows UNIX File System Interoperability
  • Windows uses per default the Server Message Block
    (SMB) protocol to implement distributed file
    systems
  • SMB/CIFS (remote) resource sharing
  • Samba de.samba.org
  • POSIX libraries/tool chains for Windows API
  • Cygwin sources.redhat.com/cygwin/
  • U/WIN www. research.att.com/sw/tools/uwin/
  • NuTCracker / MKS Toolkit www.datafocus.com
  • Interix, SFU www.microsoft.com/windowsserversys
    tem/sfu/

32
What's Samba all about?
  • Free SMB and CIFS client/server for UNIX other
    OS
  • Functionality
  • a SMB server, to provide Windows NT and LAN
    Manager-style file and print services to SMB
    clients such as Windows, Warp Server, smbfs and
    others.
  • a NetBIOS (rfc1001/1002) nameserver, which
    amongst other things gives browsing support.
    Samba can be the master browser on your LAN if
    you wish.
  • a ftp-like SMB client so you can access PC
    resources (disks and printers) from UNIX, Netware
    and other operating systems
Write a Comment
User Comments (0)
About PowerShow.com