3. Table of contents
Introduction of operating system
Functions of operating system
Application of operating system
Types of operating system
4. Introduction of Operating System
An operating system acts as an intermediary between the user of a computer and computer
hardware.
An operating system is a program that controls the execution of application programs and acts as
an interface between the user of computer and the computer hardware.
An operating system is concerned with the allocation of resources and services, such as memory,
processor, devices, and information.
Some popular operating systems include Linux operating system, Windows operating system,
VMS etc.
6. Function of Operating System
Memory management
Processor Management
Device Management
File Management
Security
Control over system performance
Job accounting
Error Detecting aids
Coordination between other software and users
7. 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.
8. Memory Management (cont.)
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.
9. 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.
De-allocates processor when a process is no longer required.
10. 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.
11. 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. The collective facilities are often
known as file system.
Decides who gets the resources.
Allocates the resources.
De-allocates the resources.
12. Other important activities
Security: By means of password and similar other techniques, it prevents unauthorized access to
programs and data.
Control over system performance: Recording delays between request for a service and response
from the system.
Job accounting: Keeping track of time and resources used by various jobs and users.
Error detecting aids: Production of dumps, traces, error messages, and other debugging and
error detecting aids.
Coordination between other software and users: Coordination and assignment of compilers,
interpreters, assemblers and other software to the various users of the computer systems.
13. Types of Operating Systems
Batch operating system
Multi-programmed System
Time-sharing operating systems
Distributed operating System
Network operating System
Real Time operating System
14. Batch Operating Systems
A Batch Operating System (BOS) is a computer system
that allows multiple users to use it, without direct
communication between them.
The users of a 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. The
programmers leave their programs with the operator
and the operator then sorts the programs with similar
requirements into batches.
15. Batch Operating Systems
Disadvantages of batch operating system:
When a job fails once, it must be scheduled to be completed, and it may take a long time to complete
the task.
CPU is often idle, because the speed of the mechanical I/O devices is slower than the CPU.
Computer operators must have full knowledge of batch systems.
The computer system and the user have no direct interaction.
If a job enters an infinite loop, other jobs must wait for an unknown period of time.
16. Multi-programming Operating Systems
Multiprogramming is a variation of batch processing in which the CPU is kept busy at all times.
On a single processor computer, a multiprogramming OS can run many programs. In a multiprogramming
OS, if one program must wait for an input/output transfer, the other programmes are ready to use the CPU.
As a result, different jobs may have to split CPU time. However, their jobs are not scheduled to be
completed at the same time.
In the multiprogramming system, multiple users can complete their tasks at the same time, and they can be
saved in the main memory. While a programme is performing I/O operations, the CPU may distribute time
to other applications while in idle mode.
While one application waits for an I/O transfer, another is always ready to use the processor, and multiple
programmes may share CPU time.
18. Multi-programming Operating Systems
Pros of Multiprogramming Operating System:
It has a faster response time.
It may be beneficial to run multiple jobs in a single application at the same time.
It aids in the computer’s overall optimization of job throughput.
The multiprogramming system can be used by multiple people at the same time.
In comparison to long-term work, short-term jobs are completed swiftly.
It may aid in reducing turnaround time for short-duration tasks.
It contributes to higher CPU utilisation and is never idle. The resources are wisely allocated.
19. Multi-programming Operating Systems
Cons of Multiprogramming Operating System:
It’s quite complex and sophisticated.
CPU scheduling is necessary.
Since all types of tasks get stored in the main memory, memory management is required in the operating
system.
The more difficult challenge is managing all procedures and tasks.
Long-term jobs will demand a long wait if it has a high number of jobs.
20. Time Sharing Operating Systems
A time sharing operating system (OS) is a kind of computer operating system that permits multiple users to
use a single computer at the same time by distributing the computer's resources (such as the CPU, memory,
and input/output devices) among various users or applications.
A time-shared operating system uses CPU scheduling and multi-programming to provide each user with a
small portion of a shared computer at once. Each user has at least one separate program in memory. A
program is loaded into memory and executes, it performs a short period of time either before completion
or to complete I/O. This short period of time during which the user gets the attention of the CPU is known
as time slice.
Example of time sharing OS: Multics, UNIX , Linux, TOPS-20 (DEC), Windows NT server
22. Time Sharing Operating Systems
Advantages of Time Sharing OS:
Increased Efficiency – Time-sharing allows multiple users to access the same computer simultaneously,
making it possible for them to complete tasks more efficiently.
Reduced Cost – Time-sharing can be a cost-effective solution for businesses and organizations as it allows
them to maximize the use of their computer resources. Rather than investing in multiple computers for
each user, they can share a single computer with several users.
Improved Resource Utilization – With a time-sharing operating system, resources such as CPU time and
memory are allocated dynamically, based on the needs of each user. This ensures that resources are used
efficiently and that users are not wasting valuable system resources.
23. Time Sharing Operating Systems
Disadvantages of Time Sharing OS:
Slow Performance – When multiple users are logged into the same system at once, the computer’s
resources have to be divided up to support each user’s tasks. This can lead to slower performance overall,
as the computer struggles to keep up with all the requests.
System Crashes – With so many users accessing the system at once, there is a greater risk of system crashes
and failures. If one user’s program encounters an error or a bug, it could cause the entire system to crash,
affecting all the other users as well.
Limited Resources – Because a TSOS needs to allocate resources to multiple users at once, there may be
limitations on how much memory or storage each user can access. This can be frustrating for users who
need more resources to complete their tasks.
24. Distributed Operating Systems
Distributed systems use multiple central processors to serve multiple real-time applications and multiple
users. Data processing jobs are distributed among the processors accordingly.
The processors communicate with one another through various communication lines (such as high-speed
buses or telephone lines). These are referred as loosely coupled systems or distributed systems. Processors
in a distributed system may vary in size and function. These processors are referred as sites, nodes,
computers, and so on. Examples of Distributed Operating Systems are LOCUS, etc.
There are various types of Distributed Operating systems. Some of them are as follows:
Client-Server Systems
Peer-to-Peer Systems
Middleware
Three-tier and N-tier
26. Distributed Operating Systems
Advantages of Distributed Operating Systems:
With resource sharing facility, a user at one site may be able to use the resources available at another.
Speedup the exchange of data with one another via electronic mail.
If one site fails in a distributed system, the remaining sites can potentially continue operating.
Better service to the customers.
Reduction of the load on the host computer. Reduction of delays in data processing.
It reduces the probability of data corruption because all data is replicated across all sites; if one site fails,
the user can access data from another operational site.
27. Distributed Operating Systems
Disadvantages of Distributed Operating Systems:
Failure of the main network will stop the entire communication.
To establish distributed systems the language is used not well-defined yet.
These types of systems are not readily available as they are very expensive. Not only that the underlying
software is highly complex and not understood well yet.
28. Network Operating Systems
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.
Its primary purpose is to provide a platform for sharing resources, such as files, printers, and applications,
and to ensure efficient and secure communication between devices in the network.
Examples of Network Operating Systems are Microsoft Windows Server 2003, Microsoft Windows Server
2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD, etc.
Network Operating Systems can be broadly categorized into two types:
Peer-to-Peer
Client-Server
30. Network Operating Systems
Advantages of Network Operating Systems:
Centralized servers are highly stable.
Security is server managed.
Network traffic reduces due to the division of work among clients and the server.
Upgrades to new technologies and hardware can be easily integrated into the system.
Remote access to servers is possible from different locations and types of systems.
31. Network Operating Systems
Disadvantages of Network Operating Systems:
High cost of buying and running a server.
Dependency on a central location for most operations.
Regular maintenance and updates are required.
32. Real Time Operating Systems
A real-time system is defined as a data processing system in which the time interval required to process and
respond to inputs is so small that it controls the environment. The time taken by the system to respond to
an input and display of required updated information is termed as the response time. So in this method,
the response time is very less as compared to online processing.
Real-time systems are used when there are time requirements that are very strict like missile systems, air
traffic control systems, robots, etc.
Examples of Real-Time Operating Systems are Scientific experiments, medical imaging systems, industrial
control systems, weapon systems, robots, air traffic control systems, etc.
34. Real Time Operating Systems
Types of Real-Time Operating Systems:
Hard Real-Time Systems: Hard Real-Time OSs are meant for applications where time constraints are very
strict and even the shortest possible delay is not acceptable. These systems are built for saving life like
automatic parachutes or airbags which are required to be readily available in case of an accident. Virtual
memory is rarely found in these systems.
Soft Real-Time Systems: Soft real-time systems are less restrictive. A critical real-time task gets priority over
other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard
real-time systems. For example, multimedia, virtual reality, Advanced Scientific Projects like undersea
exploration and planetary rovers, etc.