0% found this document useful (0 votes)
7 views

Operating System

An Operating System (OS) serves as an interface between users and computer hardware, managing essential tasks such as memory, process, and file management. The evolution of operating systems can be categorized into several generations, from early systems without OS to modern AI-powered systems. Key functions of an OS include memory management, processor management, device management, and security, with various types of operating systems emerging over time to meet user needs.

Uploaded by

tanuj pundir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Operating System

An Operating System (OS) serves as an interface between users and computer hardware, managing essential tasks such as memory, process, and file management. The evolution of operating systems can be categorized into several generations, from early systems without OS to modern AI-powered systems. Key functions of an OS include memory management, processor management, device management, and security, with various types of operating systems emerging over time to meet user needs.

Uploaded by

tanuj pundir
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Operating System

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. Today, Operating
systems is found almost in every device like mobile phones, personal computers, mainframe computers,
automobiles, TV, Toys etc.
Definition: 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:

Operating System Generations


Operating systems have evolved significantly over the years. We can categorize this evolution into different
generations as described below:
0th Generation
The 0th generation refers to the early period of computing, starting when Charles Babbage invented the
Analytical Engine and John Atanasoff created a computer in the 1940s. The hardware component
technology of this era used electronic vacuum tubes. There was no operating system available, and
computer programs were written in machine language. These computers were inefficient and relied heavily
on the individual programmer's skills as operators.
First Generation (1951-1956)
The first generation marked the start of commercial computing with the introduction of Eckert and
Mauchly’s UNIVAC I in 1951, followed shortly by the IBM 701. Initially, systems operated with the help
of expert operators and without an operating system, though higher-level, procedure-oriented programming
languages started to emerge, expanding the operator's role. Later, a mono-programmed operating system
was developed, reducing the need for human intervention in running jobs and providing programmers with
more functionality. Computers were still manually operated, with operators following specific steps to
execute programs. FORTRAN, developed by John W. Backus in 1956, was one of the first programming
languages of this era.
Second Generation (1956-1964)
The second generation was characterized by the replacement of vacuum tubes with transistors in hardware.
The first operating system, GMOS, was developed by IBM and used a batch processing system that
collected similar jobs into groups. These jobs were then submitted to the operating system using punch
cards. After completing a job, the operating system was reset and continued to process the next job from
the punch cards.
During this time, researchers began experimenting with multiprogramming and multiprocessing, leading to
time-sharing systems. The Compatible Time Sharing System (CTSS), developed at MIT in the early 1960s,
is a notable example.
Third Generation (1964-1979)
The third generation began officially in April 1964 with IBM's announcement of its System/360 family of
computers. Integrated circuits (ICs) replaced earlier hardware, bringing significant improvements in speed
and cost-efficiency.
The development of operating systems continued with widespread adoption of multiprogramming, taking
greater advantage of the computer’s I/O capabilities. The development of minicomputers, like DEC's PDP-
1, also set the stage for the later rise of personal computers. This era was crucial for advancements in both
computer hardware and operating systems.
Fourth Generation (1979 - Present)
The fourth generation is defined by the advent of personal computers and workstations, with component
technology advancing to very large scale integration (VLSI). Many of today's popular operating systems,
such as Windows, Linux, and macOS, were developed during this period.

Following are some of important functions of an operating System.


