CIS-512 week9 discussions

profilegabo22
ch17.pptx

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