0% found this document useful (0 votes)
27 views9 pages

Operating System U1

An Operating System (OS) is system software that manages computer resources and acts as an interface between applications and hardware. The document outlines the history and evolution of operating systems from the first generation using vacuum tubes to modern systems like Windows and Linux, detailing their functions, types, and architecture. It also discusses the various services provided by an OS, including resource management, process management, and security.

Uploaded by

haleemathaiba1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views9 pages

Operating System U1

An Operating System (OS) is system software that manages computer resources and acts as an interface between applications and hardware. The document outlines the history and evolution of operating systems from the first generation using vacuum tubes to modern systems like Windows and Linux, detailing their functions, types, and architecture. It also discusses the various services provided by an OS, including resource management, process management, and security.

Uploaded by

haleemathaiba1
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

Operating System

What is an Operating System?

An Operating System is a System software that manages all the resources of the computing deice.
 Acts as an interface between the software and different parts of the computer or the computer hardware.
 Manages the overall resources and operations of the computer.
 Controls and monitors the execution of all other programs that reside in the computer, which also includes
application programs and other system software of the computer.
 Examples of Operating Systems are Windows, Linux, macOS, Android, iOS, etc

History of the Operating System


It took years to evolve the Operating Systems and make them as modernised and advanced as they are today.
Given below are the details about the evolution and history of Operating systems.

 Initially, the computers made did not have an Operating system and to run each program a different code
was used. This had made the processing of data more complex and time taking
 In 1956, the first operating systems were developed by General Motors to run a single IBM computer
 It was in the 1960s that IBM had started installing OS in the devices they launched
 The first version of the UNIX operating system was launched in the 1960s and was written in the
programming language C
 Later on, Microsoft came up with their OS on the request of IBM
 Today, all major computer devices have an operating system, each performing the same functions but
with slightly different features

Operating System Generations

First Generation ( 1945 - 1955 ): Vacuum Tubes and Plugboards


 The first generation of the operating systems took place around 1945-1955 when the second world was
happening. During the Second World War, there were no digital computers.
 Calculating engines that used mechanical relays were built at that time and were popularly used. These
mechanical relays were extremely slow and were later on replaced by comparatively faster vacuum tubes.
These machines took a large amount of space as they were enormous but were very slow.
 Such types of computers were designed and built by a single group of people. At that time, programming
languages were unknown, and there was no such thing as an operating system because of which all the
programming was done in machine languages. Most of the problems which were solved using them were
simple numerical calculations.
 Punch cards were introduced in the 1950s, and they improved the overall computer system. Now instead
of using plugboards, programs were written on cards and were handed to the operator, who fed them to
the system.
Second Generation ( 1955 - 1965 ): Transistors and Batch Systems
 The second generation of the operating systems took place around 1955 to 1965. The first operating
system, GMOs was created in the early 1950s. General Motors developed this OS for the IBM computers.
 In this period, transistors were developed, which led to the development of computer systems that could
be manufactured and sold to paying customers. Such types of machines were known as mainframes. They
were kept in air-conditioned rooms with trained staff to operate them.
 Later, Batch systems were introduced in this generation of operating systems to reduce the computer's
idle time. All the jobs were collected on a tray in the input room and were read into the magnetic tape.
Then, the tape was mounted onto a tape drive once it had been rewound.
 When the batch operating system was loaded, it read the first job from the tape and ran it, while the output
was written onto the second tape. After executing the whole batch, the input and output tapes were
removed while the output tape was printed.

Third Generation ( 1965 - 1980 ): Integrated Circuits and Multiprogramming


 The third generation of operating systems took place around 1965-1980. Initially, there were two types
of computers - the scientific and commercial computers.
 Each type of computer served a different purpose. These were combined into one by IBM, which was
known as the System/360. They used integrated circuits and offered a major price and performance
advantage over the second-generation systems.
 By the late 1960s, operating systems designers were capable of developing an operating system that was
capable of performing multiple tasks simultaneously in a single computer. Such operating systems were
known as multiprogramming operating systems.
 The introduction of multiprogramming played an important role in developing operating systems that
