81
le Processing - Physical Devices MVNC 1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

Embed Size (px)

Citation preview

Page 1: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 1

Secondary Storage Devices

Chapter 3

Page 2: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 2

Secondary Storage Devices

Logical vs. Physical Devices» Rather then require user software to "know" about

specific device types and names, "logical" device names are used to hide device specifics

» If device changes (system changed or program moved to new system), user must simply assign new device physical name appropriate logical name.

Page 3: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 3

Secondary device types

Magnetic disk Magnetic tape Semiconductor memory devices Mass storage devices

Page 4: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 4

Magnetic disks

Disk platters, coated with ferrous oxide, rotate on a spindle.

Read/write heads read and record information in single bit wide "tracks".

These tracks are broken up into blocks, or "sectors".

Page 5: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 5

Magnetic disks

Performance - 3 aspects to timing» seek time - time to move head to the correct

cylinder.» Latency - time for disk to rotate to correct position.» Transfer rate - speed at which data may be read.

Instantaneous - rate at an instance in time Average - rate including time for IBG

Page 6: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 6

Magnetic disks

Hard disks. » Sector - block size on disk (if fixed).» Track - all sectors in a concentric circle.» Platter - one physical disk - two surfaces.» May have multiple platters. All parallel tracks form

a "cylinder".

Page 7: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 7

Magnetic disks

Disks spin fast (~ 3600 rpm). Heads "fly" over surface. If they touch, or "crash" both heads and surface

may be damaged. the closer the heads, the higher the density Movable heads must accurately locate correct

track. Often one surface is used for timing and

position sensing

Page 8: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 8

Magnetic disks

Fixed Winchester technology disks» since sealed, no dirt can cause crash, heads fly

very close.» May have multiple heads per surface.» High density.» Fast (mult. heads & high dens.)

Page 9: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 9

Magnetic disks

Removable» Lower density then fixed.

Page 10: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 10

Magnetic disks

Fixed head» One head for every track.» Very fast.» Expensive

Page 11: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 11

Magnetic disks

Floppy disks:» single flexible platter» Rotate slowly (360 rpm)» Head in constant contact with surface» Easily damaged» Heads seek slowly

Page 12: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 12

Magnetic disks

Disk defects» due to the thinness of the surface coating, most

disks have small flaws or defects» Spare tracks or sectors are provided for storage of

data that normally would be stored in the damaged location.

» Either the hardware or software must handle these "bad" sections.

Page 13: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 13

Magnetic disks

Disk track formats» Tracks are divided into either fixed length sectors

or variable or user-defined length blocks.

Page 14: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 14

Sector-addressable devices

The disk tracks are subdivided into fixed size sectors.

Advantages:» simple allocation of storage space» simple address calculations

Disadvantages» Internal fragmentation

1 23

45

6789

10

1112 13

Page 15: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 15

Sector-addressable devices - interleaved

Disks spin too fast too fast to read adjacent blocks

Solution - interleave blocks» Logically adjacent blocks not physically adjacent» Interleaving facter - distance between blocks

1 106

211

73128

4

139 5

Interleave Factor: 3

Page 16: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 16

Sector-addressable devices - interleaved

If the factor is n, the n revolutions are required to read the whole track

High performace controller speeds now allow up to 1:1 interleaving!

1 106

211

73128

4

139 5

Interleave Factor: 3

Page 17: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 17

Sector-addressable devices - Clustered

File System groups sectors into logically contiguous clusters.

All allocation, reading, and writting is done on an entire cluster.

For Example, with 512 byte sectors, can have cluster sized ranging from 1 to 65,535 sectors.

Page 18: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 18

Sector-addressable devices - Clustered

Advantages over non-clustered» Blocking - do less reads and writes, to faster

overall performance» Management - maintain information on file as a list

of clusters, rather then a (longer) list of sectors

12

3

File allocation tablecluster clusternumber location 1 • 2 • 3 •...

File allocation tablecluster clusternumber location 1 • 2 • 3 •...

Page 19: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 19

Sector-addressable devices - Clustered

Disadvantages» More Wasted Space - more Internal Fragmentation

Thus cluster size is a space/time tradeoff!

Page 20: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 20

Sector-addressable devices - extents

An extent is a physically contiguouus collection of clusters

If a file is in one extent, it is all physically continguious.» Reduces seek time to read entire file

