Chapter 12 File Management Systems
description
Transcript of Chapter 12 File Management Systems
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 StructureHierarchical 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 StructureHierarchical 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.
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.
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:
1. Locates the file within the directory structure and reads its directory entry.
2. Searches an internal table of open files to see if the file already is open.
3. Ensures that process has sufficient privileges to access the files.
4. Allocates one or more buffers.5. Updates an internal table of open files.
File Manipulation
File Close Operation:
1. Flushing the program’s file I/O buffers to secondary storage.
2. Deallocating buffer memory.
3. Updating the file’s directory entry time stamps.
4. 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 Migration 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
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.
File Migration, Backup and Recovery
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.