allowed the CPU to be busy all the time by performing different tasks on a single computer
simultaneously.

Fourth Generation ( 1980 - Present ): Personal Computers


 The fourth generation of the operating system took place around 1980 and is being used till now. This
generation of operating systems is related to the development of personal computers, which is very similar
to the minicomputers that were developed in the third generation. Initially, the cost of personal computers
was very high.
 The birth of Microsoft and windows operating systems played a major role in the development of personal
computers. In this generation of operating systems, Microsoft created the first window operating system
in 1975.
 After introducing the Microsoft Windows operating system, Bill Gates and Paul Allen had the vision to
take personal computers to the next level. They introduced MS-DOS in 1981, tho it was very difficult for
the person to understand its commands. After that, multiple operating systems were released by windows,
such as Windows 95, Windows 98, Windows XP, etc.
 Currently, most Windows users use the Windows 10 operating system. Apart from windows, Apple also
built an operating system in the 1980s, which is known as Macintosh OS. it was developed by Steve Jobs,
co-founder of Apple.

Basic Architecture/ Structure of an Operating System


 The operating system gives an environment for executing programs by the users.
 Kernel is the most central part of the operating systems.
 Software running on any operating system can be system software and application software. The operating
system as we know is an intermediary and its functionalities include file management, memory
management, process management, handling input and output, and peripheral devices as well.

 It provides services to the user and the programs the user is running. For example:

 Loads and executes other programs


 Opens, reads, writes, closes files
 Opens, reads, writes, closes network connections
 Controls keyboard and mouse
 Provides security, protection, and privacy for programs

 Schedules tasks

 Multiple users
 Multiple processes

 Manages resources among multiple users/processes such as

 CPU (Central Processing Unit)


 Memory
 Disks
 Network card (NIC, Network Interface Card)
 Video display
 Any I/O device...

 Users can interface with the OS through a command line (shell, keyboard) or GUI interface (windowing,
mouse).

Types of Operating System


Given below are the different types of Operating System along with brief information about each of them:

1. Batch Operating System

 The users of batch operating system do not interact with the computer directly. Each user prepares his
job on an off-line device like punch cards and submits it to the computer operator.
 To speed up processing, jobs with similar needs are batched together and run as a group. Thus, the
programmers left their programs with the operator.
 The operator then sorts programs into batches with similar requirements.
 The problems with Batch Systems are following.
o Lack of interaction between the user and job.
o CPU is often idle, because the speeds of the mechanical I/O devices is slower than CPU.
o Difficult to provide the desired priority.
2. Multi-Programing Operating System

 A multi programming operating system is one that allows end-users to run more than one program at a
time. The development of such a system, the first type to allow this functionality, was a major step in the
development of sophisticated computers.
 The technology works by allowing the central processing unit (CPU) of a computer to switch between
two or more running tasks when the CPU is idle.
 Early computers were largely dedicated to executing one program — or, more accurately, one task
initiated by a program — at a time. Understanding the concept of tasks is key to understanding how a
multi programming operating system functions. A "task" is a small sequence of commands that, when
combined, comprises the execution of a running program. For example, if the program is a calculator, one
task of the program would be recording the numbers being input by the end-user.
 A multi programming operating system acts by analyzing the current CPU activity in the computer. When
the CPU is idle — when it is between tasks — it has the opportunity to use that downtime to run tasks for
another program. In this way, the functions of several programs may be executed sequentially. For
example, when the CPU is waiting for the end-user to enter numbers to be calculated, instead of being
entirely idle, it may run load the components of a web page the user is accessing.

3. Time-Sharing / Multi-Tasking Operating System

This type of operating system enables people who are in two different shells to use the computer
system at the same time.

The processing time is termed time sharing as it is shared among multiple users.

Each task is allotted some time (known as Quantum) to execute its work. After the allotted time
interval is over the operating system switches over to the next task

Time-sharing is multitasking, but is explained in two different terms.


Single user time Sharing OS

Time-sharing is a method where resources like CPU and main memory are shared among different tasks at the
same time by means of multi-programming. Multi-tasking is called a time-sharing operating system.

Multi-user time Sharing OS

