Learning outcome:By the end of this lecture, students will be able to:1) Identify basic function of file system2)Describe file organization techniques3) Describe types of file structure4)Describe various methods of file allocation
File Management : IntroductionFile management system can be define as a system that an operating system uses to keep track of different files.Unlike the CPU and memory management aspects of the operating system which aim mainly towards an optimum use of the CPU, file management aims to provide a convenient programming environment for the users of the system.There are several functions that must be performed by an efficient file system: include storing of files in an orderly fashion accessing the stored files appending the stored files and protecting the files from loss of data
File organization techniques Concerned with how records are arranged & characteristics of medium used to store it. On magnetic disks, files can be organized as: 1) Sequential 2) Direct 3) Indexed sequential
Characteristics Considered WhenSelecting File OrganizationVolatility of data—frequency with which additions & deletions made.Activity of file—% records processed during a given run.Size of file.Response time—amount of time user is willing to wait before requested operation is completed.
1) SequentialEasiest to implement because records are stored & retrieved serially, one after other.To speed process some optimization features may be built into system. E.g., select a key field from record & then sort records by that field before storing them. Aids search process. Complicates maintenance algorithms because original order must be preserved every time records added or deleted.
2) DirectUses direct access files which can be implemented only on direct access storage devices.Give users flexibility of accessing any record in any order without having to begin search from beginning of file.Records are identified by their relative addresses (their addresses relative to beginning of file). Logical addresses computed when records are stored & again when records are retrieved. Use hashing algorithms
Advantages:1) Fast access to records.2)Can be updated more quickly than sequential files because records quickly rewritten to original addresses after modificationsDisadvantage:1) Several records with unique keys may generate same logical address (collision)
3) Indexed sequentialCombines best of sequential & direct access.Created & maintained through Indexed Sequential Access Method (ISAM) software package.Doesn’t create collisions because it doesn’t use result of hashing algorithm to generate a record’s address. Uses info to generate index file through which records retrieved.Divides ordered sequential file into blocks of equal size. Size determined by File Manager to take advantage of physical storage devices & to optimize retrieval strategies.Each entry in index file contains highest record key & physical location of data block where this record, & records with smaller keys, are stored.
Methods of file allocationFile manager works with files As whole units As logical units or recordsWithin file Records must have same format Record length may varyRecords subdivided into fieldsApplication programs manage record structureThree methods:1) Contiguous file allocation2) Linked list non-contiguous (using blocks)3) Linked list non-contiguous (using index)
1) Contiguous file allocationRecords stored one after another Advantages Any record found once starting address, size known Easy direct access Disadvantages Difficult file expansion, fragmentation
2) Linked list non-contiguous(using blocks)Files use any available disk storage spaceFile records stored in contiguous manner If enough empty spaceRemaining file records and additions Stored in other disk sections (extents) Extents Linked together with pointers Physical size determined by operating system Usually 256 bytes
File extents linked in two ways Storage level Each extent points to next one in sequence Directory entry Filename, storage location of first extent, location of last extent, total number of extents (not counting first) Directory level Each extent listed with physical address, size, pointer to next extent Null pointer indicates last oneAdvantage Eliminates external storage fragmentation Eliminates need for compactionDisadvantage No direct access support Cannot determine specific record’s exact location
3) Linked list non-contiguousallocation (using index) Allows direct record access Brings pointers together Links every extent file into index block Every file has own index block Disk sector addresses for file Lists entry in order sectors linked Supports sequential and direct access Does not necessarily improve storage space use Larger files experience several index levels