79
1 File Management Chapter 12

1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

Embed Size (px)

Citation preview

Page 1: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

1

File Management

Chapter 12

Page 2: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

2

File Management

File management system consists of system utility programs that run as privileged (kernel) application

For most applications Input to applications is by means of a fileOutput is saved in a file for long-term storageKbd and monitor can be regarded as “files”

Page 3: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

3

IO (see ch 11)

In Unix-like systems all IO devices are made to look like files by the device driverSee WS chapter 11 for details

Page 4: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

4

File System Properties

Long-term existence Sharable between processes Structure

Page 5: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

5

Terms Used with Files Field

Basic element of dataContains a single value.

EG avatar’s name or score

Characterized by its length and data type Record

Collection of related fieldsTreated as a unit

Example: player’s complete status record All the data related to a software object

Page 6: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

6

Terms Used with Files (cont)

FileCollection of similar recordsTreated as a single entityHave file namesMay restrict access

Database (specialized variant of files)Collection of related dataRelationships exist among elements

Page 7: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

7

Typical File Operations

Create Delete Open Close Read Write

Page 8: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

8

Typical Operations (records)

Retrieve_All Retrieve_One Retrieve_Next Retrieve_Previous Insert_One Delete_One Update_One Retrieve_Few

Page 9: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

9

File Management Systems

The way a user of applications may access files

Programmer does not need to develop file management softwarecf Assembly: Programmer is responsible for

where it is stored, how much space, initializing, deleting, recovering space etc.

Page 10: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

10

Objectives for aFile Management System Meet the data management needs and

requirements of the user Guarantee that the data in the file are valid Optimize performance Provide I/O support for a variety of storage

device types

Page 11: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

11

Objectives for aFile Management System (cont) Minimize or eliminate the potential for lost

or damaged dataLocking, journaling etc.

Provide a standardized set of I/O interface routines

Provide I/O support for multiple users

Page 12: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

12

Minimal Set of Requirements

User should be able to create, delete, read, write and modify own files

User may have controlled access to other users’ files

User may control what type of accesses are allowed to their own files

User should be able to restructure own files in a form appropriate to the problem

Page 13: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

13

Minimal Set of Requirements

User should be able to move data between files

User should be able to back up and recover files in case of damage

User should be able to access files by using symbolic names

Page 14: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

14

USB, CD, etc…

Page 15: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

15

Device Drivers

Lowest level Communicates directly with peripheral

devices Responsible for starting I/O operations on

a device Processes the completion of an I/O

request

Page 16: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

16

Basic File System

Physical I/O Deals with exchanging blocks of data Concerned with the placement of blocks Concerned with buffering blocks in main

memory

Page 17: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

17

Basic I/O Supervisor

Responsible for file I/O initiation and termination

Control structures are maintained Concerned with selection of the device on

which file I/O is to be performed Concerned with scheduling access to optimize

performance Part of the operating system

Page 18: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

18

Logical I/O

Enables users and applications to access records

Provides general-purpose record I/O capability

Maintains basic data about file

Page 19: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

19

Access Method

Reflect different file structures Different ways to access and process data

Page 20: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

20

Page 21: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

21

File Management Functions

Identify and locate a selected file Use directory to describe location of all files plus

attributes On a shared system, describe user access

control Blocking for access to files Allocate files to free blocks Manage free storage for available blocks

Page 22: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

22

Criteria for File Organization

Short access timeNeeded when accessing a single recordNot needed for batch mode

Ease of updateNot needed for read-only media

CD-ROM, DVD, Kbd etc.

Page 23: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

23

Criteria for File Organization

Economy of storageShould be minimum redundancy in the dataRedundancy can be used to speed access

such as an index Simple maintenance Reliability

Page 24: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

24

File Organization

The PileData are collected in the order they arrivePurpose is to accumulate a mass of data and

save itRecords may have different fieldsNo structureRecord access is by exhaustive search

Page 25: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

25

Pile

Page 26: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

26

File Organization

The Sequential FileFixed format used for recordsRecords are the same lengthAll fields the same (order and length)Field names and lengths are attributes of the fileOne field is the key field

Uniquely identifies the record Records are stored in key sequence

Page 27: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

27

File Organization

The Sequential FileNew records are placed in a log file or

transaction fileBatch update is performed to merge the log

file with the master file

Page 28: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

28

Sequential File

Page 29: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

29

File Organization

Indexed Sequential File Index provides a lookup capability to quickly

reach the vicinity of the desired record Contains key field and a pointer to the main file Index is searched to find highest key value that is

equal to or precedes the desired key value Search continues in the main file at the location

indicated by the pointer

Page 30: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

30

File Organization

Comparison of sequential and indexed sequentialExample: a file contains 1 million recordsOn average 500,000 accesses are required to find

a record in a sequential file If an index contains 1000 entries, it will take on

average 500 accesses to find the key, followed by 500 accesses in the main file. Now average is 1000 accesses

Page 31: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

31

File Organization

Indexed Sequential FileNew records are added to an overflow fileRecord in main file that precedes it is updated

to contain a pointer to the new recordThe overflow is merged with the main file

during a batch updateMultiple indexes for the same key field can be

set up to increase efficiency

Page 32: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

32

Indexed Sequential File

Page 33: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

33

File Organization

Indexed FileUses multiple indexes for different key fieldsMay contain an exhaustive index that contains

