File Systems,

advertisement
File Management
Chapter 12
File Management
• File management system is considered
part of the operating system
• Input to applications is by means of a
file
• Output is saved in a file for long-term
storage
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
Terms Used with Files
• File
–
–
–
–
Collection of similar records
Treated as a single entity
Have unique file names
May restrict access
• Database
– Collection of related data
– Relationships exist among elements
File Management System
• The way a user of application may
access files
• Programmer does not need to develop
file management software
Objectives for a
File Management System
• Meet the data management 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
Objectives for a
File Management System
• Minimize or eliminate the potential for
lost or destroyed data
• Provide a standardized set of I/O
interface routines
• Provide I/O support for multiple users
Minimal Set of Requirements
• Each user should be able to create,
delete, read, and change 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 in a form appropriate to
the problem
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
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
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
Basic I/O Supervisor
• Responsible for file I/O initiation and
termination
• Control structures are maintained
• Concerned with scheduling access to
optimize performance
• Part of the operating system
Logical I/O
• Enables users and applications to access
records
• Provides general-purpose record I/O
capability
• Maintains basic data about file
Access Method
• Reflect different file structures
• Different ways to store and process data
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
Criteria for File Organization
• Rapid access
– 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
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
File Organization
•
•
•
•
•
The Pile
Sequential
Indexed Sequential
Indexed
Hashed
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
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
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
Hierarchical, or TreeStructured Directory
• Master directory with user directories
underneath it
• Each user directory may have
subdirectories and files as entries
Hierarchical, or TreeStructured 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
Hierarchical, or TreeStructured Directory
• Current directory is the working
directory
• Files are referenced relative to the
working directory
File Sharing
• In multiuser system, allow files to be
shared among users
• Two issues
– Access rights
– Management of simultaneous access
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
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
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
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
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
Secondary Storage
Management
• Space must be allocated to files
• Must keep track of the space available
for allocation
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
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
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
Methods of File Allocation
• Indexed allocation
– File allocation table contains a separate onelevel 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
UNIX File Management
• Types of files
– Ordinary
– Directory
– Special
Download