2Secondary Storage Devices Logical vs. Physical DevicesRather then require user software to "know" about specific device types and names, "logical" device names are used to hide device specificsIf device changes (system changed or program moved to new system), user must simply assign new device physical name appropriate logical name.
3Secondary device types Magnetic diskMagnetic tapeSemiconductor memory devicesMass storage devices
4Magnetic disksDisk 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".
5Magnetic 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 timeAverage - rate including time for IBG
6Magnetic 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".
7Magnetic 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 densityMovable heads must accurately locate correct track.Often one surface is used for timing and position sensing
8Magnetic 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.)
10Magnetic disks Fixed head One head for every track. Very fast. Expensive
11Magnetic disks Floppy disks: single flexible platter Rotate slowly (360 rpm)Head in constant contact with surfaceEasily damagedHeads seek slowly
12Magnetic disks Disk defects due to the thinness of the surface coating, most disks have small flaws or defectsSpare 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.
13Magnetic disks Disk track formats Tracks are divided into either fixed length sectors or variable or user-defined length blocks.
14Sector-addressable devices The disk tracks are subdivided into fixed size sectors.Advantages:simple allocation of storage spacesimple address calculationsDisadvantagesInternal fragmentation12131211310495876
15Sector-addressable devices - interleaved Disks spin too fast too fast to read adjacent blocksSolution - interleave blocksLogically adjacent blocks not physically adjacentInterleaving facter - distance between blocks9511013InterleaveFactor: 36428111237
16Sector-addressable devices - interleaved If the factor is n, the n revolutions are required to read the whole trackHigh performace controller speeds now allow up to 1:1 interleaving!9511013InterleaveFactor: 36428111237
17Sector-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.
18Sector-addressable devices - Clustered Advantages over non-clusteredBlocking - do less reads and writes, to faster overall performanceManagement - maintain information on file as a list of clusters, rather then a (longer) list of sectorsFile allocation tablecluster clusternumber location•••...123
19Sector-addressable devices - Clustered DisadvantagesMore Wasted Space - more Internal FragmentationThus cluster size is a space/time tradeoff!
20Sector-addressable devices - extents An extent is a physically contiguouus collection of clustersIf a file is in one extent, it is all physically continguious.Reduces seek time to read entire fileA file may need more then one extent if not enough physical contiguous availablethe disk is “fragmented”
21Block-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 sizeno internal fragmentation! (unused area at end of block)DisadvantagesExternal FragmentstionComplex space management
22Space utilization Space utilization of sector addressable devices Consider a disk with:512 bytes per sector32 sectors per track20 track per cylinder400 cylinders/disk packwhat is the disk size in bytes?512 * 32 * 20 * 400 = 131,072,000 bytesor 131 megabytes.
23Space utilizationHow many sectors will be used to store 8,000 records on the above disk if record size is 100 bytes?Blocking factor = 5 Thus
24Space utilizationUtilization - how much is used?Thus:
25Nondata Overhead Disk require space for nondata overhead interblock gapsblock headerssynchronization marksThese fields are invisible on sector addressable devices, and usually need not be considered in space computations.
26Magnetic Disk TimingTiming is a function of the following device specific factors:Seek timerotational 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.
27Magnetic Disk Timing Consider the following times: Seek time: Track to track time: 1 millisecondsFull disk movement: 9 millisecondsaverage move time: 7.6 millisecondsRotational Speed: 7200 RPMAverage rotational delay: (60/7200)/2 = 4.16 millisecondsTransfer rate: 66.6 Mbytes/secondSector size: 512 bytes
28Magnetic Disk TimingThus is would take: to transfer a sector.
29Magnetic Disk TimingAverage access per sector is: average sector access time = seek time +rotational delay +transfer timeThus, for the case above:average sector access time is = ms
31Magnetic 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
32Magnetic tapeThe 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)
33Magnetic 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.
34Magnetic 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.
35Magnetic 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.
36Magnetic 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.
37Magnetic tape Error checking and correction Cyclic redundancy check (CRC)Based on calculating polynomial functions of data.Can correct multiple errors.
38Magnetic tape Error checking and correction Soft error - errors which can be correctedHard errors, errors that can not be corrected.
39Magnetic 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
40Magnetic 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.
41Space utilization Blocking factor greatly affects utilization of tape. Block size = record size x blocking factorgap length = density (bytes per inch) x gap length (in)
42Space utilization Consider: 6250 BPI tape 0.6 inch IBG 100 byte records
45Timing considerations 6250 BPI tape100 byte records100 IPS (inches per second).03 second start time.03 second stop time
46CR-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’sSony and Philips developed as a standard.Introduced in 1984File system standard developed in 1985.DVD is the latest in CD standards - 10 gigabytes
47CR-ROM Strengths Weaknesses High Capacity Inexpensive Durable extremely slow seek speed (transfer rate in reasonable)
48CR-ROM: Physical Organization CreatingBits 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.
49CR-ROM: Physical Organization ReadingA 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.
50CR-ROM: Physical Organization Digital Encoding1’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.
51CR-ROM: Physical Organization Digital EncodingGiven 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.
52CR-ROM: Physical Organization Digital EncodingEFM 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.
53CR-ROM: Physical Organization CLV instead of CAVCLV: Constant Linear VelocityCAV: Constant Angular Velocity
54CR-ROM: Physical Organization CLV instead of CAVData on a CD-ROM is stored in a single, spiral track.Constant Angular VelocityConstant Linear Velocity
55CR-ROM: Physical Organization CLV instead of CAVThis 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.
56CR-ROM: Physical Organization CLV instead of CAVThe 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.
57CR-ROM: Physical Organization CLV instead of CAVTo 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.
58CR-ROM: Physical Organization CD AddressingEach 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 KbytesOften, it is actually possible to store over 600, 000 KBytes.Sectors are addressed by min:sec:sector e.g., 16:22:34
59I/O in UnixI/O is performed by calls to the I/O portion of the Unix KernelThe 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
60I/O in Unix - tables File Descriptor Table Open files table One for each processMaps file descriptors onto specific open files in open file tableOpen files tableSystem wideEntry for each instance of open fileFile may be opened by more then one process
61I/O in Unix - tables Table of Index nodes (inodes) Index nodes Used to describe each fileDescribes file, points to all blocksIndex nodesEach contains a list of 13 pointersfirst 10 point directly to first ten data blocks11th points to another inode of 1000 pointers to blocks12th 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!
66File AllocationConsider 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 inodenext 115 pointed at indirectly through indirect inodeMax file size:8KB*(10 + 2**10 + 2**20 + 2**30)that is more than 16TB!Depends of block (or cluster) size
67File 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!
68A Journey of A Byte: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 operationFile manager (Part of the OS that deals with I/O)Checks whether the operation is permittedLocates 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 BufferKeep the sector in memory to see if more bytes will be going to the same sector in the file
69A Journey of A Byte: 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 writingDisk 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
70Data 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.
71Data transfer time disparity MultiprogrammingIn 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).
72Data transfer time disparity Single ProcessRunWaitMulti-Process123123123413123123123413
73Direct 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.CPUI/OControllerPrimaryMemory
75Buffering 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 andData 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.
76Buffering Solution: Buffering read or write of several records during each transfer operation.Reading - “Anticipatory buffering”Read several records at a time into bufferUse records from buffer if possibleRead only when buffer emptyWritingWrite records to buffer rather then I/O deviceWrite buffer to I/O device when full
77Buffering Without Buffering I/O CPU With Buffering (5) I/O CPU Read 1 2Read3Read4Read5I/OProcess1Process2Process3Process4Process5CPUWith Buffering (5)Read1-5Read6-10I/OProcess1Process2Process3Process4Process5Process6Process7Process8CPU
78Buffer 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 bytesPhysical Block Size: 512 bytesBlocking Factor: floor(512/80) = 18
79Overlapped buffering or double buffering Technique whereby a single process can overlap record processing with the I/O process.Consider a case of double bufferingAllocate two buffers for the fileWhen file opened, fill both buffersAs soon as one block is requested by user program, a anticipatory read is begun for next blockconcept of buffering is like passing buckets of water to a burning house.
80Single buffering I/O CPU Read 1 Read 2 Read 3 Read 4 1 2 3 4 Process
81Double buffering Here the I/O time is greater then processing time, Read1Read2Read3Read4Read5Read6Read7Process1Process2Process3Process4Process5Process6Process7Here the I/O time is greater then processing time,What if Processing time is greater?