23
1 CPSC 410--Richard Furuta 2/26/99 1 Silberschatz and Galvin Chapter 10 File-System Interface CPSC 410--Richard Furuta 2/26/99 2 File System Interface ¥ Physical storage mechanisms (see 2.3 and 2.4) ¥ Files--logical storage unit (abstract) that is independent of actual storage device ¥ Directory structure--organizing the collection of files ¥ Partitions--an additional division sometimes found ¥ File protection

Silberschatz and Galvin Chapter 10

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Silberschatz and Galvin Chapter 10

1

CPSC 410--Richard Furuta 2/26/99 1

Silberschatz and GalvinChapter 10

File-System Interface

CPSC 410--Richard Furuta 2/26/99 2

File System Interface

¥ Physical storage mechanisms (see 2.3 and 2.4)

¥ Files--logical storage unit (abstract) that isindependent of actual storage device

¥ Directory structure--organizing the collection offiles

¥ Partitions--an additional division sometimes found

¥ File protection

Page 2: Silberschatz and Galvin Chapter 10

2

CPSC 410--Richard Furuta 2/26/99 3

Storage Hierarchy

registers

cache

memory

backing store

disk drives

magnetic-tape library

cache storage

primarystorage

secondarystorage

CPSC 410--Richard Furuta 2/26/99 4

Primary and Secondary Storage

¥ Primary storage: small, volatile

¥ Secondary storage: large, nonvolatile. Ableto hold very large amounts of datapermanently. Example: magnetic disks,magnetic tapes, optical disks.

¥ Magnetic disks:

Page 3: Silberschatz and Galvin Chapter 10

3

CPSC 410--Richard Furuta 2/26/99 5

Disk StructureR/W Heads

Cylinder

Surface

Track

Platter

CPSC 410--Richard Furuta 2/26/99 6

Disk Terminology

¥ Cylinder: all tracks that can be accessedwithout moving the read/write head

¥ Tracks divided into blocks

¥ Fixed-size blocks define a sector

¥ Sector: smallest unit of information that canbe transfered to/from disk

Page 4: Silberschatz and Galvin Chapter 10

4

CPSC 410--Richard Furuta 2/26/99 7

Disk Access Time

¥ seek time: time to position heads on cylinder (a fixed headdisk does not require seek time but is more expensive thana moving-head disk)

¥ rotational latency: delay in accessing material once seekaccomplished (time required to wait for data to rotatearound under head)

¥ Transmission time: time to transfer information once it isunder the head.

¥ access time = seek time + rotational latency +read/write transmission time

seek time >> read/write time

CPSC 410--Richard Furuta 2/26/99 8

Disk Addressing

¥ Disk address = (disk driver id, surface number, track number, sector number)

A disk is a three-dimensional array of sectors

Surface #

Track #

Sector #

Block address b, given cylinder i, surface j, sector k

b = k + s * (j + i * t)

s, the number of sectors per trackt, the number of tracks per cylinder (e.g., number of surfaces)

Page 5: Silberschatz and Galvin Chapter 10

5

CPSC 410--Richard Furuta 2/26/99 9

Accessing sequential diskaddresses

¥ Question: what is the cost of accessingblock b+1 given b?

CPSC 410--Richard Furuta 2/26/99 10

Issues of Disk Management

¥ Allocation methodÐ mapping: files ==> disk sectors/blocks

¥ Free space managementÐ data structure and access method

¥ Disk head scan methodsÐ implementation cost, run-time overhead,

fairness

Page 6: Silberschatz and Galvin Chapter 10

6

CPSC 410--Richard Furuta 2/26/99 11

Magnetic Tape: Comparison

¥ 9 tracks on 1/2 inch wide tape (one bit per track)

¥ Variable length records (about 20-30000 bytes)

¥ Density in implementation varys from about 200 to 6250bytes per inch (bpi) with higher densities more commonnow

¥ Tape speed: 20 to 200 inches per second. Takes time tocome to speed and to stop. This can be megabytes/secondwhen at speed, so DMA transfer may be required

¥ Inter-record gap is about .6 inch

¥ Can read or write at end but can only read in middle oftape (because of alignment of subsequent records)

CPSC 410--Richard Furuta 2/26/99 12

Magnetic Tape

¥ Tape drives are not fully random-accessdevices.

¥ Disk can read/rewrite single sectors inmiddle of disk, can seek to locationsrelatively directly, etc.

Page 7: Silberschatz and Galvin Chapter 10

7

CPSC 410--Richard Furuta 2/26/99 13

File concept

¥ Contiguous logical address space

¥ Types:Ð Data

¥ numeric

¥ character

¥ binary

Ð Program¥ source

¥ object (load image)

Ð Documents

CPSC 410--Richard Furuta 2/26/99 14

File Systems

¥ A file is a named collection of related information that isrecorded on secondary storage

¥ File is a logical storage unit: independent of actual storagedevice; mapped by OS onto physical devices

¥ Generally persistent (e.g., across power failures);nonvolatile

