CIS-512 week9 discussions
CHAPTER 17: File Management
The Architecture of Computer Hardware, Systems Software & Networking: An Information Technology Approach
4th Edition, Irv Englander
John Wiley and Sons 2010
PowerPoint slides authored by Wilson Wong, Bentley University
PowerPoint slides for the 3rd edition were co-authored with Lynne Senne, Bentley College
Introduction to Files
Collection of (usually related) data
Block
Typically 256, 512, or 1024 bytes
Files usually require a 1-block minimum
Cluster
Groups of one or more blocks
Blocks or clusters correspond to one or more sectors on a disk’s single track or cylinder
File extension
Name of file includes identification of what type of file it is
File Association
The file specifies which program with which it is to be used
Chapter 17 File Management
17-2
Terminology
Logical view
Contents and attributes of files viewed by the user
Physical view
The actual way a file is stored within the computer system
Sequential access
Data files whose records always have to be retrieved from the beginning
Random or relative access
Data files whose records can be retrieved from anywhere in the file in random sequence
Contiguous
The blocks that hold a particular file are stored together
Noncontiguous
The blocks that hold a particular file are scattered all over the device
Chapter 17 File Management
17-3
Database File – Table Image
Chapter 17 File Management
17-4
4
Database File – Form Image
Chapter 17 File Management
17-5
5
Database File – Stream Image
Closer to physical representation of file
Example: YouTube video
Chapter 17 File Management
17-6
6
Logical View vs. Physical View
Chapter 17 File Management
17-7
7
File Management System
Provides a logical view for the user and hides the physical implementation
Consistent set of commands that are translated to a form appropriate for the device
Consistent view of files regardless of file type, file characteristics, or device
Supports manipulation of data within the file
Manages directory structures which are presented in a logical view
Command shell takes user file commands and program file requests and translates them for the file manager
Requests data transfers from I/O device drivers
File security and protection of file integrity
Chapter 17 File Management
17-8
File Manager Request Handling
Chapter 17 File Management
17-9
9
File Operations (1)
File as a whole
Copy, Move
List, Print
Load and execute a program
Load file into memory
Store file from memory
Append data from memory to file
Compile, assemble a file
Chapter 17 File Management
17-10
File Operations (2)
Within a file
Open a file
Read a number of bytes from file
Write a number of bytes to a file
Move the file pointer forward or backward
Move file pointer to beginning of a file
Close a file
Chapter 17 File Management
17-11
File Operations (3)
Record Storage
Retrieve a record (read)
Store a record (write)
Add a record to a file
Delete a record
Modify contents of a record
Chapter 17 File Management
17-12
File Directory Operations
File Directory
Create a new (empty) file
Move a file from one directory to another
Rename a file
Append one file to another
Delete a file
Chapter 17 File Management
17-13
File Management and I/O Functions
Separation between the two allows
I/O devices can change while keeping the file system the same
Redirecting of data is simple
Chapter 17 File Management
17-14
File Access Methods
Sequential Access
File is read in sequence from beginning to end
Majority of all files
Program source and binary files
Random Access
Assumes file is made up of fixed length logical records
Hashing is a common method used to calculate the location of an internal logical record
Indexed Access
Additional means for accessing and viewing records in a file
Key indexes
ISAM – indexed sequential access method
Chapter 17 File Management
17-15
Physical File Storage
Contiguous
Non-contiguous
Linked
Indexed
Examples
DOS/Windows FAT
UNIX i-nodes
Windows NTFS
Free space management
Chapter 17 File Management
17-16
Contiguous Storage Allocation
Assign blocks (all in a row) to hold the file
Access is simple for both sequential and random methods
Disadvantages
Space must be large enough
Have to take into account file growth
May need to be moved if it outgrows its space
Fragmentation of disk
Allocation strategies to minimize fragmentation
First-fit, best-fit
Eventually disk becomes fragmented
Chapter 17 File Management
17-17
Linked Allocation
Non-contiguous
Each block contains a link to the next physical block
Variant – links in both directions
Advantages
no fragmentation
Adding to a file is easy
Disadvantages
Not usable for random access
Additional disk head searching
Overhead in storing the pointers
Recovery of a defective block is difficult
Chapter 17 File Management
17-18
File Allocation
Chapter 17 File Management
17-19
Contiguous Storage Allocation
Linked Allocation
19
Windows FAT
File Allocation Table (FAT)
Linked allocation with links stored in a table
Table contains the first block of each file on the disk or disk partition
Successive blocks contain a link to the next block
Disadvantages
Requires a tremendous amount of space
File integrity can be easily compromised
Chapter 17 File Management
17-20
File Allocation Table
Linked Allocation and File Allocation Table
Chapter 17 File Management
17-21
21
Indexed Allocation
Non-contiguous
All link pointers for a file are stored together in a single block called the index block
One index block per file
Advantages
No fragmentation
Can be used for random access
Disadvantage
Slower due to additional access of the index block
Additional disk head searching
Recovery of a defective block is difficult
Chapter 17 File Management
17-22
Indexed Allocation
Index blocks for indexed allocation of linked files shown in File Allocation Table diagram, Figure 17.7
Chapter 17 File Management
17-23
23
Unix i-nodes
Indexed file allocation
Index block contains
File attributes
10 direct blocks
1 single indirect
1 double indirect
1 triple indirect
Advantages
Fast for small blocks
Can accommodate very large files – 100’s of gigabytes
Chapter 17 File Management
17-24
Unix i-nodes
Chapter 17 File Management
17-25
25
Windows NTFS
Dynamically sized volumes
Volumes may be a fraction of a disk or span many disks
Master File Table (MFT) of 1kb records
First 16 records are metadata files which describe the volume
First record stores the MFT attributes
Each file has an MFT entry
File records made up of attributes, including file information and data
Chapter 17 File Management
17-26
NTFS Volume Layout
Chapter 17 File Management
17-27
27
Free Space Management
Bit map method
one bit for each block
to indicate if it is used
or free
Linked list method
Pointer to first free block
Each free block has a pointer to the next
Blocks are allocated from the beginning
Deleted files are placed at the end
Chapter 17 File Management
17-28
Other Secondary Storage Allocation
Tape Allocation
Not practical to reallocate space in the middle of the tape
Files that grow must be re-written
Files are stored contiguously whenever possible
Optical drives and flash drive file allocation
Similar to that of hard disks
UDF (Universal Data Format) supports up to 2 terabytes of data
Hierarchical directory format
Support for both HD-DVD and Blu-Ray DVD formats
Chapter 17 File Management
17-29
Partitions, File Systems, Volumes, and Pools
Chapter 17 File Management
17-30
Directory Structure
Provides a means of organization so that files can be located easily and efficiently
Hide the physical devices from the logical view of the files
Partitions
Independent subsections of a device
Volume
Directory structure for a particular partition
Needs to be mounted to be incorporated into the overall file system structure
Contain file attributes
Chapter 17 File Management
17-31
Tree-Structure Directory
Hierarchical with a top-level root directory from which all other directories stem
All directories and files have names
Separator
Used to indicate subdirectories and files located in a directory
/ UNIX
\ DOS, Windows
Pathname
Absolute – full pathname starting from the root directory
Relative – pathname is created starting from the current directory
Search Paths
Directory locations that the operating system uses to locate files
Chapter 17 File Management
17-32
Tree-Structure Directory
Pathname Examples:
Absolute: C:\FINANCE\QUICKEN\Q.EXE
Relative from the FINANCE directory: QUICKEN\Q.EXE
Search Path: PATH=C:\DOS;C:\FINANCE\QUICKEN
Now the programs in the two directories can be run by specifying the name of the program without the absolute or relative pathnames
Chapter 17 File Management
17-33
For our examples, root is on disk device C:
33
Acyclic Directory Structures
Tree-structure that permits links between separate branches of the tree
Advantage
Easy user access
Disadvantages
Cycles and dangling links
Examples
Windows shortcuts
Unix hard and symbolic links
MacIntosh aliases
Chapter 17 File Management
17-34
An Acyclic-Graph Directory
Chapter 17 File Management
17-35
Graph with a Cycle
Chapter 17 File Management
17-36
36
Hard Links vs. Symbolic Links
Chapter 17 File Management
17-37
Network File Access
FTP
File Transfer Protocol
Part of the TCP/IP protocol family
Network file systems
Windows
Drive letters aliased to remote file systems
UNIX
Network File System (NFS)
Remote Procedure Call (RPC)
Chapter 17 File Management
17-38
Typical NFS Configuration
Chapter 17 File Management
17-39
File Protection
Logins and passwords
Read, write, and execute protections
ACL – access control list, permissions
UNIX/Linux – owner, group, everyone
Chapter 17 File Management
17-40
Data Storage Approaches
Chapter 17 File Management
17-41
Standard client server configuration
Storage area network configuration
File Protection
Most systems provide three forms of protection on files
Read protection
Write protection
Execution protection
Access control list (ACL)
List of users who may access the file for each of the forms of protection
Tremendous overhead if there are a lot of users
Owner/Group/Everyone protection method
UNIX, Linux
Chapter 17 File Management
17-42
File Directory Showing Protection
ls –lF list files in directory using a long format and indicate file type
10-char code for file protection
1st char d for directory, - for file, s for symbolic link
2nd to 4th char permissions for the owner
5th to 7th char permissions for the group
8th to 10th char permissions for everyone
r - read permission, w - write permission, x - execute permission
Chapter 17 File Management
17-43
Journaling File Systems
Log file records every system transaction that requires a write access to the file system
Two levels of capability
Protect the integrity of the file system structure only
Example: Windows NTFS file system
Also guarantees the integrity of data that has not yet been written to the disk
Examples: Linux ext3 and ext4, IBM JFS
Chapter 17 File Management
17-44
Copyright 2010 John Wiley & Sons
All rights reserved. Reproduction or translation of this work beyond that permitted in section 117 of the 1976 United States Copyright Act without express permission of the copyright owner is unlawful. Request for further information should be addressed to the Permissions Department, John Wiley & Sons, Inc. The purchaser may make back-up copies for his/her own use only and not for distribution or resale. The Publisher assumes no responsibility for errors, omissions, or damages caused by the use of these programs or from the use of the information contained herein.”
Chapter 17 File Management
17-45