Tải bản đầy đủ (.pdf) (22 trang)

Lecture Operating system concepts - Module 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (292.55 KB, 22 trang )

Module 10: File-System Interface






File Concept
Access :Methods
Directory Structure
Protection
Consistency Semantics

10.1

Silberschatz and Galvin 1999 


File Concept



Contiguous logical address space
Types:
– Data
numeric
character
binary
– Program

10.2



Silberschatz and Galvin 1999 


File Structure



None - sequence of words, bytes



Complex Structures
– Formatted document
– Relocatable load file



Can simulate last two with first method by inserting appropriate
control characters.



Who decides:
– Operating system
– Program

Simple record structure
– Lines
– Fixed length

– Variable length

10.3

Silberschatz and Galvin 1999 


File Attributes







Name – only information kept in human-readable form.



Information about files are kept in the directory structure, which is
maintained on the disk.

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.

10.4


Silberschatz and Galvin 1999 


File Operations








create



close (Fi) – move the content of entry Fi in memory to directory
structure on disk.

write
read
reposition within file – file seek
delete
truncate
open(Fi) – search the directory structure on disk for entry Fi, and
move the content of entry to memory.

10.5


Silberschatz and Galvin 1999 


File Types – name, extension
File Type
Executable
Object
Source code

Usual extension
exe, com, bin or
none
obj, o

Function
ready-to-run machinelanguage program
complied, machine
language, not linked
source code in various
languages
commands to the
command interpreter
textual data documents

Batch

c, p, pas, 177,
asm, a
bat, sh


Text

txt, doc

Word processor

wp, tex, rrf, etc.

Library

lib, a

various word-processor
formats
libraries of routines

Print or view

ps, dvi, gif

ASCII or binary file

Archive

arc, zip, tar

related files grouped
into one file, sometimes
compressed.


10.6

Silberschatz and Galvin 1999 


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
10.7

Silberschatz and Galvin 1999 



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.
10.8

Silberschatz and Galvin 1999 


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)

10.9

Silberschatz and Galvin 1999 


Operations Performed on Directory








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

10.10

Silberschatz and Galvin 1999 


Organize the Directory (Logically) to Obtain



Efficiency – locating a file quickly.



Grouping – logical grouping of files by properties, (e.g., all Pascal
programs, all games, …)

Naming – convenient to users.
– Two users can have same name for different files.
– The same file can have several different names.

10.11


Silberschatz and Galvin 1999 


Single-Level Directory


A single directory for all users.




Naming problem
Grouping problem

10.12

Silberschatz and Galvin 1999 


Two-Level Directory


Separate directory for each user.







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

Silberschatz and Galvin 1999 


Tree-Structured Directories

10.14

Silberschatz and Galvin 1999 


Tree-Structured Directories (Cont.)




Efficient searching
Grouping Capability
Current directory (working directory)
– cd /spell/mail/prog
– type list

10.15

Silberschatz and Galvin 1999 



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 /spell/mail
mkdir count
mail
prog



Deleting “mail”

copy prt exp count

deleting the entire subtree rooted by “mail”.
10.16


Silberschatz and Galvin 1999 


Acyclic-Graph Directories


Have shared subdirectories and files.

10.17

Silberschatz and Galvin 1999 


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.

10.18


Silberschatz and Galvin 1999 


General Graph Directory

10.19

Silberschatz and Galvin 1999 


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.

10.20

Silberschatz and Galvin 1999 


Protection


File owner/creator should be able to control:
– what can be done
– by whom




Types of access
– Read
– Write
– Execute
– Append
– Delete
– List

10.21

Silberschatz and Galvin 1999 


Access Lists and Groups



Mode of access: read, write, execute
Three classes of users
a) owner access

7

b) groups access

6


c) public access

1

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
public
appropriate access. owner group
chmod



761

game

Attach a group to a file

chgrp

G
10.22

game
Silberschatz and Galvin 1999 



×