2.0 INTRODUCTION
An operating system is system software which may be viewed as an organized
collection of software consisting of procedures for operating a computer and
providing an environment for execution of programs. It acts as an interface
between users and the hardware of a computer system.
There are many important reasons for studying operating systems. Some of them
are:
1) User interacts with computer through the operating system in order to
accomplish his/her task since it is his/her primary interface with a computer.
2) It helps users to understand the inner functions of a computer very closely.
3) Many concepts and techniques found in the operating system have general
applicability in other applications.
The introductory concepts of an operating system will be the main focus in this
unit. The unit introduces several OS concept such as command interface,
bootstrap loader, kernel, nanokernel, thin clients, multitasking and
multiprogramming OS. To understand OS one needs to understand what kinds of
services are provided by process management, I/O device management, memory
management and file system. This topic is an important part of the unit. The end
of unit goes into a brief history of evolution of OS, starting from serial processing,
batch processing till date.
2.1 OBJECTIVES
After going through this unit, you should be able to:
- describe Operating Systems concepts;
- list components of an operatin system;
- Describes services provided by OS (Operating System) components;
- Describe in brief evolution of an operating system.
2.2 THE CONCEPT OF OPERATING SYSTEM
An operating system is an essential software component of a computer system.
The basic objectives of an operating system are to make the computer system
convenient to use and to utilize computer hardware in an efficient manner.
We can define an operating system as a large collection of software, which
manages the resources of the computer system, such as memory, processor, file
system and input/output devices. It keeps track of the status of each resource and
decides which will have control over computer resources, for how long and when.
In doing so, it provides two basic types of services:
1. It accepts requests from users and from the user’s programs and executes their
commands.
2. It optimally manages the hardware resources of the computer which may
include CPU, main memory, hard disks, I/O devices, network interface
card, etc.
The relationship between the various components of a computer system is shown
schematically in Figure 2.1.
The figure 2.1 shows the command interface as part of the operating system. In some systems, this is viewed as a shell outside of the operating system
In a real situation, the operating system does more complex tasks: It controls not
only one I/O devise but many such devises; it allows many programs to share the
H/W resources of a system and not one. There could be many CPUs in a system.
Operating system has to optimally manage all of them. So how does operating
system execute a command? In order to execute a command OS does the
following steps:
- It accepts a command from a user through mouse clicks or from the keyboard. Through a port number it is able to recognize what is the source of input.
- It must interpret these commands and take actions accordingly.
- It must provide a file system that can interpret the name of the program being requested and determine the location of the file on secondary storage device for example.
- It must read the appropriate blocks from the device into memory. Only then can the operating system transfer control to the program being executed.
With this example one can make out what kind of facilities operating system
provides to
the users and programs:
- The operating system provides interfaces for the user (keyboard, mouse, The operating system provides interfaces for the user (keyboard, mouse,
- It provides file system support to manage huge volume of data in to secondary storage device.
- It provides I/O services that can be used by every program.
- It provides boot-strapping or Initial Program Load (IPL) to start a computer
- It manages all kinds of errors and also supports error recovery mechanisms
- It provides networking services.
- It provides the environment (allocation of memory, I/O devices and CPU time) for concurrent processing. As you are aware, a single processor is capable of executing only one instruction at a time. Concurrent processing is the means used to simulate the simultaneous execution of multiple programs to provide multitasking and multiuser support.
The critical programs are loaded into memory by the bootstrap loader at start-up Operating Sytem
time and will remain resident as long as the computer is running. The bootstrap
for most modern computers is stored in read-only memory; on some computers,
part of the resident operating system will also be contained in ROM, so that it is
permanently resident in memory and always available for use. The memory
resident components of an operating system are commonly known as the kernel
of the operating system. For example, the operating system program accepts user
commands must always be present, as well as the programmes that handle request
from the user systems and manage resources in a multitasking system. On the
other hand, an operating system command that formats a new disk is only used
occasionally; it can be loaded and executed only when it is required. Today, the
trend is towards design of nano kernel or micro kernel. The essence of these
kernels is to keep the basic kernel smaller.
Most people assume that the operating system is stored on a disk that is connected
directly to the computer, but this is not necessarily true. If the computer is
attached to a network, it may obtain its programs, including the operating system,
from another computer on the network. This has led to the concept of the diskless
workstation, a personal computer that relies completely on the network for its data
and program storage and access. Diskless workstations are also known as thin
clients. The size of the kernel and the particular services provided within a kernel
vary from one operating system to another operating system, depending on the
organization and capabilities of the system, as well as by the type of system.
- UNIX, WINDOWS 2000, WINDOWS XP and Linux are examples of operating systems that operate on a variety of different hardware platforms (i.e., microprocessor). There is a strong advantage providing a standard operating system that works on different hardware platforms. Such a system provides portability for programme as well as for file, therefore it is easy for the users to move comfortably from one machine to another. They are also called multiuser and multiprogramming or multitasking operating system which makes it possible for many users or tasks to share the computer resources, providing fuller utilization of the system resources.
- The operating system extends the capability of the computer to include features that require special coordinated hardware and software that is invisible to the user. These features include virtual memory, cache memory, multiprocessing.
- Systems can also be categorized by the degree of activity between the user and the system during program execution. As a student, you are probably most familiar with online, interactive systems. “Online” simplify means that the user is connected directly to the computer. When the system is interactive, the user interacts directly with the program to provide input data and guidance during program execution. This is called online processing. Interactive systems are sometimes known as conversational systems.
- Many business tasks such as banking operations are performed more effectively in a batch, where the data input for the program is collected together into a file on disk or tape. It does not make sense to have a user enter data one record at a time if an entire set of data is to be sorted, for example. Instead, the user submits the program(s), or job(s), to the computer for processing. This type of processing is known as batch processing. The user does not interact with the program during batch processing. The OS system user interface provides a means for the user to get work done more quickly and efficiently. This is especially true for the user interface such as menu, icons found on modern operating systems. The modern operating systems combine graphical user interface simplicity with sophisticated text command input capability to provide the user with powerful access to the facilities of the computer.
1. Define the following terms:
(i) Online Processing:
………………………………………………………………………………….
………………………………………………………………………………….
………………………………………………………………………………….
(ii) Batch Processing
:
………………………………………………………………………………….
………………………………………………………………………………….
………………………………………………………………………………….
2. How does multiprogramming improve performance of a system?
………………………………………………………………………………….
………………………………………………………………………………….
………………………………………………………………………………….