Time-sharing is a method where resources like CPU and main memory are shared among different users at the
same time by means of multi-programming and multi-tasking, which is called a time-sharing operating system.

4. Multi-Processing Operating System

Multiprocessor operating system utilizes multiple processors, which are connected to physical memory, computer
buses, clocks, and peripheral devices (touchpad, joystick, etc.). The main objective of using a multiprocessor OS
is to consume high computing power and increase the execution speed of the system.

The following are four major components, used in the Multiprocessor Operating System:

1. CPU – capable of accessing memories as well as controlling the entire I/O tasks.
2. Input Output Processor – The I/P processor can access direct memories, and every I/O processor has to
be responsible for controlling all input and output tasks.
3. Input/Output Devices – These devices are used for inserting the input commands, and producing output
after processing.
4. Memory Unit – Multiprocessor system uses two types of memory modules - shared memory and
distributed shared memory.

Advantages

 Great Reliability.
 Improve Throughput.
 Cost-Effective System.
 Parallel Processing.

Disadvantages

 It is more expensive due to its large architecture.


 Its speed can get degraded due to failing any one processor.
 It has more time delay when the processor receives the message and takes appropriate action.
 It has big challenges related to skew and determinism.
 It needs context switching which can impact its performance.
5. Real-Time Operating System

 Process time: Time taken by OS to process the task

 Response time: Time interval between inputs to output by the Operating system. The time interval to
respond to the inputs is also called Response time, and it is a very small interval.

Real-time system is used when there are time constraints that are very strict.

Some examples of real-time OS

missile systems, weapon systems, control systems, traffic control signals, medical system, Scientific experiments,
robots, air traffic, Industry control system, etc.

There are two types of Real-Time OS

1. Hard Real-Time Systems:

The task must be completed on time. In Hard Real Systems, time requirements are very strict, and even a minor
possible delay is not acceptable. These OS are specific for saving lifelike medical systems, traffic control signals,
etc

2. Soft Real-Time Systems

In these OS, Task completion is the highest priority, and time constraints are not too strict.

Examples for Operating System

1. Windows: Windows is one of the world's most widely used operating systems. Microsoft developed and
distributed it, used mainly on personal computers and servers. Windows is known for its user-friendly
graphical user interface (GUI) and wide range of software compatibility.
2. MacOS: MacOS is an operating system developed and distributed by Apple Inc. for its Macintosh line of
computers. It is known for its sleek and modern design and is often favored by creative professionals for
its advanced graphics and video editing capabilities.
3. Linux: Linux is an open-source operating system known for its stability, security, and flexibility. It is
widely used on servers and can also be used on personal computers. Linux is highly customizable and can
be modified to suit an organization's or user's needs.
4. UNIX: UNIX is a multi-user and multitasking operating system known for its stability and security. It is
primarily used on servers and workstations and is often used in enterprise and academic environments.
5. Chrome OS: Chrome OS is a lightweight, cloud-based operating system developed by Google. It is
primarily used on Chromebooks, laptops, and tablets that run on the Chrome browser. Chrome OS is
known for its speed, security, and simplicity.
6. Mobile OS: Mobile operating systems such as iOS, Android, and Windows Phone are designed for
smartphones and tablets. They have different features and capabilities than traditional desktop operating
systems and are optimized for touchscreens and mobile usage.

Functions / Services/Component of Operating System

 Resource Management: The operating system manages and allocates memory, CPU time, and other
hardware resources among the various programs and processes running on the computer.
 Process Management: The operating system is responsible for starting, stopping, and managing
processes and programs. It also controls the scheduling of processes and allocates resources to them.
 Memory Management: The operating system manages the computer’s primary memory and provides
mechanisms for optimizing memory usage.
 Security: The operating system provides a secure environment for the user, applications, and data by
implementing security policies and mechanisms such as access controls and encryption.
 File Management: The operating system is responsible for organizing and managing the file system,
including the creation, deletion, and manipulation of files and directories.
 Device Management: The operating system manages input/output devices such as printers, keyboards,
mice, and displays. It provides the necessary drivers and interfaces to enable communication between the
devices and the computer.
 Networking: The operating system provides networking capabilities such as establishing and managing
