Chapter-1 Lect OS
Chapter-1 Lect OS
OVERVIEW
An operating system is a program that manages the computer hardware. It provides a basis for application programs
and acts as an intermediary between the computer user and the computer hardware. Main frame operating systems
are designed primarily to optimize utilization of hardware. PC operating systems support complex games, business
applications etc. Operating systems for handheld computers are designed to provide an environment in which a user
can easily interface with the computer to execute programs. What operating systems do: A computer system can be
divided roughly into four components – the hardware, the operating system, the application programs and the users.
The hardware – which consists of CPU, memory and I/O devices, provides the basic computing resources for the
system. The application programs define the ways in which these resources are used to solve users’ computing
problems. The operating system controls and co-ordinates the use of hardware among the various application
programs for the various users.
Operating systems are designed to run on any class of machines at a variety of sites with a variety of peripheral
configurations. The system must then be configured or generated for each specific computer site, a process known
as system generation (SYSGEN). This SYSGEN program reads from a given file or asks the operator of the system for
information concerning the specific configuration of the hardware system or probes the hardware directly to
determine what components are there. The following information must be determined:
a) What CPU is to be used? What options are installed? For multiple CPU systems, each CPU system must be
described.
Historical Perspective
- By the early 1950's, the routine had improved somewhat with the introduction of punch cards.
- The General Motors Research Laboratories implemented the first operating systems in early 1950's for
their IBM 701.
- The system of the 50's generally ran one job at a time.
The 1960's - Third Generation
- The systems of the 1960's were also batch processing systems, but they
were able to take better advantage of the computer's resources by running
several jobs at once.
Fourth Generation
- With the development of LSI (Large Scale Integration) circuits, chips, operating system entered in the
personal computer and the workstation age.
- Microprocessor technology evolved to the point that it becomes possible to build desktop computers as
powerful as the mainframes of the 1970s.
Simple structure:
Operating systems of commercial systems started as a small, simple and limited systems. Example is MS-DOS. It was
written to provide the most functionality in the least space, so it was not divided into modules.
But the interfaces and levels of functionality are not separated. It was also limited by the hardware.
Layered approach: With proper hardware support, OS can be broken into pieces that are smaller and more
appropriate. OS can then retain much greater control over the computer and over the applications that make use of
the computer. Under the top down approach, the overall functionality and features are determined and are separated
into components. A system can be made modular in many ways – one method is the layered approach in which the
OS is broken up into number of layers (levels). The bottom layer is the hardware and the highest layer is the user
interface.
Micro kernels: This method structures the OS by removing all non-essential components from the kernel and
implementing them as system and user level programs which results in a smaller kernel. Micro kernels provide
minimal process and memory management in addition to a communication facility. The main function of micro
kernel is to provide a communication facility between the client program and the various services that are also
running in user space. Communication is provided by message passing. Advantage of the micro kernel approach is
ease of extending the operating system. All new users are added to user space and hence do not require modification
of the kernel. The resulting operating system is easier to port from one hardware design to another. Microkernel also
provides more security and reliability since most services are running as user processes. But micro kernels can suffer
from performance decreases due to increased system function overhead.
The best current methodology for operating system design involves using object oriented programming techniques
to create a modular kernel. The kernel has a set of core components and dynamically links in additional services
either during boot time or run time.
Solaris OS structure is organized around a core kernel with seven types of loadable kernels. Such a design allows
the kernel to provide core services and also allows certain features to be implemented dynamically.