Chapter 12 File Management Overview File organisation and

  • Slides: 39
Download presentation
Chapter 12 File Management • Overview • File organisation and Access • File Directories

Chapter 12 File Management • Overview • File organisation and Access • File Directories • File Sharing • Record Blocking 1

Files • Files are the central element to most applications – file as an

Files • Files are the central element to most applications – file as an input to applications – file as an output for long-term storage and for later access • Desirable properties of files: – Long-term existence – Controlled sharing between processes – Structure that is convenient for particular applications 2

File Structure Fields and Records • Fields – Basic element of data • e.

File Structure Fields and Records • Fields – Basic element of data • e. g. , student’s last name – Contains a single value – Characterized by its length and data type • Records – Collection of related fields • e. g. , a student record – Treated as a unit 3

File Structure File and Database • File – Collection of similar records – Treated

File Structure File and Database • File – Collection of similar records – Treated as a single entity and may be referenced by name – Access control restrictions usually apply at the file level • Database – Collection of related data – Explicit relationships exist among elements – Consists of one or more files 4

Roadmap • Overview • File organisation and Access • File Directories • File Sharing

Roadmap • Overview • File organisation and Access • File Directories • File Sharing • Record Blocking 5

File Organization • The basic operations that a user or application may perform on

File Organization • The basic operations that a user or application may perform on a file are performed at the record level – The file is viewed as having some structure that organizes the records • File organization refers to the logical structuring of records – Determined by the way in which files are accessed (access method) 6

Criteria for File Organization • Important criteria include: – Short access time – Ease

Criteria for File Organization • Important criteria include: – Short access time – Ease of update – Economy of storage – Simple maintenance – Reliability 7

Criteria for File Organization • Priority will differ depending on the use – For

Criteria for File Organization • Priority will differ depending on the use – For batch mode file processing, rapid access for retrieval of a single record is of minimal concern • These criteria may conflict – Use of indexes (conflict with economy of storage) can be a primary means of increasing the speed of access to data 8

The Pile • Data are collected in the order they arrive – No structure

The Pile • Data are collected in the order they arrive – No structure • Purpose is to accumulate a mass of data and save it • Records may have different fields – field should be self-describing – field length should be known 9

The Pile • Record access is by exhaustive search • Used when data are

The Pile • Record access is by exhaustive search • Used when data are collected and stored prior to processing or data are not easy to organize • Uses space well when data vary in size and structure • Adequate for exhaustive searches • Easy to update • Unsuitable for most applications 10

The Sequential File • Fixed format used for records • Records are of the

The Sequential File • Fixed format used for records • Records are of the same length – same number of fixed-length fields in a particular order • Only the values of fields need to be stored • Field name and length are attributes of the file structure 11

The Sequential File • Key field – Uniquely identifies the record – Records are

The Sequential File • Key field – Uniquely identifies the record – Records are stored in key sequence • Optimal for batch applications if they involve the processing of all the records • Easily stored on tape and disk • Poor performance for interactive applications – considerable processing and delay due to the sequential search of the file for a key match 12

Indexed Sequential File • An index is added to support random access – The

Indexed Sequential File • An index is added to support random access – The index is a sequential file – An index record contains a key field and a pointer into the main file – For searching • Search the index to find the 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 13

Indexed Sequential File • An overflow file is added • A new record is

Indexed Sequential File • An overflow file is added • A new record is added to the overflow file and is located by following a pointer from its predecessor record • The indexed sequential file is occasionally merged with the overflow file in batch mode 14

Indexed File • Records are accessed only through their indexes – no restriction on

Indexed File • Records are accessed only through their indexes – no restriction on the placement of records – allows variable-length records • Uses multiple indexes for different key fields – An exhaustive index contains one entry for every record in the main file – A partial index contains entries to records where the field of interest exists 15

Indexed File • When a new record is added to the main file, all

Indexed File • When a new record is added to the main file, all of the index files must be updated. • Used mostly in applications where – timeliness of information is critical and – data are rarely processed exhaustively – examples: airline reservation systems and inventory control systems 16

Roadmap • Overview • File organisation and Access • File Directories • File Sharing

Roadmap • Overview • File organisation and Access • File Directories • File Sharing • Record Blocking 17

File Directory • Contains information about files – Attributes – Location – Ownership •

File Directory • Contains information about files – Attributes – Location – Ownership • Directory itself is a file owned by the operating system 18

Directory Elements • Basic Information – File name: must be unique – File type:

Directory Elements • Basic Information – File name: must be unique – File type: e. g. , text, binary – File organization • Address Information – Volume: device on which file is stored – Starting address: e. g. , cylinder, track on disk – Size used: in bytes, words or blocks – Size allocated: maximum size of the file 19

