What is an Operating System?
An operating system is a program that manages the computer hardware.
It also provides a basis for application programs and acts as an intermediary between a
user of a computer and the computer hardware.
The purpose of an operating system is to provide an environment in which a user can
execute programs.
Goals of an Operating System?
The primary goal of an operating system is thus to make the computer system
convenient to use.
The secondary goal is to use the computer hardware in an efficient manner.
Basic Elements of Computer System
An operating system is an important part of almost every computer system.
A computer system can be divided roughly into four components.
Hardware
Operating system
The application programs
Users
The hardware - the central processing unit (CPU), the memory, and
the Input/output (I/O) devices-provides the basic computing resources.
The application programs- such as word processors, spreadsheets, compilers,
and web browsers- define the ways in which these resources are used to solve the computing
problems of the users.
An operating system is similar to a government. The OS simply provides an environment within
which other programs can do useful work.
Abstract view of the components of a computer system.
1. Operating system can be viewed as a resource allocator.
2. The OS acts as the manager of the resources ( such as CPU time, memory space, file
storage space, I/O devices) and allocates them to specific programs and users as
necessary for tasks.
3. An operating system is a control program. It controls the execution of user programs to
prevent errors and improper use of computer.
1.1Mainframe Systems
Early computers were physically enormous machines run from a console.
The common input devices were card readers and tape drives.
The common output devices were line printers, tape drives, and card punches.
The user did not interact directly with the computer systems.
Rather, the user prepared a job - which consisted of the program, the data, and some control
information about the nature of the job (control cards)-and submitted it to the computer
operator.
The job was usually in the form of punch cards.
The operating system in these early computers was fairly simple.
Its major task was to transfer control automatically from one job to the next.
The operating system was always resident in memory
Memory layout for a simple batch system.
A batch operating system, thus normally reads a stream of separate jobs.
When the job is complete its output is usually printed on a line printer.
The definitive feature of batch system is the lack of interaction between the user and
the job while the job is executing.
Spooling is also used for processing data at remote sites.
Multiprogrammed Systems
A pool of jobs on disk allows the OS to select which job to run next, toincrease CPU
utilization.
Multiprogramming increases CPU utilization by organizing jobs such that the CPU always
has one to execute.
The idea is as follows: The operating system keeps several jobs in memory
simultaneously. This set of jobs is a subset of the jobs kept in the job pool. The operating
system picks and begins to execute one of the jobs in the memory.