Chapter 10 Mass-Storage Structure Silberschatz - Operating System…
Silberschatz - Operating System Concepts 9th
Overview of Mass-Storage Structure
Is nonvolatile memory that is used like a hard drive. There are many variations of this technology, from DRAM with a batterytoallowittomaintainitsstateinapowerfailurethroughflash-memory technologies like single-level cell and multilevel cell chips.
Used as an early secondary-storage medium. Although it is relatively permanent and can hold large quantities of data, its access time is slow compared with that of main memory and magnetic disk
Provide the bulk of secondary storage for modern computer systems
Modern magnetic disk drives are addressed as large one-dimensiónal arrays of logical blocks, where the logical block is the smallest unit of transfer. The size of a logical block is usually 512 bytes, although some disks can be low-level formatted to have a different logical block size,such as 1,024 bytes.
Is a special-purpose storage system that is accessed remotely over a data network
Is a private network connecting servers and storage units
Is storage accessed through local I/O ports. These ports use several technologies.
The disk arm starts at one end of the disk and moves toward the other end,servicing requests as it reaches each cylinder,until it gets to the other end of the disk
Like SCAN , C-SCAN moves the head from one end of the disk to the other, servicing requests along the way. When the head reaches the other end, however, it immediately returns to the beginning of the disk without servicing any requests on the return trip
This algorithm selects the request with the least seek time from the current head position
Versions of SCAN and C-SCAN that follow this pattern are called LOOK and C-LOOK scheduling, because they look for a request before continuing to move in a given direction
This algorithm is intrinsically fair, but it generally does not provide the fastest service
Selection of a Disk-Scheduling Algorithm
To accommodate such requirements, an operating system may choose to do its own disk scheduling and to spoon-feed the requests to the disk controller, one by one, for some types of I/O
The code in the boot ROM instructs the disk controller to read the boot blocks into memory and then starts executing that code.
Because disks have moving parts and small tolerances, they are prone to failure. Sometimes the failure is complete; in this case, the disk needs to be replaced and its contents restored from backup media to the new disk. More frequently, one or more sectors become defective. Most disks even come from the factory with bad blocks.
Low-level formatting fills the disk with a special data structure for each sector
To increase efficiency, most file systems group blocks together into larger chunks, frequently called clusters.
A swap space can reside in one of two places: it can be carved out of the normal file system, or it can be in a separate disk partition
For instance, systems that implement swapping may use swap space to hold an entire process image, including the code and data segments.Paging systems may simply store pages that have been pushed out of main memory.The amount of swap space needed on a system can therefore vary from a few megabytes of disk space to gigabytes, depending on the amount of physical memory, the amount of virtual memory it is backing, and the way in which the virtual memory is used.
Problems with RAID
Does not always assure that data are available for the operating system and its users
Selecting a RAID Level
If a disk fails,the time needed to rebuild its data can be significant
RAID level 3
bit-interleaved parity organization
RAID level 4
block-interleaved parity organization
RAID level 2
memory-style error-correcting-code organization
RAID level 5
block-interleaved distributed parity
RAID level 1
Refers to disk mirroring
RAID level 6
P + Q redundancy scheme
RAID level 0
Refers to disk arrays with striping at the level of blocks but without any redundancy
RAID levels 0 + 1 and 1 + 0
Refers to a combination of RAID levels 0 and 1
Successful completion. The data were written correctly on disk.
Partial failure. A failure occurred in the midst of transfer,so only some of the sectors were written with the new data, and the sector being written during the failure may have been corrupted.
Total failure. The failure occurred before the disk write started, so the previous data values on the disk remain intact.
Daniela Porras Quiros