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 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
Records and Fields
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.
File Management Systems
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
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
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.
Directory Content and Structure
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.
Storage Allocation Allocation unit size is usually a tradeoff among: Systems Architecture Chapter 12 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.
Storage Allocation Storage Allocation Tables Systems Architecture Chapter 12 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.
Systems Architecture Chapter 12 Storage Allocation
Outline Functions and components Storage allocation File manipulation Migration, backup, recovery Access controls Directories
Storage Allocation
Storage Allocation
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
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.
Storage Allocation
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
Technology Focus – Windows NTFS
Outline Functions and components Storage allocation File manipulation Access controls Migration, backup, recovery
File Migration, Backup and Recovery File Backup Transaction Logging File Recovery Fault Tolerance Mirroring
File Migration, Backup and Recovery File Migration – management technique for secondary storage in which older versions of a file are moved automatically to less costly storage media or devices such as magnetic tape.
File Migration, Backup and Recovery
File Migration, Backup and Recovery File Backup: Full Backup Incremental Backup Differential Backup
File Migration, Backup and Recovery Full Backup – the FMS copies all files and directories for an entire storage volume. Incremental Backup – only the files that have been modified are archived. Differential Backup – only the changed portions of the files are archived.
File Migration, Backup and Recovery Transaction Logging A form of automated file backup. A transaction is any single change to file contents or attributes. Transaction logging provides a high degree of protection against data loss due to program or hardware failure.
File Migration, Backup and Recovery File Recovery The file management system maintains backup logs to aid in locating backup copies of lost or damages files. The recovery utility reconstructs as much of the directory and storage allocation data structures as possible and makes a consistency check.
File Migration, Backup and Recovery Fault Tolerance Describes methods of securing file content against hardware failure. File backup, recovery, and transaction logging are forms or protection against disk failure.
File Migration, Backup and Recovery Mirroring A fault tolerance technique in which all disk write operations are made simultaneously or concurrently to two different storage devices. Disk mirroring provides a high degree of protection against data loss with no performance penalty if implemented in hardware.
Technology Focus
Technology Focus
Technology Focus
Summary The file management system (FMS), usually a part of the operating system, manages all aspects of user and program access to secondary storage. With directories, users can organize the thousands of files stored in a typical computer system.
Summary Secondary storage units are divided into allocation units, which are typically a few kilobytes in size. The FMS allocates buffers to support program file I/O.
Summary The FMS enforces access controls when accessing files on behalf of a user or program. FMSs provide utilities to make backup copies of files and directories and to recover them if needed.