Operating System - Overview
Operating System - Overview
An Operating System (OS) is an interface between a computer user and computer hardware. An
operating system is a software which performs all the basic tasks like file management, memory
management, process management, handling input and output, and controlling peripheral devices
such as disk drives and printers.
An operating system is software that enables applications to interact with a computer's hardware.
The software that contains the core components of the operating system is called the kernel.
The primary purposes of an Operating System are to enable applications (spftwares) to interact with
a computer's hardware and to manage a system's hardware and software resources.
Some popular Operating Systems include Linux Operating System, Windows Operating System,
VMS, OS/400, AIX, z/OS, etc. Today, Operating systems is found almost in every device like mobile
phones, personal computers, mainframe computers, automobiles, TV, Toys etc.
Definitions
We can have a number of definitions of an Operating System. Let's go through few of them:
An Operting System is the low-level software that supports a computer's basic functions,
such as scheduling tasks and controlling peripherals.
An operating system is a program that acts as an interface between the user and the
computer hardware and controls the execution of all kinds of programs.
An operating system (OS) is system software that manages computer hardware, software
resources, and provides common services for computer programs.
Architecture
We can draw a generic architecture diagram of an Operating System which is as follows:
0th Generation
The term 0th generation is used to refer to the period of development of computing when Charles
Babbage invented the Analytical Engine and later John Atanasoff created a computer in 1940. The
hardware component technology of this period was electronic vacuum tubes. There was no
Operating System available for this generation computer and computer programs were written in
machine language. This computers in this generation were inefficient and dependent on the varying
competencies of the individual programmer as operators.
System operation was performed with the help of expert operators and without the benefit of an
operating system for a time though programs began to be written in higher level, procedure-oriented
languages, and thus the operator’s routine expanded. Later mono-programmed operating system
was developed, which eliminated some of the human intervention in running job and provided
programmers with a number of desirable functions. These systems still continued to operate under
the control of a human operator who used to follow a number of steps to execute a program.
Programming language like FORTRAN was developed by John W. Backus in 1956.
The second generation of computer hardware was most notably characterised by transistors
replacing vacuum tubes as the hardware component technology. The first operating system GMOS
was developed by the IBM computer. GMOS was based on single stream batch processing system,
because it collects all similar jobs in groups or batches and then submits the jobs to the operating
system using a punch card to complete all jobs in a machine. Operating system is cleaned after
completing one job and then continues to read and initiates the next job in punch card.
The third generation officially began in April 1964 with IBM’s announcement of its System/360
family of computers. Hardware technology began to use integrated circuits (ICs) which yielded
significant advantages in both speed and economy.
Operating system development continued with the introduction and widespread adoption of
multiprogramming. The idea of taking fuller advantage of the computer’s data channel I/O
capabilities continued to develop.
Another progress which leads to developing of personal computers in fourth generation is a new
development of minicomputers with DEC PDP-1. The third generation was an exciting time, indeed,
for the development of both computer hardware and the accompanying operating system.
The fourth generation is characterised by the appearance of the personal computer and the
workstation. The component technology of the third generation, was replaced by very large scale
integration (VLSI). Many Operating Systems which we are using today like Windows, Linux, MacOS
etc developed in the fourth generation.
Memory Management
Processor Management
Device Management
File Management
Network Management
Security
Control over system performance
Job accounting
Error detecting aids
Coordination between other software and users
Memory Management
Memory management refers to management of Primary Memory or Main Memory. Main memory is
a large array of words or bytes where each word or byte has its own address.
Main memory provides a fast storage that can be accessed directly by the CPU. For a program to be
executed, it must in the main memory. An Operating System does the following activities for
memory management −
Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in
use.
In multiprogramming, the OS decides which process will get memory when and how much.
Processor Management
In multiprogramming environment, the OS decides which process gets the processor when and for
how much time. This function is called process scheduling. An Operating System does the following
activities for processor management −
Keeps tracks of processor and status of process. The program responsible for this task is
known as traffic controller.
Allocates the processor (CPU) to a process.
Device Management
An Operating System manages device communication via their respective drivers. It does the
following activities for device management −
Keeps tracks of all devices. Program responsible for this task is known as the I/O controller.
Decides which process gets the device when and for how much time.
Allocates the device in the efficient way.
De-allocates devices.
File Management
A file system is normally organized into directories for easy navigation and usage. These directories
may contain files and other directions.
Keeps track of information, location, uses, status etc. The collective facilities are often
known as file system.
Decides who gets the resources.
Allocates the resources.
Error detecting aids − Production of dumps, traces, error messages, and other debugging
and error detecting aids.
Coordination between other softwares and users − Coordination and assignment of
compilers, interpreters, assemblers and other software to the various users of the computer
systems.