Professional Documents
Culture Documents
Introduction of Operating System
Introduction of Operating System
Ajay Chakravarty
Verified & forwarded by the Principal: Name & Signature with Date
Annexure-II
GENDER Male
E MAIL ID ajayc.computers@tmu.ac.in
TMU Moradabad
UNIVERSITY NAME
NO. OF PAGES 20
Introduction of
Operating system
3
Introduction of Operating System
An operating system acts as an intermediary between the user of a computer and
computer hardware. The purpose of an operating system is to provide an
environment in which a user can execute programs conveniently and efficiently.
An operating system is software that manages computer hardware. The hardware
must provide appropriate mechanisms to ensure the correct operation of the
computer system and to prevent user programs from interfering with the proper
operation of the system. A more common definition is that the operating system is
the one program running at all times on the computer (usually called the kernel),
with all else being application programs.
An operating system is concerned with the allocation of resources and services,
such as memory, processors, devices, and information. The operating system
correspondingly includes programs to manage these resources, such as a traffic
controller, a scheduler, a memory management module, I/O programs, and a file
system.
4. 1969: Unix
- Unix, developed at AT&T Bell Labs by Ken Thompson, Dennis Ritchie, and
others, is one of the most influential operating systems in history. It introduced
4
many concepts like file hierarchy, the shell, and the use of text files for
configuration.
10 Recent Developments
- In recent years, containerization technologies like Docker and Kubernetes have
gained prominence, providing new ways to manage and deploy applications across
different environments.
5
Characteristics of Operating Systems
Operating systems (OS) are complex software that manage and control computer
hardware and provide a platform for running applications. They exhibit a range of
characteristics that define their functionality and role in computing. Here are some
key characteristics of operating systems:
6
9. Security: OSes implement security features such as user authentication, access
control lists, and encryption to protect data and system integrity. They also monitor
and respond to security threats.
10. Error Handling: Operating systems detect and handle hardware and
software errors to prevent system crashes and data corruption. They often log errors
for troubleshooting and debugging.
11. User Interface: Most OSes provide a user interface, which can be command-
line-based (CLI) or graphical (GUI), to interact with the system. GUIs are common
in desktop and mobile operating systems.
15. Upgradability and Maintenance: OSes can be updated and patched to fix
security vulnerabilities and add new features. This ensures that the system remains
current and secure.
17. Modularity: Some OSes are designed with a modular architecture, allowing
users to add or remove components as needed to customize the system's
functionality.
7
Functionalities of Operating System
Resource Management: When parallel accessing happens in the OS means when
multiple users are accessing the system the OS works as Resource Manager, Its
responsibility is to provide hardware to the user. It decreases the load in the system.
Storage Management: The file system mechanism used for the management of
the storage. NIFS, CIFS, CFS, NFS, etc. are some file systems. All the data is
stored in various tracks of Hard disks that are all managed by the storage manager.
It included Hard Disk.
8
Every computer must have an operating system to run other programs. The
operating system coordinates the use of the hardware among the various system
programs and application programs for various users. It simply provides an
environment within which other programs can do useful work.
The operating system is a set of special programs that run on a computer system
that allows it to work properly. It performs basic tasks such as recognizing input
from the keyboard, keeping track of files and directories on the disk, sending output
to the display screen, and controlling peripheral devices.
9
Types of Operating Systems
There are several types of Operating Systems which are mentioned below.
• Batch Operating System
• Multi-Programming System
• Multi-Processing System
• Multi-Tasking Operating System
• Time-Sharing Operating System
• Distributed Operating System
• Network Operating System
• Real-Time Operating System
10
during job execution, the system must log them and possibly take corrective
actions.
Efficiency: Batch systems are designed for maximum resource utilization and
efficiency. They aim to minimize idle time on the computer system by continuously
processing jobs in the queue.
Limited User Interaction: While batch systems are not designed for user
interaction during job execution, they often provide means for users to monitor the
progress of their jobs and receive job completion notifications.
Historical Significance: Batch operating systems were prevalent in the early days
of computing when computers were expensive and processing was slow. They
allowed organizations to automate repetitive tasks and optimize resource
utilization.
11
Automated Processing: Batch systems automate the execution of jobs, reducing
the need for constant user intervention. This is particularly useful for tasks that can
be scheduled to run during non-peak hours.
Error Handling: Batch systems often include robust error-handling mechanisms.
They can log errors, generate error reports, and take predefined actions when errors
occur during job execution.
Resource Allocation: The operating system can allocate resources to jobs based
on priority and requirements, ensuring that critical jobs receive the necessary
resources for timely execution.
12
Advantages of Multi-Programming Operating Systems:
13
processes. Issues like race conditions and synchronization errors can be hard to
identify and resolve.
14
Advantages:
Improved Performance: The primary advantage of multi-processing operating
systems is improved performance. By distributing the workload across multiple
processors or cores, these systems can execute tasks more quickly and handle a
higher number of concurrent processes.
Considerations:
Software Compatibility: Not all software applications are optimized for multi-
processing. Some older or poorly designed applications may not fully utilize the
available CPU cores.
Characteristics:
Time Slicing: Time-sharing OSes divide CPU time into small time slices, typically
in the range of milliseconds. Each user or process is allocated a time slice during
which it can execute its instructions. Once the time slice expires, the OS switches
to the next user or process in a round-robin fashion.
Resource Allocation: The OS must manage and allocate resources, such as CPU
time, memory, and I/O devices, fairly among competing users and processes.
Resource management and scheduling algorithms are essential for efficient time
sharing.
16
Advantages:
Considerations:
Overhead: Context switching and managing time slices introduce some overhead,
which can impact overall system performance. Careful design and optimization are
required to minimize this overhead.
17
Distributed Operating System
A distributed operating system is an operating system that runs on multiple
interconnected computers and provides a seamless, unified computing environment
for users and applications across a network or a distributed computing
environment. Unlike traditional single-machine operating systems, distributed
operating systems manage and coordinate resources, processes, and data across
multiple machines, allowing for increased scalability, fault tolerance, and resource
sharing. Here are some key characteristics, advantages, and considerations related
to distributed operating systems:
Characteristics:
Location Transparency: Users and applications can access resources and services
without needing to be aware of their physical locations. This simplifies resource
access and management.
18
Advantages:
Considerations:
19
Interoperability: Compatibility and interoperability issues may arise when
different machines or platforms with varying hardware and software configurations
are part of the distributed system.
Task Scheduling: Real-time operating systems use task scheduling algorithms that
prioritize tasks based on their importance and deadlines. Tasks are scheduled to
run at specific times or in response to external events.
Low Latency: RTOSs aim to minimize system response times and provide low-
latency communication between tasks or processes. This is crucial for applications
that require rapid responses.
Hard and Soft Real-Time: RTOSs can be categorized into hard real-time and soft
real-time systems. Hard real-time systems have strict and unalterable timing
requirements, while soft real-time systems prioritize meeting deadlines but can
tolerate occasional delays.
20
Advantages:
High Reliability: Real-time systems are designed for high reliability and fault
tolerance, making them suitable for critical applications where failure is not an
option.
Testing and Verification: Rigorous testing and verification processes are essential
to ensure that real-time systems meet their timing constraints and operate reliably.
Portability: Real-time applications developed for one RTOS may not be easily
portable to another, as the timing behavior and APIs can vary significantly between
RTOSs.
21
Common examples of real-time operating systems include VxWorks, QNX,
FreeRTOS, and RTEMS. These systems are widely used in various industries
where precise timing and reliability are critical for the success of applications.
• Program execution
• Input Output Operations
• Communication between Process
• File Management
• Memory Management
• Process Management
• Secuirity and Privacy
• Resource Management
• User Interface
• Networking
• Error handling
• Time Management
Program Execution
It is the Operating System that manages how a program is going to be executed. It
loads the program into the memory after which it is executed. The order in which
they are executed depends on the CPU Scheduling Algorithms. A few are FCFS,
SJF, etc. When the program is in execution, the Operating System also handles
deadlock i.e. no two processes come for execution at the same time. The Operating
System is responsible for the smooth execution of both user and system programs.
The Operating System utilizes various resources available for the efficient running
of all types of functionalities.
Input Output Operations
Operating System manages the input-output operations and establishes
communication between the user and device drivers. Device drivers are software
that is associated with hardware that is being managed by the OS so that the sync
between the devices works properly. It also provides access to input-output devices
to a program when needed.
22
Communication between Processes
The Operating system manages the communication between processes.
Communication between processes includes data transfer among them. If the
processes are not on the same computer but connected through a computer network,
then also their communication is managed by the Operating System itself.
File Management
The operating system helps in managing files also. If a program needs access to a
file, it is the operating system that grants access. These permissions include read-
only, read-write, etc. It also provides a platform for the user to create, and delete
files. The Operating System is responsible for making decisions regarding the
storage of all types of data or files, i.e, floppy disk/hard disk/pen drive, etc. The
Operating System decides how the data should be manipulated and stored.
Memory Management
Let’s understand memory management by OS in simple way. Imagine a cricket
team with limited number of player . The team manager (OS) decide whether the
upcoming player will be in playing 11 ,playing 15 or will not be included in team
, based on his performance . In the same way, OS first check whether the upcoming
program fulfil all requirement to get memory space or not ,if all things good, it
checks how much memory space will be sufficient for program and then load the
program into memory at certain location. And thus , it prevents program from using
unnecessary memory.
Process Management
Let’s understand the process management in unique way. Imagine, our kitchen
stove as the (CPU) where all cooking(execution) is really happen and chef as the
(OS) who uses kitchen-stove(CPU) to cook different dishes(program). The
chef(OS) has to cook different dishes(programs) so he ensure that any particular
dish(program) does not take long time(unnecessary time) and all dishes(programs)
gets a chance to cooked(execution) .The chef(OS) basically scheduled time for all
dishes(programs) to run kitchen(all the system) smoothly and thus cooked(execute)
all the different dishes(programs) efficiently.
References:
https://www.os-book.com/OS8/os8c/slide-dir/index.html
https://www.geeksforgeeks.org/
24