680 likes | 953 Views
Chapter 12 File Management Systems. Outline. Functions and components Storage allocation File manipulation Access controls Migration, backup, recovery. File Management Systems. Logical and Physical Storage Views File Content and Type. File Management Systems.
E N D
Outline • Functions and components • Storage allocation • File manipulation • Access controls • Migration, backup, recovery
File Management Systems • Logical and Physical Storage Views • File Content and Type
File Management Systems • A File Management System (FMS) is implement in layers: • Command layer or application program • File control • Storage I/O control • Storage devices
File Management Systems • Storage devices – interact with the bus and with operating system device drivers to transfer data between storage devices and memory. • Storage I/O control – accesses storage locations and manages data movement between storage devices and memory.
File Management Systems • File Control – provides a set of service functions for manipulating files and directories. • Command layer or application program – users perform common file management functions such as copying, moving and renaming.
File Management Systems Logical and Physical Storage Views Logical Storage Views – viewed by users are a collection of files organized within directories and storage volumes. Physical Storage Views – a collection of physical storage locations organized as a linear address space.
File Management Systems File Content and Type • A file can store many different data types including text, numbers, complex data structures, and executable instructions. • Modern file management systems provide a framework to support additional file types.
File Management Systems File Content and Type • File type normally is declared when a file is created. • In the UNIX file management system, the file type is stored within the directory. In the Windows file management system, the file type is declared through the extension.
Directory Content and Structure • Hierarchical Directory Structure • Graph Directory Structure
Directory Content and Structure Hierarchical Directory Structure • A directory contains information about files and other directories. • Typical directory contents include: • Name Size Time stamp • File Type Ownership • Location Access controls
Directory Content and Structure • Typical file ownership permissions are: • List • Read • Modify • Change
Directory Content and Structure • Time stamps include: • When the file was created • When the file most recently was read • When the file most recently was written • When the file last was backed up
Directory Content and Structure Hierarchical Directory Structure • Directories can contain other directories. • Directories can not have more than one parent. • Sometimes called a tree structure.
Directory Content and Structure • Example: Traversing directories in the Windows command shell
Directory Content and Structure Graph Directory Structure • Files and subdirectories can be contained within multiple directories. • Directory links can form a cycle.
Paths • Where do operating systems look for executable files? • In the current directory • In the path • If directories are missing or in the wrong order, OS can’t find the right files • Example: Windows PATH
Paths and Environment Variables • Some programs use environment variables to store path information • If directories are missing or in the wrong order, programs can’t find the right files • Example: Java and the CLASSPATH
Paths, INI Files, Programs … • Paths are all over the place! • They are in initialization files, programs, the Windows registry, … • You need to be comfortable with absolute and relative file specs.
Outline • Functions and components • Storage allocation • File manipulation • Access controls • Migration, backup, recovery
Storage Allocation • Allocation Units • Storage Allocation Tables • Blocking and Buffering
Storage Allocation Allocation Units • An allocation unit is the smallest number of secondary storage bytes that can be allocated to a file. • Allocation units can not be smaller than the unit of data transfer between the storage device and controller, which is normally called a block.
Chapter 12 Systems Architecture Storage Allocation Allocation unit size is usually a tradeoff among: • Efficient use of secondary storage space for files. • Size of storage allocation data structures. • Efficiency of storage allocation procedures.
Chapter 12 Systems Architecture Storage Allocation Storage Allocation Tables A storage allocation table is a data structure that records which allocation units are free and which belong to files.
Chapter 12 Systems Architecture Storage Allocation
Outline • Functions and components • Storage allocation • File manipulation • Migration, backup, recovery • Access controls • Directories
Storage Allocation Blocking and Buffering • A logical record is a collection of data items, or fields, that is accessed by an application program as a single unit. • A physical record is the unit of storage transferred between the device controller and memory in a single operation.
Storage Allocation Blocking and Buffering • Logical record grouping within physical records is called blocking. • If a physical record contains just one logical record, then the file is said to be unblocked.
Storage Allocation Blocking and Buffering: • A FMS uses buffers in primary storage to store data temporarily as it moves between programs and secondary storage devices. • A buffer is a scratchpad for extracting logical records from physical records.
Outline • Functions and components • Storage allocation • File manipulation • Access controls • Migration, backup, recovery
File Manipulation • File Open and Close Operations • Delete and Undelete Operations
File Manipulation File Open and Close Operations • The FMS must perform several tasks, collectively called a file open operation, before an application program can read or write a file’s contents.
File Manipulation File Open Operation: • Locates the file within the directory structure and reads its directory entry. • Searches an internal table of open files to see if the file already is open. • Ensures that process has sufficient privileges to access the files. • Allocates one or more buffers. • Updates an internal table of open files.
File Manipulation File Close Operation: • Flushing the program’s file I/O buffers to secondary storage. • Deallocating buffer memory. • Updating the file’s directory entry time stamps. • Updating the open file table.
File Manipulation Delete and Undelete Operations • In most file management systems, files are not removed immediately from secondary storage when they are deleted. • The file’s storage allocation units are marked as free and its directory entry is marked as unused. • A user might be able to use the undelete operation to recover the file.
Access Controls • A File Management System helps prevent loss, corruption and unauthorized access to files. • The operating system is used to identify and authenticate users and their processes. • The file access is authenticated through id’s and passwords.
Outline • Functions and components • Storage allocation • File manipulation • Access controls • Migration, backup, recovery
Access Controls For Example: UNIX defines three access control types: • Read • Write • Execute