network connections, handling network protocols, and sharing resources such as printers and files over a
network.

 Job Accounting – As the operating system keeps track of all the functions of a computer system. Hence, it
makes a record of all the activities taking place on the system. It has an account of all the information about the
memory, resources, errors, etc. Therefore, this information can be used as and when required.

 Control over system performance – The operating system will collect consumption statistics for various
resources and monitor performance indicators such as reaction time, which is the time between requesting a
service and receiving a response from the system.

 Error detecting aids – While a computer system is running, a variety of errors might occur. Error detection
guarantees that data is delivered reliably across susceptible networks. The operating system continuously
monitors the system to locate or recognize problems and protects the system from them.

 Coordination between other software and users – The operating system (OS) allows hardware components
to be coordinated and directs and allocates assemblers, interpreters, compilers, and other software to different
users of the computer system.

 Booting process – The process of starting or restarting a computer is referred to as Booting. Cold booting
occurs when a computer is totally turned off and then turned back on. Warm booting occurs when the computer
is restarted. The operating system (OS) is in charge of booting the computer.

User View and System View in Operating System


User View
The user view depends on the system interface that is used by the users. The different types of user view
experiences can be explained as follows

 If the user is using a personal computer, the operating system is largely designed to make the interaction easy.
Some attention is also paid to the performance of the system, but there is no need for the operating system to
worry about resource utilization. This is because the personal computer uses all the resources available and there
is no sharing.
 If the user is using a system connected to a mainframe or a minicomputer, the operating system is largely
concerned with resource utilization. This is because there may be multiple terminals connected to the mainframe
and the operating system makes sure that all the resources such as CPU,memory, I/O devices etc. are divided
uniformly between them.
 If the user is sitting on a workstation connected to other workstations through networks, then the operating system
needs to focus on both individual usage of resources and sharing though the network. This happens because the
workstation exclusively uses its own resources but it also needs to share files etc. with other workstations across
the network.
 If the user is using a handheld computer such as a mobile, then the operating system handles the usability of the
device including a few remote operations. The battery level of the device is also taken into account.

System View

According to the computer system, the operating system is the bridge between applications and hardware. It is
most intimate with the hardware and is used to control it as required.

The different types of system view for operating system can be explained as follows:

 The system views the operating system as a resource allocator. There are many resources such as CPU time,
memory space, file storage space, I/O devices etc. that are required by processes for execution. It is the duty of
the operating system to allocate these resources judiciously to the processes so that the computer system can run
as smoothly as possible.
 The operating system can also work as a control program. It manages all the processes and I/O devices so that
the computer system works smoothly and there are no errors. It makes sure that the I/O devices work in a proper
manner without creating problems.
 Operating systems can also be viewed as a way to make using hardware easier.
 Computers were required to easily solve user problems. However it is not easy to work directly with the computer
hardware. So, operating systems were developed to easily communicate with the hardware.
 An operating system can also be considered as a program running at all times in the background of a computer
system (known as the kernel) and handling all the application programs. This is the definition of the operating
system that is generally followed.
System Call
A system call is a programmatic way in which a computer program requests a service from the kernel of the
operating system it is executed on. A system call is a way for programs to interact with the operating
system.
A computer program makes a system call when it requests the operating system’s kernel. System
call provides the services of the operating system to the user programs via the Application Program
Interface(API). System calls are the only entry points into the kernel system and are executed in kernel mode.

 User program can interact with the operating system using a system call. A number of services are requested
by the program, and the OS responds by launching a number of systems calls to fulfill the request.
A system call can be written in high-level languages like C or Pascal or in assembly language. If a high-level
language is used, the operating system may directly invoke system calls, which are predefined functions.
A system call is initiated by the program executing a specific instruction, which triggers a switch to kernel
mode, allowing the program to request a service from the OS. The OS then handles the request, performs the
necessary operations, and returns the result back to the program.
 System calls are essential for the proper functioning of an operating system, as they provide a standardized
way for programs to access system resources. Without system calls, each program would need to implement
its methods for accessing hardware and system services, leading to inconsistent and error-prone behavior.

You might also like