Page 34 - DCAP507_SYSTEM_SOFTWARE
P. 34

System Software




                    Notes          Layer 1 did the memory management. It allocated space for processes in main memory and on
                                   a 512k word drum used for holding parts of processes (pages) for which there was no room in
                                   main memory. Above layer 1, processes did not have to worry  about whether  they were  in
                                   memory or on the drum; the layer 1 software took care of making sure pages were brought into
                                   memory whenever they were needed.
                                   Layer 2 handled communication between each process and the operator console. Above this
                                   layer each process effectively had its own operator console.

                                   Layer 3 took care of managing the I/O devices and buffering the information streams to and
                                   from them. Above layer 3 each process could deal with abstract I/O devices with nice properties,
                                   instead of real devices with many peculiarities.
                                   Layer 4 was where the user programs were found. They did not have to worry about process,
                                   memory, console, or I/O management.

                                   The system operator process was located in layer 5.
                                                          Figure  2.7:  MS-DOS  Layer  Structure


                                                                Application program





                                                     Resident system program




                                                   -
                                                 MS DOS device drivers





                                                              ROM BIOS device drivers



                                   In MS-DOS, the  interfaces and levels of  functionality are not well  separated. For  instance,
                                   application programs are able to access the basic I/O routines to write directly to the display and
                                   disk drives.  Such freedom leaves MS-DOS vulnerable to errant (or malicious) programs, causing
                                   entire system crashes when user programs fail. Of course, MS-DOS was also limited by the
                                   hardware of its era. Because the Intel 8088 for which it was written provides no dual mode and
                                   no hardware protection, the designers of MS-DOS had no choice but to leave the base hardware
                                   accessible.

                                   The main advantage of the layered approach is modularity. The layers are selected such that
                                   each uses functions (operations) and services of only lower level layers. This approach simplifies
                                   debugging and system verification. The first layer can be debugged without any concern for the
                                   rest of the system, because, by definition, it uses only the basic hardware (which is assumed
                                   correct) to implement its functions. Once the first layer is debugged, its correct functioning can
                                   be assumed while the second layer is worked on, and so on. If an error is found during the
                                   debugging of a particular layer, we know that the error must be on that layer, because the layers
                                   below it are already debugged. Thus, the design and implementation of the system is simplified
                                   when the system is broken down into layers.


          28                                LOVELY PROFESSIONAL UNIVERSITY
   29   30   31   32   33   34   35   36   37   38   39