Page 251 - DCAP103_Principle of operating system
P. 251

Principles of Operating Systems



                   Notes         7.5 Disk Management

                                 The operating system is responsible for several other aspects of disk management, too. Here we
                                 discuss disk initialization, booting from disk, and bad-block recovery.
                                 7.5.1 Disk Formatting

                                 A new magnetic disk is a blank slate: It is just platters 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). Low-level formatting fills
                                 the disk with a special data structure for each sector. The data structure for a sector typically
                                 consists of a header, a data area (usually 512 bytes in size), and a trailer. The header and trailer
                                 contain information used by the disk controller, such as a sector number and an error-correcting
                                 code (ECC). When the controller writes a sector of data during normal I/O, the ECC is updated
                                 with a value calculated from all the bytes in the data area. When the sector is read, the ECC is
                                 recalculated and is compared with the stored value. If the stored and calculated numbers are
                                 different, this mismatch indicates that the data area of the sector has become corrupted and that
                                 the disk sector may be bad. The ECC is an error-correcting code because it contains enough
                                 information  that,  if  only  a  few  bits  of  data  have  been  corrupted,  the  controller  can  identify
                                 which bits have changed and can calculate what their correct values should be. The controller
                                 automatically does the ECC processing whenever a sector is read or written. Most hard disks are
                                 low-level formatted at the factory as a part of the manufacturing process. This formatting enables
                                 the manufacturer to test the Idisk and to initialize the mapping from logical block numbers to
                                 defect-free sectors on the disk. For many hard disks, when the disk controller is instructed to
                                 low-level format the disk, it can also be told how many bytes of data space to leave between
                                 the header and trailer of all sectors. It is usually possible to choose among a few sizes, such as
                                 256, 512, and 1,024 bytes. Formatting a disk with a larger sector size means that fewer sectors
                                 can fit on each track, but that also means fewer headers and trailers are written on each track,
                                 and thus increases the space available for user data. Some operating systems can handle only
                                 a sector size of 512 bytes.

                                 To use a disk to hold files, the operating system still needs to record its own data structures on
                                 the disk. It does so in two steps. The first step is to partition the disk into one or more groups
                                 of cylinders. The operating system can treat each partition as though it were a separate disk.
                                 For instance, one partition can hold a copy of the operating system’s executable code, while
                                 another holds user files. After partitioning, the second step is logical formatting (or creation
                                 of a file system). In this step, the operating system stores the initial file-system data structures
                                 onto the disk. These data structures may include maps of free and allocated space (a FAT or
                                 inodes) and an initial empty directory.
                                 Some  operating systems  give special programs the ability to use a disk partition as a large
                                 sequential array of logical blocks, without any file-system data structures. This array is sometimes
                                 called  the  raw  disk,  and  I/O  to  this  array  is  termed  raw  I/O.  For  example,  some  database
                                 systems prefer raw I/O because it enables them to control the exact disk location where each
                                 database record is stored. Raw 1/0 bypasses all the file-system services, such as the buffer cache,
                                 file  locking,  prefetching,  space  allocation,  file  names,  and  directories.  We  can  make  certain
                                 applications more efficient by implementing their own special-purpose storage services on a raw
                                 partition, but most applications perform better when they use the regular file-system services.





                                            Give the step of disk management.





        244                               LOVELY PROFESSIONAL UNIVERSITY
   246   247   248   249   250   251   252   253   254   255   256