¥ Referred to by name (for convenience of human users)

¥ May have types (e.g., source, data, object, executable)

¥ A file is an abstract data object with specific attributes andoperations provided by the system

Page 8: Silberschatz and Galvin Chapter 10

8

CPSC 410--Richard Furuta 2/26/99 15

File attributes

¥ Name: symbolic name; the only information kept inhuman-readable form

¥ Type: if supported by system (more later)

¥ Location: pointer to device & location of the file on device

¥ Size: current size and perhaps the maximum allowed size

¥ Protection: access-control information (e.g., reading,writing, executing, etc.)

¥ Time, date, and user identification: e.g., creation, lastmodification, last use

¥ Usage count, owner, etc.

CPSC 410--Richard Furuta 2/26/99 16

File attributes

¥ Kept in the directory structureÐ Also resides on secondary storage

Ð 16 to 1000 bytes to store file attributeinformation

Ð Directories may themselves be very large

Page 9: Silberschatz and Galvin Chapter 10

9

CPSC 410--Richard Furuta 2/26/99 17

File operations

¥ Create: allocate space, enter into directory

¥ Write: given name and information to be written (systemkeeps write pointer to file)

¥ Read: given file name and destination of information(system keeps read pointer)

¥ Reposition within a file (also known as file seek)

¥ Delete: release space and erase from directory

¥ Truncate: keeps directory entry/attributes but deletescontents (resets length to 0)

¥ Open/close file

CPSC 410--Richard Furuta 2/26/99 18

File operationsOpen/close files

¥ open/close file operations add/delete entryto open-file table. File accesses via open-file table

¥ Information associated with open fileÐ file pointer (if no offset in read/write)

Ð file open count (to keep from removing entryfrom open-file table prematurely)

Ð disk location of the file

Page 10: Silberschatz and Galvin Chapter 10

10

CPSC 410--Richard Furuta 2/26/99 19

File Type

¥ By extension (.exe, .com, .bat, ...)

¥ By type attribute (e.g., Macintosh withtype/creator attributes---creator identifiesapplication to be launched).

¥ By Òmagic numberÓ (as in Unix; embeddedinto file, at start)

CPSC 410--Richard Furuta 2/26/99 20

Common file typesFile type Usual

ExtensionFunction

Executable exe, com, bin ornone

ready-to-runmachine-languageprogram

Object obj, o compiled machinelanguage, notlinked

Source code c, p, pas, f77, asm,a

source code invarious languages

Batch bat, sh commands to thecommandinterpreter

Text txt, doc textual data,documents

Page 11: Silberschatz and Galvin Chapter 10

11

CPSC 410--Richard Furuta 2/26/99 21

Common file types

File type UsualExtension

Function

Word processor wp, tex, rrf, É various wordprocessor formats

Library lib, a libraries of routines

Print or view ps, dvi, gif ASCII or binaryfile

Archive arc, zip, tar related filesgrouped into onefile, sometimescompressed

CPSC 410--Richard Furuta 2/26/99 22

File structure

¥ Potential structuresÐ 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 insertingappropriate control characters. Operating system orprogram can establish file structure.

Page 12: Silberschatz and Galvin Chapter 10

12

CPSC 410--Richard Furuta 2/26/99 23

File Structure

¥ File type may indicate internal structure of file (e.g., sourceor object)

¥ IBM mainframe systems, for example, support a very widerange of access methods (see later)

¥ UNIX, MS-DOS, others, support only a minimal numberof file structures. (UNIX files are sequence of 8-bit bytes)

¥ Macintosh resource fork and data fork

¥ Logical record size and physical block size (blockingfactor)--packing a number of logical records into physicalblocks. Block allocation results in internal fragmentation,in any case

CPSC 410--Richard Furuta 2/26/99 24

File Access Methods

¥ Sequential Access (as in magnetic tape)

¥ Direct Access (or relative access). Logicalrecords can be read/written in no particularorder. read/write must include a blocknumber as parameter

¥ Other access methods

Page 13: Silberschatz and Galvin Chapter 10

13

CPSC 410--Richard Furuta 2/26/99 25

Sequential access

read next

write next

reset or skip n

no read after last write (rewrite)

CPSC 410--Richard Furuta 2/26/99 26

Direct access

read n

write n

position to n

read next

write next

rewrite n

n = relative block number

Page 14: Silberschatz and Galvin Chapter 10

14

CPSC 410--Richard Furuta 2/26/99 27

Other access methods

¥ Indexed methods, e.g., ISAM (indexedsequential access method, which has filesorted on a defined key. Access look inmaster index for block number of secondaryindex. Secondary index read then binarysearched for block with desired record.This block is then searched sequentially.)

CPSC 410--Richard Furuta 2/26/99 28

Directory structure

¥ A collection of nodes containing informationabout all files

¥ Resides on disk, along with files

Page 15: Silberschatz and Galvin Chapter 10

15

CPSC 410--Richard Furuta 2/26/99 29

Information in a device directory

¥ Name

¥ Type

