|
Auxiliary memory
| Disciplines: |
Operating systems |
Introduction:
|
An auxiliary memory is a high-speed memory found in a large main frame or supercomputer. It is not directly addressable by the central processing unit, and is connected to the main memory by a high-speed data channel. Storage device is an addition to the main storage of a computer, for example magnetic tape, disk, or magnetic drum [1],[2]. Disk drives are the major secondary-storage I/O devices on most computers. Most secondary storage devices are either magnetic disks or magnetic tapes [3],[4]. Modern disk drives are structured as a large one-dimensional array of logical disk blocks which is usually 512 bytes. A disk drive is attached to a computer by a set of wires called an I/O bus. Several kinds of buses are available, including enhanced integrated drive electronics (EIDE), advanced technology attachment (ATA), serial ATA (SATA), universal serial bus (USB), fiber channel (FC), and SCSI buses. Disks may be attached to a computer system using a network connection such as storage area networks [5],[6]. Requests for disk I/O are generated by the file system and by the virtual memory system. Each request specifies the address on the disk to be referenced, in the form of a logical block number. Disk-scheduling algorithms can improve the effective bandwidth, the average response time, and the variance in response time [7],[8]. Algorithms such as SSTF [9], SCAN [10], C-SCAN, LOOK [11], and C-LOOK are designed to make such improvements through strategies for disk-queue ordering [12]. The movement of an entire process between disk and main memory is called swapping. Swapping in that setting occurs when the amount of physical memory reaches a critically low point and processes (which are usually selected because they are the least active) are moved from memory to swap space to free available memory [12]. Performance can be harmed by external fragmentation. Some systems have utilities that scan the file system to identify fragmented files; they then move blocks around to decrease the fragmentation. Defragmenting a badly fragmented file system can significantly improve performance, but the system may have reduced performance while the defragmentation is in progress. Sophisticated file systems, such as the UNIX Fast File System, incorporate many strategies to control fragmentation during space allocation so that disk reorganization is not needed [13],[14]. The operating system is responsible for several other aspects of disk management. A new magnetic disk is a blank slate: It is just a platter of a magnetic recording material. Before a disk can store data, it must be divided into sectors that the disk controller can read and write. This process is called low-level formatting, or physical formatting [15],[16]. Disk drives have continued to get smaller and cheaper, so it is now economically feasible to attach many disks to a computer system. Having a large number of disks in a system presents opportunities for improving the rate at which data can be read or written, if the disks are operated in parallel. A variety of disk-organization techniques, collectively called redundant arrays of inexpensive disks (RAIDs), are commonly used to address the performance and reliability issues [17]. The write-ahead log scheme requires the availability of stable storage. To implement such storage, we need to replicate the needed information on multiple nonvolatile storage devices (usually disks) with independent failure modes. We also need to update the information in a controlled manner to ensure that we can recover the stable data after any failure during data transfer or recovery. Because cost is so important, in practice, tertiary storage is built with removable media. The most common examples are floppy disks, tapes, and read-only, write-once, and rewritable CDs and DVDs. Many any other kinds of tertiary-storage devices are available as well, including removable devices that store data in flash memory and interact with the computer system via a USB interface. For removable disks, the operating system generally provides the full services of a file-system interface, including space management and request-queue scheduling. For many operating systems, the name of a file on a removable cartridge is a combination of a drive name and a file name within that drive. This convention is simpler but potentially more confusing than is using a name that identifies a specific cartridge [18]. Three important aspects of performance are bandwidth, latency, and reliability. Many bandwidths are available for both disks and tapes, but the random-access latency for a tape is generally much greater than that for a disk. Switching cartridges in a jukebox is also relatively slow. Because a jukebox has a low ratio of drives to cartridges, reading a large fraction of the data in a jukebox can take a long time. Optical media, which protect the sensitive layer with a transparent coating, are generally more robust than magnetic media, which are more likely to expose the magnetic material to physical damage [19]. Exercises: 1. Write a C++ program for disk scheduling using the SCAN and C-SCAN disk scheduling algorithms. 2. On what situations would using memory as a RAM disk be more useful that using it as a disk cache? 3. Could a RAID Level 1 organization achieve better performance for read requests than a RAID Level 0 organization? |
| Available materials: |
The following materials and learning resources are available in this lecture:
[1] Auxiliary memory
[2] Disk storage
[3] Computer data storage
[4] Hard drive
[5] I/O port
[6] Bus structure
[7] Disk scheduling algorithms
[8] I/O scheduling
[9] SSTF
[10] SCAN
[11] Swapping
[12] Disk scheduling
[13] Fragmentation
[14] Defragmentation
[15] Disk structure [Additional]
[16] Disk formatting
[17] RAID
[18] Tertiary storage
[19] Optical storage
[20] Cylinder-head-sector [Additional]
[21] File system fragmentation
Please read carefully every provided learning resource and material. And after, if you feel self confident enough, you can:
|
| Test your knowledge: |
|
| Or view solutions: |
Show all questions and answers! |
|
|