صفحه 1:
File Management
Chapter 12
صفحه 2:
File Management
° File management system
consists of system utility
programs that run as privileged
applications
° Input to applications is by
means of a file
° Output is saved in a file for
long-term storage
صفحه 3:
File System Properties
° Long-term existence
° Sharable between processes
° Structure
صفحه 4:
File Operations
° Create
° Delete
° Open
° Close
° Read
° Write
صفحه 5:
Terms Used with Files
° Field
~ Basic element of data
~ Contains a single value
~ Characterized by its length and
data type
° Record
~ Collection of related fields
~ Treated as a unit
° Example: employee record
صفحه 6:
Terms Used with Files
° File
~ Collection of similar records
~ Treated as a single entity
~ Have file names
~ May restrict access
° Database
~ Collection of related data
~ Relationships exist among elements
صفحه 7:
Typical Operations
° Retrieve All
° Retrieve One
° Retrieve Next
° Retrieve_Previous
° Insert_One
° Delete _One
° Update One
° Retrieve Few
صفحه 8:
File Management
Systems
° The way a user of application
may access files
° Programmer does not need to
develop file management
software
صفحه 9:
Opjectives fora
File Management
m
° Meet the Byte jement
needs and requirements of the
user
° Guarantee that the data in the
file are valid
° Optimize performance
° Provide I/O support for a
variety of storage device types
صفحه 10:
Opjectives fora
File Management
m
° Minimize System م the
potential for lost or destroyed
data
° Provide a standardized set of
I/O interface routines
° Provide I/O support for multiple
users
صفحه 11:
Minimal Set of
Requirements
¢ Each user should be able to create,
delete, read, write and modify files
° Each user may have controlled
access to other users’ files
° Each user may control what type of
accesses are allowed to the users’
files
° Each user should be able to
restructure the user’s files ina
form appropriate to the problem
صفحه 12:
Minimal Set of
Requirements
° Each user should be able to
move data between files
° Each user should be able to
back up and recover the user’s
files in case of damage
° Each user should be able to
access the user’s files by using
symbolic names
صفحه 13:
13
ile System Software Architeeture
Figure 12.4
صفحه 14:
Device Drivers
° Lowest level
* Communicates directly with
peripheral devices
° Responsible for starting I/O
operations on a device
° Processes the completion of an
I/O request
صفحه 15:
Basic File System
° Physical I/O
° Deals with exchanging blocks of
data
° Concerned with the placement
of blocks
* Concerned with buffering
blocks in main memory
صفحه 16:
Basic I/O Supervisor
° Responsible for file I/O initiation
and termination
* Control structures are maintained
* Concerned with selection of the
device on which file I/O is to be
performed
* Concerned with scheduling access
to optimize performance
° Part of the operating system
صفحه 17:
Logical I/O
° Enables users and applications
to access records
۰ Provides general-purpose
record I/O capability
° Maintains basic data about file
صفحه 18:
Access Method
° Reflect different file structures
° Different ways to access and
process data
صفحه 19:
0
Figure 12.2 Elements of File Management
19
صفحه 20:
File Management
Functions
° Identify and locate a selected file
° Use a directory to describe the
location of all files plus their attributes
* On a shared system describe user
access control
* Blocking for access to files
Allocate files to free blocks
* Manage free storage for available
blocks
صفحه 21:
Criteria for File
Organization
° Short access time
~ Needed when accessing a single
record
~ Not needed for batch mode
° Ease of update
~ File on CD-ROM will not be
updated, so this is not a concern
صفحه 22:
Criteria for File
Organization
° Economy of storage
~ Should be minimum redundancy
in the data
~ Redundancy can be used to speed
access such as an index
° Simple maintenance
° Reliability
صفحه 23:
File Organization
° The Pile
~ Data are collected in the order
they arrive
~ Purpose is to accumulate a mass
of data and save it
~ Records may have different fields
~ No structure
~ Record access is by exhaustive
search
صفحه 24:
Pile
\aiable set of fields
Chronological onder
(a) Pile Fite
24
صفحه 25:
File Organization
° The Sequential File
~ Fixed format used for records
~ Records are the same length
~ All fields the same (order and length)
~ Field names and lengths are
attributes of the file
- One field is the key filed
* Uniquely identifies the record
* Records are stored in key sequence
صفحه 26:
File Organization
° The Sequential File
~ New records are placed in a log
file or transaction file
~ Batch update is performed to
merge the log file with the master
file
صفحه 27:
Sequential File
Fized-lengthreconts
Fized set of fields in Hxed onder
‘Sequential order based on key Held
(b) Sequential Eile
صفحه 28:
File Organization
° Indexed Sequential File
~ Index provides a lookup capability
to quickly reach the vicinity of the
desired record
* Contains key field and a pointer to the
main file
* Indexed is searched to find highest key
value that is equal to or precedes the
desired key value
° Search continues in the main file at the
location indicated by the pointer
28
صفحه 29:
File Organization
* Comparison of sequential and indexed
sequential
Example: a file contains 1 million records
~ On average 500,00 accesses are required
to find a record in a sequential file
~ If an index contains 1000 entries, it will
take on average 500 accesses to find the
key, followed by 500 accesses in the main
file. Now on average it is 1000 accesses
29
صفحه 30:
File Organization
° Indexed Sequential File
~ New records are added to an overflow
file
~ Record in main file that precedes it is
updated to contain a pointer to the
new record
~ The overflow is merged with the main
file during a batch update
~ Multiple indexes for the same key field
can be set up to increase efficiency
30
صفحه 31:
Indexed Sequential File
صفحه 32:
File Organization
° Indexed File
~ Uses multiple indexes for different
key fields
~ May contain an exhaustive index
that contains one entry for every
record in the main file
~ May contain a partial index
صفحه 33:
Indexed File
Exhaustive Exhaustive Partial
ها نت index
|
Primary Fle
(variable-length reconts)
(d) Indexed File
صفحه 34:
File Organization
° The Direct or Hashed File
~ Directly access a block at a known
address
~ Key field required for each record
صفحه 35:
‘Table 12.1 Grades of Performance for Five Basic File Organizations [WIED87]
Retrieval
Subset Exhaustive
D 8
D 5
D B
Single record
Update
Record Size
Equal Greater
2 8
D F
8 D
92
90
موه
)"00 =
Space
‘Auributes
File Method | Vasile Fixed
A 8
Seaventil F ۸
Indened F B
sequential
Indexed 8 8
Hashed F
Excellent, well suited to this purpose
Good
Adequate
Requires some extra effort
Possible with extreme effort
‘Net reasonable for this purpose
size of the result
umber of records that overflow
smmer of records in fle
صفحه 36:
File Directories
* Contains information about files
~ Attributes
~ Location
~ Ownership
° Directory itself is a file owned
by the operating system
° Provides mapping between file
names and the files themselves
36
صفحه 37:
Simple Structure for a
Directory
» List of entries, one for each file
° Sequential file with the name of
the file serving as the key
° Provides no help in organizing
the files
° Forces user to be careful not to
use the same name for two
different files
صفحه 38:
Table 12.2 Information Elements of a File Directory
File Name ‘Name as chosen by cesior (user or program). Must be unique within a specific directory
File Type ‘For example: txt binary, foad module, etc.
File Organization For systems that support differest organizations
Address Information
Volume Indicates device on which eis tored
Starting Address Starting physical address on secondary storage (e.evlinder, rack, and block sumber on isk)
Sve Used Curent sie of the file i byes, ods, o locks
Size Allocated The maximum size ofthe ile
38
صفحه 39:
Access Control Taformation
lowner ‘User whe is assigned contol of thi file. The owner may be able to grant de
users and to chaage these privileges
| Access Information A simple version of this clement would include the user's name and password fore
suthorized user
lrermitted Actions CConirols reading, writing, executing, transmitting over a network
39
صفحه 40:
Usage Information
‘When file was fist placed in dtectory
Usually but not necessarily the enrtent owner
Date ofthe lac time a record was ead
User who did the reading
Date ofthe let update, insrtion, or deletion
User who did the modiving
Date ofthe lac time the file was backed up on another storage medium
Infocmation about curcent activity onthe file, such as process or processes that have the file
‘open, whether itis locked by a process, and whether the file has been updated in main memory
bat not vet on diske
40
Date Created
Identity of Creator
\Date Last Read Access
Identity of Last Reader
Date Last Modified
Identity of Last Modifior
Date of Last Backup
[Current Usage
صفحه 41:
Two-level Scheme for a
Directory
One directory for each user and a
master directory
Master directory contains entry for
each user
~ Provides address and access control
information
Each user directory is a simple list
of files for that user
Still provides no help in structuring
collections of files
صفحه 42:
Hierarchical, or Tree-
Structured Directory
° Master directory with user
directories underneath it
° Each user directory may have
subdirectories and files as
entries
صفحه 43:
Master Directory
birectory Subireetory Subireetory
> مس
Subirectory Subirectory File
مس
File File File
wctured Directory
Figure 12.4 Tree-St
43
صفحه 44:
00 وممصم
اه عرسي inca تس
۳71
0 1
retoy “Wor” 0 ۳
۳ ¥
0 ۰
¥ 0
ce
1
0
44
igure 12.5 Example of Tree-Structured Directory
صفحه 45:
Hierarchical, or Tree-
Structured Directory
° Files can be located by
following a path from the root,
or master, directory down
various branches
~ This is the pathname for the file
° Can have several files with the
same file name as long as they
have unique path names
صفحه 46:
Hierarchical, or Tree-
Structured Directory
° Current directory is the
working directory
° Files are referenced relative to
the working directory
صفحه 47:
File Sharing
° In multiuser system, allow files
to be shared among users
° Two issues
~ Access rights
~ Management of simultaneous
access
صفحه 48:
Access Rights
۰ None
~ User may not know of the
existence of the file
~ User is not allowed to read the
user directory that includes the
file
* Knowledge
- User can only determine that the
file exists and who its owner is
صفحه 49:
Access Rights
° Execution
~ The user can load and execute a program
but cannot copy it
° Reading
~ The user can read the file for any
purpose, including copying and execution
° Appending
~ The user can add data to the file but
cannot modify or delete any of the file’s
contents
49
صفحه 50:
Access Rights
° Updating
~ The user can modify, deleted, and
add to the file’s data. This includes
creating the file, rewriting it, and
removing all or part of the data
° Changing protection
~ User can change access rights
granted to other users
° Deletion
- User can delete the file
صفحه 51:
Access Rights
° Owners
~ Has all rights previously listed
~ May grant rights to others using
the following classes of users
* Specific user
° User groups
* All for public files
صفحه 52:
Simultaneous Access
° User may lock entire file when
it is to be updated
° User may lock the individual
records during the update
° Mutual exclusion and deadlock
are issues for shared access
صفحه 53:
Fixed Blocking
0 mn ع Ee] be نت
0 ۳ a El a 5
Fixed Blocking
Data RY Waste due to record fit to block size
۳ caps due to hardware design BB waste due to block size constraint
from fixed record size
EJ Waste due to block fit to wack size
صفحه 54:
Variable Blocking:
Spanned
0 RI 2 RS ll 14 RS RO Track 1
۳ ۳ ۷ rn مك we fs VY mes
‘Variable Blocking: Spanned
Data SQ waste due to record fit wo block size
TB cups due to hardware design 959 wae dt back sive contin
from fee recon ie
نس aw i a
صفحه 55:
Variable Blocking
Unspanned
RI R2 RB 51 R4 RS N 7 Track 1
R6 1 ۲ RS Ro R10 ‘Track 2
‘Variable Blocking: Unspanned
Data Waste due to record fit to block size
ی دسج مج 53 ana ترجه
rial seoid ste و
‘Waste due to block fit to track size
صفحه 56:
Secondary Storage
Management
° Space must be allocated to files
° Must keep track of the space
available for allocation
صفحه 57:
Preallocation
° Need the maximum size for the
file at the time of creation
° Difficult to reliably estimate the
maximum potential size of the
file
¢ Tend to overestimated file size
so as not to run out of space
صفحه 58:
Methods of File
Allocation
° Contiguous allocation
~ Single set of blocks is allocated to
a file at the time of creation
~ Only a single entry in the file
allocation table
* Starting block and length of the file
٠ External fragmentation will
occur
~ Need to perform compaction
صفحه 59:
59
Fle Allocation Table
eo TE
ع
5
ASS لاله
s_] ™ s_]
oS oa 1
we 1 ]۱7[ ]16 ]15
7 22 ZAM
ZA fla 2 29]
حصد ماه نهدي يد
Figure 12.7 Contiguous File Allocation
صفحه 60:
60
File Atlocation Table
Tile 7
Tiles 9
۳ 3
File 3
File D 0
File 1
wane
ZZ
ار
a
اد
uf
-
ji ZZ)
نا" ناه Zw
نان لان لاه تعمد
ps] of] a]
30] pf] ep] 23
Figure 12.8 Contiguous File Allocation (After Compaction)
صفحه 61:
Methods of File
Allocation
* Chained allocation
~ Allocation on basis of individual block
~ Each block contains a pointer to the next
block in the chain
~ Only single entry in the file allocation table
* Starting block and length of file
* No external fragmentation
° Best for sequential files
* No accommodation of the principle of
locality
61
صفحه 62:
62
File Allocation Table
Tite Name Start eck Length
Files. 1
4
5
لا
مس«إماه ماه ناه ماد
حا« اللا« اد لاد اعد
مب« مد ماك ماه مامد
Figure 12.9 Chained Allocation
صفحه 63:
Fite Allocation Table
3 Tile Name Start Rock engi
۰۳۳ www 4 5
oOoooo
Files 0 1
۰ [ ]ده 121 اد ao
لحان » اك لاه لان
نا« ناه لاه ناه لاد
لا« لاه لاد ss
اه ]هد sO
Figure 12.10 Chained Allocation (After Consolidation)
صفحه 64:
Methods of File
Allocation
° Indexed allocation
~ File allocation table contains a
separate one-level index for each
file
~ The index has one entry for each
portion allocated to the file
~ The file allocation table contains
block number for the index
صفحه 65:
65
File Allocation Table
Tile Name Index Block
Breen
Figure 12.11 Indexed Allocation with Block Portions
صفحه 66:
File Allocation Table
‘Name Index Block
asa iim |
2 esos
Figure 12.12 Indexed Allocation with Variable-Length Portions
66
صفحه 67:
UNIX File Management
° Types of files
~ Regular, or ordinary
~ Directory
~ Special
~ Named pipes
~ Links
~ Symbolic links
صفحه 68:
Inodes
° Index node
* Control structure that contains
key information for a particular
file
صفحه 69:
Table 12.4 Information in a UNIX Disk-Resident Inode
16-bit flag that stores access and execution permissions associated with
the file,
12-14 File ype (regular, directory, character ot block special, FIFO pie
9-11 Execution flags
8 Owner read permission
7 Owner write permission
Orwner execute permission
Group read permission
Group write permission
Group execute permission
Other read permission
Otter write permission
0 Other execute permission
[Number of directory references to this inode
Individual owner of file
Group owner associated with tis file
Namberof bytes in file
39 bytes of address information
Time of last file access
Time of at file modification
Time of last inode modification
[File Mode
Link Count
lowner 1D
croup 1۵
Fite Sze
lite Addresses
Hast Accessed
hast Modifica
[inode Modifica
صفحه 70:
صفحه 71:
71
node tate Directory
Figure 12.14 UNIX Directories and Inodes
صفحه 72:
Linux Virtual File
System
* Uniform file system interface to
user processes
° Represents any conceivable file
system’s general feature and
behavior
° Assumes files are objects that
share basic properties regardless
of the target file system
صفحه 73:
73
‘Figure 12.15 Linux Virtual File System Context
صفحه 74:
74
stems
ge
تس
rag
سس
Figure 12.16 Linux Virtual File System Concept,
صفحه 75:
Primary Objects in VFS
° Superblock object
~ Represents a specific mounted file
system
° Inode object
~ Represents a specific file
° Dentry object
~ Represents a specific directory entry
° File object
~ Represents an open file associated
with a process
صفحه 76:
Windows File System
° Key features of NTFS
~ Recoverability
~ Security
~ Large disks and large files
~ Multiple data streams
~ General indexing facility
صفحه 77:
NTFS Volume and File
Structure
° Sector
~ The smallest physical storage unit
on the disk
° Cluster
~ One or more contiguous sectors
° Volume
~ Logical partition on a disk
صفحه 78:
Read/write a
mirrored or
Istriped volume
Read/write
the disk
1/0 Manager
NTFS Driver
Fault Tolerant]}¢
Driver
Disk Driver
Log the transaction
16 و
ل } Service
Read/write
the file
Flush the Write the
log file cache
1
Cache Load data from
cee ree disk into
Access the mapped
file or flush the cache
1
Virtual مه
Manager
Figure 12.18 Windows NTFS Components
78