Computer Operating System
Introduction to Computer operating system
Computer Operating System
A Computer Operating System is a software.....
What is a software?
Software is a collection of Machine-readable instructions that directs a
computer system to perform a specific task/tasks.
Types of Software
1. System Software
Systems software includes the programs that are dedicated to
managing the computer itself.
Operating Systems (Windows, Linux)
System Utilities (Disk Cleaners, Backup software)
2. Application Software
Application Software includes program, or group of programs,
that is designed for the end user.
Web browsers (Mozilla Firefox, Google Chrome)
Word processors (Microsoft Word, Google Docs)
What is an Operating System?
An operating system is a System software that acts as an interface between
the end - user and the computer hardware and controls the execution of all kinds of
programs. All computers and computer-like devices like laptops, tablets, desktops,
smartphones, smart watches, router, etc have operating systems.
Operating System Conceptual view
Operating Systems: Examples
Windows
Linux
Mac OS
Chrome OS
Android
iOS
Evolution of Operating System
1) No OS (late 1940s – mid 1950s)
Serial Processing Era:
Early computers from late 1940 to the mid 1950.
The programmer interacted directly with the computer hardware.
These machine are called bare machine as they don't have OS.
Every computer system is programmed in its machine language.
Machines run from a console with display lights, toggle switches.
These system presented two major problems.
1. Scheduling
A user may sign up for an hour but finishes his job in 45 minutes. This
would result in wasted computer idle time, also the user might run into
the problem not finish his job within allocated time.
2. Set up time
Each single program involves:
Loading compiler and source program in memory
Saving the compiled program (object code)
Loading and linking together object program and common function
If an error occurs user had to go the beginning of the set up
sequence. Thus, a considerable amount of time is spent in setting up the
program to run.
2) Simple Batch System
Batch is defined as a group of jobs with similar needs.
The operating system allows users to form batches. Computer executes each
batch sequentially, processing all jobs of a batch considering them as a
single process called batch processing.
Programs were punched into cards that were usually copied to tape for
processing. When the computer finished one job, it would immediately start
the next one on the tape.
Professional operators, not the users, interacted with the machine. Users
dropped jobs off, then returned to pick up the results after their jobs had run.
The wasted time due to scheduling and setup time in Serial Processing was
answered.
3) Multi-Programmed batch Systems
Central theme of modern OS
Multiprogramming increases CPU utilization by organizing jobs in such a
manner that CPU has always one job to execute.
When current program is waiting for I/O, OS switches processor to execute
another program in memory.
4) Time Sharing System
In time sharing systems all the tasks are given a specific time.
Multiple jobs are executed by the CPU by switching between them.
These switches occur so frequently and rapidly thus, the user can receive an
immediate response.
The main difference between Multiprogrammed Batch Systems and Time-
Sharing Systems is that in case of Multiprogrammed batch systems, the
objective is to maximize the processor use, whereas in Time-Sharing
Systems, the objective is to minimize the response time.
Main functions of an operating System
1.Process 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 process
management.
Keeps tracks of processor and status of processes.
Allocates the processor (CPU) to a process.
De-allocates processor when a process is no longer required.
2.Resource Management
a. Memory Management
Memory management refers to management of Primary Memory or
Main Memory. An Operating System does the following activities for memory
management.
Keeps tracks of primary memory, 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.
Allocates the memory when a process requests it to do so.
De-allocates the memory when a process no longer needs it or has been
terminated.
b. 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.
Decides which process gets the device, when and for how much time.
Allocates the device in the most efficient way.
De-allocates devices.
c. File Management
A file system is normally organized into directories for easy
navigation and usage. These directories may contain files and other directions. An
Operating System does the following activities for file management.
Keeps track of information, location, uses, status etc.
Decides who gets the resources.
Allocates the resources.
De-allocates the resources.
3. Security and Protection
An operating System provides security and Protection to the computer
system by the means of password and other similar techniques. It prevents
unauthorized access to programs and data.
Categorization of Operating Systems
(Based on the User and Task)
Based on the User
Single user - Facilitates single user to use the system at a time
Multi User - Facilitates multiple users to use the system at a time
Based on the Task
Single Task – Executes only one program at a time
Multi Task - Executes multiple programs at a time
Based on both the User and Task
Single user - single task - A single task is performed by one user at a
time.
Ex: MS-DOS
Single user - Multi task - Several programs are run at the same time
by a single user.
Ex: Windows, Mac OS
Multi user - Multi task - A multi-user operating system has been
designed for more than one user to access the computer at the same or
different time.
Ex: Unix
Special types of Operating Systems
Real Time Operating Systems
Real Time OS are designed to run applications with very precise timing
and with a high degree of reliability.
The main objective of real-time operating systems is their quick and
predictable response to events.
These types of OS are needed in situations where downtime is costly or
a program delay could cause a safety hazard.
Ex: Scientific Experiments, Military Applications, Airway
control Machines, Medical Imaging systems