Directory Elements • Access Control Information – Owner: able to grant/deny access to other

Directory Elements • Access Control Information – Owner: able to grant/deny access to other users and to change these privileges – Access information: e. g. , user’s name and password for each authorized user – Permitted actions: controls reading, writing, executing, transmitting over a network • Usage Information – Date Created, Identity of Creator, Date Last Read Access, Identity of Last Reader, Date Last Modified 20

Hierarchical, or Tree-Structured Directory • Master directory with user directories underneath it • Each

Hierarchical, or Tree-Structured Directory • Master directory with user directories underneath it • Each user directory may have subdirectories and files as entries • Each directory and subdirectory can be organized as a sequential file 21

Naming • The tree structure allows users to find a file by following a

Naming • The tree structure allows users to find a file by following a path from the root or master directory down various branches until the file is reached • The series of directory names, culminating in the file name itself, constitutes a pathname for the file • Duplicate filenames are possible if they have different pathnames 22

Naming • Usually an interactive user or a process is associated with a current

Naming • Usually an interactive user or a process is associated with a current or working directory – Files are referenced relative to the working directory unless an explicit full pathname is used 23

Roadmap • Overview • File organisation and Access • File Directories • File Sharing

Roadmap • Overview • File organisation and Access • File Directories • File Sharing • Record Blocking 24

File Sharing • In multiuser system, there is almost always a requirement for allowing

File Sharing • In multiuser system, there is almost always a requirement for allowing files to be shared among a number of users • Two issues – Access rights – Management of simultaneous access 25

Access Rights • A wide variety of access rights have been used by various

Access Rights • A wide variety of access rights have been used by various systems – often as a hierarchy, with each right implying those that precede it. • None – User may not even know of the files existence • Knowledge – User can only determine that the file exists and who its owner is 26

Access Rights cont… • Execution – The user can load and execute a program

Access Rights cont… • 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 27

Access Rights cont… • Updating – The user can modify, delete, and add to

Access Rights cont… • Updating – The user can modify, delete, and add to the file’s data. • Changing protection – User can change access rights granted to other users • Deletion – User can delete the file 28

User Classes • Owner – Usually the files creator, has full rights and may

User Classes • Owner – Usually the files creator, has full rights and may grant rights to others • Specific Users – Individual users who are designated by user ID • User Groups – A set of users identified as a group • All – All users who have access to this system 29

Simultaneous Access • When access is granted to append or update a file to

Simultaneous Access • When access is granted to append or update a file to more than one user, the OS or file management system must enforce discipline • User may lock the entire file or individual records during update • Mutual exclusion and deadlock are issues for shared access 30

Roadmap • Overview • File organisation and Access • File Directories • File Sharing

Roadmap • Overview • File organisation and Access • File Directories • File Sharing • Record Blocking 31

Blocks and records • Records are the logical unit of access of a structured

Blocks and records • Records are the logical unit of access of a structured file • Blocks are the unit for I/O with secondary storage • Three methods of blocking are common – Fixed length blocking – Variable length spanned blocking – Variable-length unspanned blocking 32

Fixed Blocking • Fixed-length records are used, and an integral number of records are

Fixed Blocking • Fixed-length records are used, and an integral number of records are stored in a block • Unused space at the end of a block is internal fragmentation • Common for sequential files with fixedlength records 33

Fixed Blocking 34

Fixed Blocking 34

Variable Length Spanned Blocking • Variable-length records are used and are packed into blocks

Variable Length Spanned Blocking • Variable-length records are used and are packed into blocks with no unused space • Some records may span multiple blocks – Continuation is indicated by a pointer to the successor block • Efficient for storage and does not limit the size of records 35

Variable Blocking: Spanned • Difficult to implement • Records that span two blocks require

Variable Blocking: Spanned • Difficult to implement • Records that span two blocks require two I/O operations 36

Variable-length unspanned blocking • Uses variable length records without spanning • Wasted space in

Variable-length unspanned blocking • Uses variable length records without spanning • Wasted space in most blocks because of the inability to use the remainder of a block if the next record is larger than the remaining unused space • Limits record size to the size of a block 37

Variable Blocking: Unspanned 38

Variable Blocking: Unspanned 38

A Big Picture User views the file as having some structure that organizes the

A Big Picture User views the file as having some structure that organizes the records; different access methods reflect different file structures Describes the location of all files plus their attributes Records must be organized as a sequence of blocks for output and unblocked after input individual block I/O requests must be scheduled for optimizing performance Only authorized users are allowed to access particular files in particular ways 39