one entry for every record in the main fileMay contain a partial indexExamples: Airline Reservations or Inventory

Control

Page 34: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

34

Indexed File

Page 35: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

35

File Organization

The Direct or Hashed FileDirectly access a block at a known addressKey field required for each recordFeatures: rapid access, fixed length records,

records accessed one at a time.Examples: Directories, pricing tables,

schedules, name lists

Page 36: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

36

Page 37: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

37

File Directories

Contains information about filesAttributesLocationOwnership

Directory itself is a file owned by the OS Provides mapping between file names and

files

Page 38: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

38

Simple Structure for a Directory

List of entries, one for each file Sequential file with the name of the file

serving as the key Provides no help in organizing the files Forces user to be careful not to use the

same name for two different files

Page 39: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

39

Page 40: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

40

Page 41: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

41

Page 42: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

42

Two-level Scheme for a Directory One directory for each user and a master

directory Master directory contains entry for each user

Provides address and access control information

Each user directory is a simple list of files for that user

Still provides no help in structuring collections of files

Page 43: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

43

Hierarchical, or Tree-Structured Directory Almost universally used Master directory with user directories

underneath it Each user directory may have

subdirectories and files as entries

Page 44: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

44

Page 45: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

45

Page 46: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

46

Hierarchical, or Tree-Structured Directory Files can be located by following a path

from the root, or master, directory down various branchesThis is the pathname for the file

Can have several files with the same file name as long as they have unique path names

Page 47: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

47

Hierarchical, or Tree-Structured Directory Current directory is the working directory Files are referenced relative to the working

directory OS services such as link and shortcuts

obscure, but do not change, the directory structure

Page 48: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

48

File Sharing

In multiuser system, allow files to be shared among users

Two issuesAccess rightsManagement of simultaneous access

Page 49: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

49

Access Rights

NoneUser may not know of the existence of the fileUser is not allowed to read the user directory

that includes the file Knowledge

User can only determine that the file exists and who its owner is

Page 50: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

50

Access Rights

ExecutionThe user can load and execute a program but cannot

copy it Reading

The user can read the file for any purpose, including copying and execution

AppendingThe user can add data to the file but cannot modify or

delete any of the file’s contents

Page 51: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

51

Access Rights

UpdatingThe user can modify, deleted, and add to the file’s

data. This includes creating the file, rewriting it, and removing all or part of the data

Changing protectionUser can change access rights granted to other

users Deletion

User can delete the file

Page 52: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

52

Access Rights

Owners Has all rights previously listed May grant rights to others using the following classes

of users Specific user User groups All for public files

What rights must the sysadmin have? – Alternatively what rights does she not need to have?

Page 53: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

53

Simultaneous Access

User may lock entire file when it is to be updated

User may lock the individual records during the update

Mutual exclusion and deadlock are issues for shared access

Page 54: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

54

Fixed Blocking

Page 55: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

55

Variable Blocking: Spanned

Page 56: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

56

Variable Blocking Unspanned

Page 57: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

57

Secondary Storage Management Space must be allocated to files Must keep track of the space available for

allocation

Page 58: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

58

Preallocation

Need the maximum size for the file at the time of creation

Difficult to reliably estimate the maximum potential size of the file

Tend to overestimate file size so as not to run out of space

Page 59: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

59

Methods of File Allocation

Contiguous allocationSingle set of blocks is allocated to a file at the

time of creationOnly a single entry in the file allocation table

Starting block and length of the file

External fragmentation will occurNeed to perform compaction

Page 60: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

60

Page 61: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

61

Page 62: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

62

Methods of File Allocation

Chained allocation Allocation on basis of individual block Each block contains a pointer to the next block in the

chain Only single entry in the file allocation table

Starting block and length of file

No external fragmentation Best for sequential files No accommodation of the principle of locality

Page 63: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

63

Page 64: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

64

Page 65: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

65

Methods of File Allocation

Indexed allocationFile allocation table contains a separate one-

level index for each fileThe index has one entry for each portion

allocated to the fileThe file allocation table contains block

number for the index

Page 66: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

66

Page 67: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

67

Page 68: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

68

UNIX File Management

Types of filesRegular, or ordinaryDirectorySpecialNamed pipesLinksSymbolic links

Page 69: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

69

Inodes

Index node Control structure that contains key

information for a particular file

Page 70: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

70

Page 71: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

71

Page 72: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

72

Page 73: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

73

Linux Virtual File System

Uniform file system interface to user processes

Represents any conceivable file system’s general feature and behavior

Assumes files are objects that share basic properties regardless of the target file system

Page 74: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

74

Page 75: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

75

Page 76: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

76

Primary Objects in VFS

Superblock objectRepresents a specific mounted file system

Inode objectRepresents a specific file

Dentry objectRepresents a specific directory entry

File objectRepresents an open file associated with a process

Page 77: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

77

Windows File System

Key features of NTFSRecoverabilitySecurityLarge disks and large filesMultiple data streamsGeneral indexing facility

Page 78: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

78

NTFS Volume and File Structure

SectorThe smallest physical storage unit on the disk

ClusterOne or more contiguous sectors

VolumeLogical partition on a disk

Page 79: 1 File Management Chapter 12. 2 File Management File management system consists of system utility programs that run as privileged (kernel) application

79