A file may need more then one extent if not enough physical contiguous available» the disk is “fragmented”

Page 21: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 21

Block-addressable devices

Block size is programmable, as in magnetic tapes. Blocks sizes may be mixed on a single device. Advantages:

» As with mag. tape, space is saved by blocking (fewer gaps) as a multiple of logical record size

» no internal fragmentation! (unused area at end of block)

Disadvantages» External Fragmentstion» Complex space management

Page 22: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 22

Space utilization

Space utilization of sector addressable devices Consider a disk with:

» 512 bytes per sector

» 32 sectors per track

» 20 track per cylinder

» 400 cylinders/disk pack

what is the disk size in bytes?» 512 * 32 * 20 * 400 = 131,072,000 bytes

» or 131 megabytes.

Page 23: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 23

Space utilization

How many sectors will be used to store 8,000 records on the above disk if record size is 100 bytes?

» Blocking factor = 5 Thus

factor blocking

records of no. = sectors of No.

sectors 600,15

8,000

Page 24: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 24

Space utilization

» Utilization - how much is used?

» Thus:

catedBytes allo

ally usedBytes actun=Utilizatio%

100

%66.97512

100)1005(

Page 25: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 25

Nondata Overhead

Disk require space for nondata overhead» interblock gaps» block headers» synchronization marks

These fields are invisible on sector addressable devices, and usually need not be considered in space computations.

Page 26: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 26

Magnetic Disk Timing

Timing is a function of the following device specific factors:» Seek time» rotational delay (latency)» transmission time (read time)

The times for these is not fixed, but vary based on the previous status of the disk drive, disk and head position relative to desired position.

Page 27: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 27

Magnetic Disk Timing

Consider the following times:» Seek time:

– Track to track time: 1 milliseconds– Full disk movement: 9 milliseconds– average move time: 7.6 milliseconds

» Rotational Speed: 7200 RPM» Average rotational delay: (60/7200)/2 = 4.16 milliseconds» Transfer rate: 66.6 Mbytes/second» Sector size: 512 bytes

Page 28: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 28

Magnetic Disk Timing

Thus is would take:

to transfer a sector.

dsmillisecon00776.0sec00000776.0bytes/sec 66,000,000

rbyte/secto 512

Page 29: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 29

Magnetic Disk Timing

Average access per sector is:average sector access time = seek time +

rotational delay + transfer time

Thus, for the case above: average sector access time is

7.6 + 4.16 + .00776 = 11.76776 ms

Page 30: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 30

Magnetic Disk TimingClustering

Cluster Size(blocks)

Block Size(bytes)

Block read time(milliseconds)

1 512 11.767762 1,024 11.775525 2,560 11.7988010 5,120 11.8376020 10,240 11.9152050 25,600 12.14800

100 51,200 12.53600

Page 31: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 31

Magnetic tape

Typically nine tracks wide 800, 1600, 6250 bits per inch (bpi) Storage based on the magnetic polarity of

ferrous oxide particles on the tape. The tape moves over read/write heads to

store and retrieve information

Page 32: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 32

Magnetic tape

The write head magnetizes small regions of the tape in one of two directions.

The read head senses the places where magnetic polarity changes, called "flux change".

Flux changes cause an electrical current to be produced in the windings of the read head.

Speed varies between 40 to 200 inches per second (ips)

Page 33: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 33

Magnetic tape

Vacuum loops hold a reservoir of tape. This way the bulky reels do not have to keep

up with acceleration/deceleration of tape, but can catch up a short time later.

Page 34: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 34

Magnetic tape

Streaming tape drive - No loops needed. Very slow in start/stop mode (~20k/sec), but

extremely fast in continuous mode. (~160k/sec).

Often these are cartridge type devices. Used for high speed/low cost backup devices.

Page 35: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 35

Magnetic tape

Error checking and correction» Even/odd parity.

– Vertical redundancy checking (VCR): An extra bit per column is set or clear to make the number of bits set either even or odd.

– Longitudinal redundancy checking (LCR): Each "row" of bits in a block has a parity bit.

– Using VCR and LCR together, errors may be found and corrected in flight.

Page 36: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 36

Magnetic tape

Error checking and correction» Checksum

– addition of all data in a block together using modulo arithmetic.

– Then this values is recorded at the end of the data block.

Page 37: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 37

Magnetic tape

Error checking and correction Cyclic redundancy check (CRC)

» Based on calculating polynomial functions of data. » Can correct multiple errors.

Page 38: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 38

Magnetic tape

Error checking and correction» Soft error - errors which can be corrected» Hard errors, errors that can not be corrected.

Page 39: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 39

Magnetic tape

Blocking » Tapes must be read at a constant speed. » To facilitate starting and stopping midtape,

interblock gaps (IBG) are used to allow time for acceleration/ deceleration of tape.

» Typical size 0.6 inch.IBG

Page 40: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 40

Magnetic tape

Buffering » Blocks of tape read into buffer for subsequent

processing.» One physical block may hold several logical blocks.» blocking factor - number of logical blocks per

physical block.» Optimizes slow I/O time.

Page 41: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 41

Space utilization

» Blocking factor greatly affects utilization of tape.

» Block size = record size x blocking factor» gap length = density (bytes per inch) x gap length (in)

length) (gap + size)(block

size)block (100 =n utilizatio space %

Page 42: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 42

Space utilization

Consider:» 6250 BPI tape» 0.6 inch IBG» 100 byte records

blocking factor % utilization1 2.6%2 5.1%5 11.8%

10 21.1%20 34.8%50 57.1%

100 72.7%

Page 43: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 43

Space utilization

1 2 5 10 20 50 100

Blocking factor

0%

10%

20%

30%

40%

50%

60%

70%

80%

% U

tiliz

atio

n

6250 BPI0.6 inch block gap

Tape Utilization100 byte blocks

Page 44: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 44

Timing considerations

block read time = block size in inches

transfer speed start

time + stoptime

block size in inches = block size in bytes

density (BPI)

Page 45: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 45

Timing considerations

Consider» 6250 BPI tape» 100 byte records» 100 IPS (inches per second)» .03 second start time» .03 second stop time

blocking factor Block Size Block read time1 0.0160 0.06022 0.0320 0.06035 0.0800 0.0608

10 0.1600 0.061620 0.3200 0.063250 0.8000 0.0680100 1.6000 0.0760

Page 46: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 46

CR-ROM 600 megabytes read-only (write-once) very cheap to produce History:

» Offspring of videodisk from late 60’s, early 70’s. Many standards caused problems.

» Early 80’s work began on developing a audio disc’s» Sony and Philips developed as a standard.» Introduced in 1984» File system standard developed in 1985.» DVD is the latest in CD standards - 10 gigabytes

Page 47: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 47

CR-ROM Strengths

» High Capacity» Inexpensive» Durable

Weaknesses» extremely slow seek speed (transfer rate in

reasonable)

Page 48: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 48

CR-ROM: Physical Organization

Creating» Bits stored as Pits and Lands: » CD-ROMs are stamped from a glass master disk

which has a coating that is changed by the laser beam.

» When the coating is developed, the areas hit by the laser beam turn into pits along the track followed by the beam.

» The smooth unchanged areas between the pits are called lands.

Page 49: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 49

CR-ROM: Physical Organization

Reading» A beam of laser light is focused on the track as it

moves under the optical pickup. » The pits scatter the light, but the lands reflect most

of it back to the pickup. » This alternating pattern of high- and low-intensity

reflected light is the signal used to reconstruct the original digital information.

Page 50: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 50

CR-ROM: Physical Organization

Digital Encoding» 1’s are represented by the transition from pit to

land and back again.» 0’s are represented by the amount of time

between transitions. » The longer between transitions, the more 0’s we

have.

Page 51: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 51

CR-ROM: Physical Organization

Digital Encoding» Given this scheme, it is not possible to have two

adjacent 1s: 1s are always separated by 0s. » As a matter of fact, because of physical limitations,

there must be at least two 0s between any pair of 1s.

» Raw patterns of 1s and 0s have to be translated to get the 8-bit patterns of 1s and 0s that form the bytes of the original data.

Page 52: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 52

CR-ROM: Physical Organization

Digital Encoding» EFM encoding (Eight to Fourteen Modulations)

turns the original 8 bits of data into 14 expanded bits that can be represented in the pits and lands on the disk.

» Since 0s are represented by the length of time between transition, the disk must be rotated at a precise and constant speed. This affects the CD-ROM drive’s ability to seek quickly.

Page 53: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 53

CR-ROM: Physical Organization

CLV instead of CAV» CLV: Constant Linear Velocity» CAV: Constant Angular Velocity

Page 54: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 54

CR-ROM: Physical Organization

CLV instead of CAV» Data on a CD-ROM is stored in a single, spiral

track.

Constant Linear Velocity Constant Angular Velocity

Page 55: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 55

CR-ROM: Physical Organization

CLV instead of CAV» This allows the data to be packed as tightly as

possible since all the sectors have the same size (whether in the center or at the edge).

» In the magnetic disk drive the data is packed more densely in the center than in the edge, thus Space is lost in the edge.

» Since reading the data requires that it passes under the optical pick-up device at a constant rate, the disc has to spin more slowly when reading the outer edges than when reading towards the center.

Page 56: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 56

CR-ROM: Physical Organization

CLV instead of CAV» The CLV format is responsible, in large part, for the

poor seeking performance of CD-ROM Drives: there is no straightforward way to jump to a location.

» Part of the problem is the need to change rotational speed.

Page 57: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 57

CR-ROM: Physical Organization

CLV instead of CAV» To read the address info that is stored on the disc

along with the user’s data, we need to be moving the data under the optical pick up at the correct speed.

» But to know how to adjust the speed, we need to be able to read the address info so we know where we are.

» How do we break this loop? By guessing and through trial and error ==> Slows down performance.

Page 58: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 58

CR-ROM: Physical Organization

CD Addressing» Each second of playing time on a CD is divided into 75

sectors.» Each sector holds 2 Kilobytes of data. » Each CD-ROM contains at least one hour of playing time. » Thus the disc is capable of holding at least:

60 min * 60 sec/min * 75 sector/sec * 2 Kilobytes/sector = 540, 000 Kbytes

» Often, it is actually possible to store over 600, 000 KBytes. » Sectors are addressed by min:sec:sector e.g., 16:22:34

Page 59: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 59

I/O in Unix

» I/O is performed by calls to the I/O portion of the Unix Kernel

» The Kernel presents a simple view of I/O - as sequences of bytes.

» The Kernal maintains a series of tables to keep track of I/O

Page 60: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 60

I/O in Unix - tables

File Descriptor Table» One for each process» Maps file descriptors onto specific open files in

open file table

Open files table» System wide» Entry for each instance of open file» File may be opened by more then one process

Page 61: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 61

I/O in Unix - tables

Table of Index nodes (inodes)» Used to describe each file» Describes file, points to all blocks

Index nodes» Each contains a list of 13 pointers

– first 10 point directly to first ten data blocks– 11th points to another inode of 1000 pointers to blocks– 12th points to block of 1000 pointers, each of which

points to a block 1000 pointers (1 meg)– 13th point to block adds one more level of indirection,

giving 1 billion blocks!

Page 62: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 62

File Descriptor Table

File File table

descriptor entry

0 (keyboard) •

1 (screen) •

2 (error) •

3 (normal file) •

4 (normal file) •

4 (normal file) •

File File table

descriptor entry

0 (keyboard) •

1 (screen) •

2 (error) •

3 (normal file) •

4 (normal file) •

4 (normal file) •

to open filetable

Page 63: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 63

Open files table

Number of Offset ptr to inode

R/W processes of next write table

mode using it access routine ... entry

. . . . .

. . . . .

write 1 100

. . . . .

read 2 3214

. . . . .

Number of Offset ptr to inode

R/W processes of next write table

mode using it access routine ... entry

. . . . .

. . . . .

write 1 100

. . . . .

read 2 3214

. . . . .

Page 64: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 64

Index nodes (inodes)

device

permissions

owner’s userid

file size...

block count

fileallocation

table

Page 65: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 65

Index nodes (inodes)

rootInode

10 blocks

Inode1000 blocks

Inode1000 inodes

Inode1000 pointersto inodes

Page 66: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 66

File Allocation

Consider A 1MB file on a system with a block size set to 8KB. » Then the file will have 125 blocks. » First 10 pointed at directly by root inode» next 115 pointed at indirectly through indirect inode

Max file size:» 8KB*(10 + 2**10 + 2**20 + 2**30)» that is more than 16TB!» Depends of block (or cluster) size

Page 67: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 67

File performance

The first 10 blocks are accessed with a single read » the pointers are in main memory where the inode

is brought when the file is opened.

The next 1K blocks require up to two reads, one for the index block, one for the data block.

The next 1M blocks require up to three reads, The next 1G blocks require up to four reads. Reads slower farther in file!

Page 68: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 68

What happens when the program statement: write(textfile, ‘P’, 1) is executed ?

Part that takes place in memory: Statement calls the Operating System (OS) which overseas the

operation File manager (Part of the OS that deals with I/O)

» Checks whether the operation is permitted» Locates the physical location where the byte will be stored (Drive, Cylinder,

Track & Sector)» Finds out whether the sector to locate the ‘P’ is already in memory (if not,

call the I/O Buffer)» Puts ‘P’ in the I/O Buffer» Keep the sector in memory to see if more bytes will be going to the same

sector in the file

A Journey of A Byte:

Page 69: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 69

Part that takes place outside of memory: I/O Processor: Wait for an external data path to become

available (CPU is faster than data-paths ==> Delays) Disk Controller:

» I/O Processor asks the disk controller if the disk drive is available for writing

» Disk Controller instructs the disk drive to move its read/write head to the right track and sector.

» Disk spins to right location and byte is written

A Journey of A Byte:

Page 70: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 70

Data transfer time disparity

Disk access time is slowed by the time required for the heads to move into position (seek time), and the time for the disk to rotate to the correct position (latency).

There are several ways to avoid costly delays while waiting for the disk.

Page 71: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 71

Data transfer time disparity

Multiprogramming» In a single process environment, the CPU must

usually sit "idle" while it waits for I/O to complete. » This is just wasted CPU time.» Solution: Share CPU among several users

(processes). While one process is waiting for I/O, another runs.

» The O.S. is responsible to arbitrate the use of the CPU among the waiting processes (users).

Page 72: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 72

Data transfer time disparity

Single Process

Multi-Process

Run

Wait

1 2 3 1 2 3 1 2 3 4 1 3 1 2 3 1 2 3 1 2 3 4 1 3

Page 73: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 73

Direct Memory Access (DMA)

Sophisticated I/O controllers transfer requested blocks directly into memory while CPU is working on something else.

The I/O controller is given the address of the data on the device.

The I/O controller locates the data, and "steals" bus cycles from the CPU to perform transfers.

CPU

PrimaryMemory

I/OController

Page 74: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 74

Direct Memory Access (DMA)

Process Process Process Process Process Process

Memory Activity

“Stolen” Cycles

Page 75: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 75

Buffering

Consider the following characteristics of disk access» the majority of I/O time is consumed by head

movement time.» each I/O call has related overhead and» Data must often be read in a certain minimum size

(physical block size)» Files are often read in a sequential order. » It doesn't take much more time to read several

records then one.

Page 76: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 76

Buffering

Solution: Buffering» read or write of several records during each

transfer operation.» Reading - “Anticipatory buffering”

– Read several records at a time into buffer– Use records from buffer if possible– Read only when buffer empty

» Writing– Write records to buffer rather then I/O device– Write buffer to I/O device when full

Page 77: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 77

Buffering

Read1

Process

1

Read2

Process

2

Read3

Read4

Process

3Process

4Process

5

Read5

Without Buffering

Read1-5

Process

1Process

2Process

3Process

4Process

5

With Buffering (5)

Read6-10

Process

6Process

7Process

8

I/O

CPU

I/O

CPU

Page 78: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 78

Buffer Size

Blocking factor - number of records per block usually an integral number of records. the buffer size often is the same size as the

block size of the physical device. Example:

» Record Size: 80 bytes» Physical Block Size: 512 bytes» Blocking Factor: floor(512/80) = 18

Page 79: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 79

Overlapped buffering or double buffering

Technique whereby a single process can overlap record processing with the I/O process.

Consider a case of double buffering» Allocate two buffers for the file» When file opened, fill both buffers » As soon as one block is requested by user

program, a anticipatory read is begun for next block concept of buffering is like passing buckets of

water to a burning house.

Page 80: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 80

Single buffering

Read1

Process

1Process

2Process

3Process

4

I/O

CPU

Read2

Read3

Read4

Page 81: File Processing - Physical Devices MVNC1 Secondary Storage Devices Chapter 3

File Processing - Physical Devices MVNC 81

Double buffering

Read1

Process

1Process

2Process

3Process

4

Read2

Read3

Read4

Read5

Read6

Read7

Process

5Process

6Process

7

Here the I/O time is greater then processing time,What if Processing time is greater?