An operating system is a software package that runs applications and serves as a
communication link (interface) between the computer hardware and the user. The
purpose of an operating system is to provide a platform on which a user can
execute programs conveniently and efficiently.
The main goal of the Operating System is to make the computer environment more
convenient to use and the Secondary goal is to use the resources most efficiently.
Also, an operating system is a software which performs all the basic tasks like file
management, memory management, storage management, process management,
handling input and output, and controlling peripheral devices such as disk drives
and printers.
Why are Operating Systems Used?
Operating System is used as a communication channel between the Computer
hardware and the user. It works as an intermediate between System Hardware and
End-User. Operating System handles the following responsibilities:
• It controls all the computer resources.
• It provides valuable services to user programs.
• It coordinates the execution of user programs.
• It provides resources for user programs.
• It provides an interface (virtual machine) to the user.
• It hides the complexity of software.
• It supports multiple execution modes.
• It monitors the execution of user programs to prevent errors
Functions of an Operating System
Memory Management
The operating system manages the Primary Memory or Main Memory. Main
memory is made up of a large array of bytes or words where each byte or word is
assigned a certain address. Main memory is fast storage and it can be accessed
directly by the CPU. For a program to be executed, it should be first loaded in the
main memory. An operating system manages the allocation and deallocation of the
memory to various processes and ensures that the other process does not
consume the memory allocated to one process.An Operating System performs the
following activities for Memory Management:
• It keeps track of primary memory, i.e., which bytes of memory are used by which
user program. The memory addresses that have already been allocated and the
memory addresses of the memory that has not yet been used.
• In multiprogramming, the OS decides the order in which processes are granted
memory access, and for how long.
• It Allocates the memory to a process when the process requests it and deallocates
the memory when the process has terminated or is performing an I/O operation.
Processor Management
In a multi-programming environment, the OS decides the order in which processes
have access to the processor, and how much processing time each process has. This
function of OS is called Process Scheduling. An Operating System performs the
following activities for Processor Management.
An operating system manages the processors work by allocating various jobs to it
and ensuring that each process receives enough time from the processor to
function properly.
Keeps track of the status of processes. The program which performs this task is
known as a traffic controller. Allocates the CPU that is a processor to a process. De-
allocates processor when a process is no more required.
Device Management
An OS manages device communication via its respective drivers. It performs the
following activities for device management. Keeps track of all devices connected to
the system. designates a program responsible for every device known as the
Input/Output controller. Decides which process gets access to a certain device and
for how long. Allocates devices effectively and efficiently. Deallocates devices when
they are no longer required. There are various input and output devices. an OS
controls the working of these input-output devices .It receives the requests from
these devices, performs a specific task, and communicates back to the requesting
process.
File Management
A file system is organized into directories for efficient or easy navigation and usage.
These directories may contain other directories and other files. An Operating
System carries out the following file management activities. It keeps track of where
information is stored, user access settings, the status of every file, and more. These
facilities are collectively known as the file system. An OS keeps track of information
regarding the creation, deletion, transfer, copy, and storage of files in an organized
way. It also maintains the integrity of the data stored in these files, including the
file directory structure, by protecting against unauthorized access.
User Interface or Command Interpreter
The user interacts with the computer system through the operating system. Hence
OS act as an interface between the user and the computer hardware. This user
interface is offered through a set of commands or a graphical user interface (GUI).
Through this interface, the user makes interaction with the applications and the
machine hardware.
Booting the Computer
The process of starting or restarting the computer is known as booting. If the
computer is switched off completely and if turned on then it is called cold booting.
Warm booting is a process of using the operating system to restart the computer.
Security
The operating system uses password protection to protect user data and similar
other techniques. it also prevents unauthorized access to programs and user
data. The operating system provides various techniques which assure the integrity
and confidentiality of user data. Following security measures are used to protect
user data:
• Protection against unauthorized access through login.
• Protection against intrusion by keeping firewall active.
• Protecting the system memory against malicious access.
• Displaying messages related to system vulnerabilities.
Job Accounting
The operating system Keeps track of time and resources used by various tasks and
users, this information can be used to track resource usage for a particular user or
group of users. In a multitasking OS where multiple programs run simultaneously,
the OS determines which applications should run in which order and how time
should be allocated to each application.
Error-Detecting Aids
The operating system constantly monitors the system to detect errors and avoid
malfunctioning computer systems. From time to time, the operating system checks
the system for any external threat or malicious software activity. It also checks the
hardware for any type of damage. This process displays several alerts to the user
so that the appropriate action can be taken against any damage caused to the
system/
Coordination Between Other Software and Users
Operating systems also coordinate and assign interpreters, compilers, assemblers,
and other software to the various users of the computer systems.
Performs Basic Computer Tasks
The management of various peripheral devices such as the mouse, keyboard, and
printer is carried out by the operating system. Today most operating systems are
plug-and-play. These operating systems automatically recognize and configure the
devices with no user interference.
Network Management
The OS provides network connectivity and manages communication between
computers on a network. It also manages network security by providing firewalls
and other security measures.
Services Provided by an Operating System
The Operating System provides certain services to the users which can be listed in
the following manner:
• Program Execution: The Operating System is responsible for the execution of all
types of programs whether it be user programs or system programs. The Operating
System utilizes various resources available for the efficient running of all types of
functionalities.
• Handling Input/Output Operations: The Operating System is responsible for
handling all sorts of inputs, i.e., from the keyboard, mouse, desktop, etc. The
Operating System does all interfacing most appropriately regarding all kinds of
Inputs and Outputs.
For example, there is a difference between all types of peripheral devices such as
mice or keyboards, the Operating System is responsible for handling data between
them.
• Manipulation of File System: 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.
• Error Detection and Handling: The Operating System is responsible for the
detection of any type of error or bugs that can occur while any task. The well-
secured OS sometimes also acts as a countermeasure for preventing any sort of
breach of the Computer System from any external source and probably handling
them.
• Resource Allocation: The Operating System ensures the proper use of all the
resources available by deciding which resource to be used by whom for how much
time. All the decisions are taken by the Operating System.
• Accounting: The Operating System tracks an account of all the functionalities
taking place in the computer system at a time. All the details such as the types of
errors that occurred are recorded by the Operating System.
• Information and Resource Protection: The Operating System is responsible for
using all the information and resources available on the machine in the most
protected way. The Operating System must foil an attempt from any external
resource to hamper any sort of data or information.
• System Services: The operating system provides various system services, such as
printing, time and date management, and event logging.
All these services are ensured by the Operating System for the convenience of the
users to make the programming task easier. All different kinds of Operating Systems
more or less provide the same services.
Characteristics of Operating System
• Virtualization: Operating systems can provide Virtualization capabilities, allowing
multiple operating systems or instances of an operating system to run on a single
physical machine. This can improve resource utilization and provide isolation
between different operating systems or applications.
• Networking: Operating systems provide networking capabilities, allowing the
computer system to connect to other systems and devices over a network. This can
include features such as network protocols, network interfaces, and network
security.
• Scheduling: Operating systems provide scheduling algorithms that determine the
order in which tasks are executed on the system. These algorithms prioritize tasks
based on their resource requirements and other factors to optimize system
performance.
• Interprocess Communication: Operating systems provide mechanisms for
applications to communicate with each other, allowing them to share data and
coordinate their activities.
• Performance Monitoring: Operating systems provide tools for monitoring system
performance, including CPU usage, memory usage, disk usage, and network
activity. This can help identify performance bottlenecks and optimize system
performance.
• Backup and Recovery: Operating systems provide backup and recovery
mechanisms to protect data in the event of system failure or data loss.
• Debugging: Operating systems provide debugging tools that allow developers to
identify and fix software bugs and other issues in the system.