1. Memory Management
2. Processor Management
3. Device Management
4. File Management
5. Network Management
6. Security
7. Control over system performance
8. Job accounting
9. Error detecting aids
10. Coordination between other software and users
Memory Management
1. Keeps tracks of primary memory, i.e., what part of it are in use by whom, what part are not in use.
2. In multiprogramming, the OS decides which process will get memory when and how much.
3. Allocates the memory when a process requests it to do so.
4. De-allocates the memory when a process no longer needs it or has been terminated.
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.
1. Keeps tracks of processor and status of process. The program responsible for this task is known as
traffic controller.
2. Allocates the processor (CPU) to a process.
3. De-allocates processor when a process is no longer required.
Device Management
1. Keeps tracks of all devices. Program responsible for this task is known as the I/O controller.
2. Decides which process gets the device when and for how much time.
3. Allocates the device in the efficient way.
4. 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.
1. Keeps track of information, location, uses, status etc. The collective facilities are often known as
file system.
2. Decides who gets the resources.
3. Allocates the resources.
4. De-allocates the resources.
Other Important Activities
Following are some of the important activities that an Operating System performs −
1. Security − By means of password and similar other techniques, it prevents unauthorized access to
programs and data.
2. Control over system performance − Recording delays between request for a service and response
from the system.
3. Job accounting − Keeping track of time and resources used by various jobs and users.
4. Error detecting aids − Production of dumps, traces, error messages, and other debugging and error
detecting aids.
5. Coordination between other software and users − Coordination and assignment of compilers,
interpreters, assemblers and other software to the various users of the computer systems.

Operating System Types Year wise Evolution


Batch Processing Systems − These systems were popular From 1940s to 1950s. The users of a batch
operating system did not interact with the computer directly. Each user prepared his job on an off-line
device like punch cards and submited it to the computer operator who then batched the similar jobs together
to speed up processing and run as a group. The programmers left their programs with the operator and the
operator then sorted the programs with similar requirements into batches. In such systems, CPU usage was
very low and it was difficult to prioritize jobs over one another.
Multiprogramming Systems − These operating systems emerged from 1950s to 1960s and
revolutionalized the computer arena. Now a user could load multile programs into memory and each
program could have specific memory allocated. While one program was waiting for I/O operation, CPU
was alloted to second program.
Time-Sharing Systems − Such Operating system can be categorized from 1960s to 1970s yearwise. Time-
sharing or multitasking is a logical extension of multiprogramming. Processor's time which is shared among
multiple users simultaneously is termed as time-sharing. The operating system used CPU scheduling and
multiprogramming to provide each user with a small portion of a time. Computer systems that were
designed primarily as batch systems have been modified to time-sharing systems.
GUI Based Systems − From 1970s to 1980s, GUI based Operating Systems became popular. These
operating systems were more user friendly. In stead of typing commands, a user could click on graphical
icons. Microsoft Windows is one of earlier popular GUI based operating system which still dominates the
personal computer space.
Networked Systems − As time advances, so as technologies. From 1980s to 1990s, network based system
gained momentum. A Network Operating System runs on a server and provides the server the capability to
manage data, users, groups, security, applications, and other networking functions. The primary purpose of
the network operating system is to allow shared file and printer access among multiple computers in a
network, typically a local area network (LAN), a private network or to other networks.

Mobile Operating Systems − From Late 1990s to Early 2000s, Symbian, Java ME based OS were popular
for mobile devices. Over the period of time, with the introduction of smart phones, need of more complex
operation systems arised. That leads to development of Android and iOS mobile operating system which
are getting more and more powerful and becoming feature rich till date.

AI Powered − From 2010s to Present


In today's time, Artificial Intelligence is dominating every aspects of computers including Operating
Systems. Siri, Google Assistant, Alexa and many other AI based assitant softwares which can even
understand the voice commands and can perform any operation that a user needs to perform.
Important Terms
Kernal − Kernal is the central component of an operating system architecture in most of the
implementation. A kernal is responsible for all major operations and interaction with the hardware. A kernal
manages memory, processor, input/output devices and provides interface to application programs to interact
with hardware components.
Shell − Shell is an interface of an operating system. It can be command line interface or a graphical user
interface. User interacts with an operating system using shell. Application programs can also use shell
interface to interact with underlying operating system.
System Softwares − System softwares are the programs which interact with Kernal and provides interface
for security managment, memory management and other low level activities.
Application Programs − Application softwares/Programs are the one using which a user interacts with the
operating system. For example a word processor to create a document and save it on the file system, a
notepad to create notes etc.

You might also like