2. SYLLABUS
◦ Mass Storage Structure
◦ Disk Structure
◦ Scheduling and Management
◦ RAID Structure
3. Mass Storage Structure
◦ Magnetic Disks
◦ Traditional magnetic disks have the following basic structure:
◦ One or more platters in the form of disks covered with magnetic media. Hard disk platters are made of
rigid metal, while "floppy" disks are made of more flexible plastic.
◦ Each platter has two working surfaces. Older hard disk drives would sometimes not use the very top or
bottom surface of a stack of platters, as these surfaces were more susceptible to potential damage.
◦ Each working surface is divided into a number of concentric rings called tracks. The collection of all
tracks that are the same distance from the edge of the platter, ( i.e. all tracks immediately above one
another in the following diagram ) is called a cylinder.
4. Cont…..
◦ Each track is further divided into sectors, traditionally containing 512 bytes of data each, although some
modern disks occasionally use larger sector sizes. ( Sectors also include a header and a trailer, including
checksum information among other things. Larger sector sizes reduce the fraction of the disk consumed
by headers and trailers, but increase internal fragmentation and the amount of disk that must be marked
bad in the case of errors. )
◦ The data on a hard drive is read by read-write heads. The standard configuration ( shown below ) uses
one head per surface, each on a separate arm, and controlled by a common arm assembly which moves
all heads simultaneously from one cylinder to another. ( Other configurations, including independent
read-write heads, may speed up disk access, but involve serious technical difficulties. )
◦ The storage capacity of a traditional disk drive is equal to the number of heads ( i.e. the number of
working surfaces ), times the number of tracks per surface, times the number of sectors per track, times
the number of bytes per sector. A particular physical block of data is specified by providing the head-
sector-cylinder number at which it is located.
5.
6. Disk Structure
◦ Disk Structure in Operating System: The actual physical details of a modern hard disk may be
quite complicated.
◦ Simply, there are one or more surfaces, each of which contains several tracks, each of which is
divided into sectors.
◦ There is one read/write head for every surface of the disk.
◦ Also, the same track on all surfaces is known as a cylinder, When talking about movement of
the read/write head, the cylinder is a useful concept, because all the heads (one for each
surface), move in and out of the disk together.
7.
8. Scheduling and Management
◦ The process scheduling is the activity of the process manager that handles the removal of the running
process from the CPU and the selection of another process on the basis of a particular strategy.
◦ Process scheduling is an essential part of a Multiprogramming operating systems. Such operating
systems allow more than one process to be loaded into the executable memory at a time and the
loaded process shares the CPU using time multiplexing.
◦ There are three types of process scheduler.
◦ Long Term or job scheduler :
It brings the new process to the ‘Ready State’. It controls Degree of Multi-programming, i.e.,
number of process present in ready state at any point of time. It is important that the long-term
scheduler make a careful selection of both IO and CPU bound process. IO bound tasks are which use
much of their time in input and output operations while CPU bound processes are which spend their
time on CPU. The job scheduler increases efficiency by maintaining a balance between the two.
9. Cont…..
◦ Short term or CPU scheduler :
It is responsible for selecting one process from ready state for scheduling it on the running state. Note: Short-term
scheduler only selects the process to schedule it doesn’t load the process on running. Here is when all the
scheduling algorithms are used. The CPU scheduler is responsible for ensuring there is no starvation owing to high
burst time processes.
Dispatcher is responsible for loading the process selected by Short-term scheduler on the CPU (Ready to Running
State) Context switching is done by dispatcher only. A dispatcher does the following:
◦ Switching context.
◦ Switching to user mode.
◦ Jumping to the proper location in the newly loaded program.
◦ Medium-term scheduler :
It is responsible for suspending and resuming the process. It mainly does swapping (moving processes from main
memory to disk and vice versa). Swapping may be necessary to improve the process mix or because a change in
memory requirements has overcommitted available memory, requiring memory to be freed up. It is helpful in
maintaining a perfect balance between the I/O bound and the CPU bound. It reduces the degree of
multiprogramming.
10. RAID Structure
◦ RAID, or “Redundant Arrays of Independent Disks” is a technique which makes use of a
combination of multiple disks instead of using a single disk for increased performance, data
redundancy or both. The term was coined by David Patterson, Garth A. Gibson, and Randy Katz
at the University of California, Berkeley in 1987.
◦ Why data redundancy?
◦ Data redundancy, although taking up extra space, adds to disk reliability. This means, in case of
disk failure, if the same data is also backed up onto another disk, we can retrieve the data and
go on with the operation. On the other hand, if the data is spread across just multiple disks
without the RAID technique, the loss of a single disk can affect the entire data.
11. Key evaluation points for a RAID
System
◦ Reliability: How many disk faults can the system tolerate?
◦ Availability: What fraction of the total session time is a system in uptime mode, i.e. how
available is the system for actual use?
◦ Performance: How good is the response time? How high is the throughput (rate of processing
work)? Note that performance contains a lot of parameters and not just the two.
◦ Capacity: Given a set of N disks each with B blocks, how much useful capacity is available to
the user?
◦ RAID is very transparent to the underlying system. This means, to the host system, it appears
as a single big disk presenting itself as a linear array of blocks. This allows older technologies
to be replaced by RAID without making too many changes in the existing code.