¥ Address

¥ Current length

¥ Maximum length

¥ Date last accessed (for archival)

¥ Date last updated (for dump)

¥ Owner ID (who pays)

¥ Protection information (discuss later)

CPSC 410--Richard Furuta 2/26/99 30

Directory Operations

¥ Search for a file

¥ Create a file

¥ Delete a file

¥ List a directory

¥ Rename a file

¥ Traverse the file system (e.g., for backuppurposes)

Page 16: Silberschatz and Galvin Chapter 10

16

CPSC 410--Richard Furuta 2/26/99 31

Goals in (logical) directoryorganization

¥ Efficiency--enable locating a file quickly

¥ Naming--convenient to usersÐ Two users (or two directories) can have the

same name for different files

Ð The same file can have several different names

¥ Grouping--logical grouping of files byproperties (e.g., extension, date changed,etc.)

CPSC 410--Richard Furuta 2/26/99 32

Logical Directory Structures

¥ Single-level Directory

¥ Two-level Directory

¥ Tree-structured Directory

¥ Acyclic-graph Directory

¥ General-graph Directory

Page 17: Silberschatz and Galvin Chapter 10

17

CPSC 410--Richard Furuta 2/26/99 33

Single level directory

CPSC 410--Richard Furuta 2/26/99 34

Single-Level Directory

¥ Advantage: simple to support andunderstand

¥ Disadvantage: files must have unique names(multiple users may clash; names may belimited in length; large directories may behard to remember)

Page 18: Silberschatz and Galvin Chapter 10

18

CPSC 410--Richard Furuta 2/26/99 35

Two-Level Directory

¥ Each user has own user file directory (UFD)

¥ Master file directory (MFD) holds pointersto UFDs

¥ Disadvantage: discourages cooperation

CPSC 410--Richard Furuta 2/26/99 36

Two-Level Directory

Page 19: Silberschatz and Galvin Chapter 10

19

CPSC 410--Richard Furuta 2/26/99 37

Tree-Structured Directories

¥ Natural generalization of two-leveldirectories

¥ As in MS-DOS

¥ current directory, change directoryoperation

¥ policy decision: how to handle requests todelete a (non-empty) directory (prohibit,recurse, ...)

CPSC 410--Richard Furuta 2/26/99 38

File System Organizations¥ Objectives: Providing facility for locating, accessing, and protecting files in the system.¥ Common approach: tree structured directory system¥ Path name + file name has to be unique.

spell bin programs

stat mail dist find count hex recorder p e mail

prog copy prt exp recorder list find hex count

list obj spell all last first

Page 20: Silberschatz and Galvin Chapter 10

20

CPSC 410--Richard Furuta 2/26/99 39

Acyclic-Graph Directories

¥ Add to tree-structured directories, forexample, Unix ln

¥ permits the sharing of files andsubdirectories

¥ the same file/subdirectory exists in the filesystem in two or more places at the sametime

CPSC 410--Richard Furuta 2/26/99 40

File System Organizations

spell bin programs

stat mail dist find count hex recorder p e mail

prog copy prt exp recorder list find hex count

list obj spell all last first

recorder is now found in two locations in the file system

Page 21: Silberschatz and Galvin Chapter 10

21

CPSC 410--Richard Furuta 2/26/99 41

Acyclic-graph directorystructures

¥ File now has multiple absolute path names(aliasing problem). Can backup avoid copying thesame file twice?

¥ Deletion: when can the space be reclaimed?Reference counts, for example (or dangling linksas another possible solution)

¥ Who gets charged for file space?

¥ Ensuring the absence of cyclesÐ Allow links to file, not subdirectories (Unix hard links)

CPSC 410--Richard Furuta 2/26/99 42

General Graph Directory

¥ As in acyclic-graph structure but also permitscycles!

¥ Traversal becomes more complicated (avoidtraversing same entries repeatedly). How about ls-R?

¥ Self-referencing files create difficulties withreference counts. Garbage collection may berequired. (Pass one: traverse and mark; pass two:collect).

Page 22: Silberschatz and Galvin Chapter 10

22

CPSC 410--Richard Furuta 2/26/99 43

General graph directory

CPSC 410--Richard Furuta 2/26/99 44

Protection Mechanisms

¥ Simple protection by access right lists

Ð read

Ð write

Ð execute

Ð append

Ð delete

Ð list

Page 23: Silberschatz and Galvin Chapter 10

23

CPSC 410--Richard Furuta 2/26/99 45

Access lists and groups

¥ Mode of access: read, write, execute

¥ Classes of usersÐ Owner

Ð Group (membership carefully controlled)

Ð Public

¥ Unix protection bitsÐ RWXRWXRWX

Ð O G P

¥ Operations: chmod, chgrp

CPSC 410--Richard Furuta 2/26/99 46

Access lists and groups

¥ General access lists are even more flexiblethan Unix schemeÐ Example: allow everyone but one person to

read a file

¥ Unix: interpretation of ÒxÓ bit for directories

¥ Unix: suid bit