OSand Types
OSand Types
What is an Operating
System?
• An operating system (OS) is a set of programs
that controls and supervises computer hardware
and software. Furthermore, OS is a software
which performs all the basic tasks like file
management, memory management, process
management, handling input and output, and
controlling peripheral devices such as disk drives
and printers.
Architecture
Why use an OS?
• Without an operating system, every application would need
to include its own UI, as well as the comprehensive code
needed to handle all low-level functionality of the underlying
computer, such as disk storage, network interfaces and so on.
Considering the vast array of underlying hardware available,
this would vastly bloat the size of every application and make
software development impractical.
• As long as each application accesses the same resources and
services in the same way, that system software -- the
operating system -- can service almost any number of
applications.
Functions of an OS
An operating system provides three essential
capabilities:
• It offers a UI through a CLI or GUI
• It launches and manages the application
execution
• It identifies and exposes system hardware
resources to those applications -- typically,
through a standardized API.
CLI(Command Line Interface)
Command Line Interface (CLI):
• The CLI terminal accepts the commands that the user types and passes to a
shell. The shell then receives and interprets what the user has typed into
the instructions that can be executed by the OS (Operating System).
GUI(Graphical User Interface)
Graphical User Interface (GUI):
• The GUI, or desktop, provides a visual interface based on icons and symbols
where users rely on gestures delivered by human interface devices, such as
touchpads, touchscreens and mouse devices.
• The GUI is most frequently used by casual or end users that are primarily
interested in manipulating files and applications, such as double-clicking a
file icon to open the file in its default application.
• In Graphical Mode (GUI), we can have many shells open, it is a good thing
when we are performing some tasks on multiple/remote computers. We
can even log in with our username/id and password/keys through the GUI.
Exaxmples of OS
Types of OS
Batch OS:
This type of operating system does not interact with the computer directly.
There is an operator which takes similar jobs having the same requirement
and groups them into batches. It is the responsibility of the operator to sort
jobs with similar needs.
Advantages of Batch Operating System
• It is very difficult to guess or know the time required for any job to complete. Processors of the
batch systems know how long the job would be when it is in the queue.
• Multiple users can share the batch systems.
• The idle time for the batch system is very less.
• It is easy to manage large work repeatedly in batch systems
• There is not any facility for user interaction of system resources with the
system.
Multi-processing OS:
• Multi-Processing Operating System is a type of Operating System in
which more than one CPU is used for the execution of resources. It
betters the throughput of the System.
Each task is given some time to execute so that all the tasks work smoothly. Each user gets
the time of the CPU as they use a single system. These systems are also known as
Multitasking Systems. The task can be from a single user or different users also. The time
that each task gets to execute is called quantum. After this time interval is over OS switches
over to the next task.
Advantages of Time-Sharing OS
• Each task gets an equal opportunity.
• Fewer chances of duplication of software.
• CPU idle time can be reduced.
• Resource Sharing: Time-sharing systems allow multiple users to share
hardware resources such as the CPU, memory, and peripherals, reducing
the cost of hardware and increasing efficiency.
• Improved Productivity: Time-sharing allows users to work concurrently,
thereby reducing the waiting time for their turn to use the computer. This
increased productivity translates to more work getting done in less time.
• Improved User Experience: Time-sharing provides an interactive
environment that allows users to communicate with the computer in real
time, providing a better user experience than batch processing.
Disadvantages of Time-Sharing OS
• Reliability problem.
• One must have to take care of the security and integrity of user
programs and data.
• Data communication problem.
• High Overhead: Time-sharing systems have a higher overhead than
other operating systems due to the need for scheduling, context
switching, and other overheads that come with supporting multiple
users.
• Complexity: Time-sharing systems are complex and require advanced
software to manage multiple users simultaneously. This complexity
increases the chance of bugs and errors.
• Security Risks: With multiple users sharing resources, the risk of
security breaches increases. Time-sharing systems require careful
management of user access, authentication, and authorization to
ensure the security of data and software.
Distributed OS:
The Distributed Operating system is not installed on a single machine, it is divided into parts, and
these parts are loaded on different machines. A part of the distributed Operating system is
installed on each machine to make their communication possible. Distributed Operating systems
are much more complex, large, and sophisticated than Network operating systems because they
also have to take care of varying networking protocols.
Advantages of Distributed Operating System
• Failure of one will not affect the other network communication, as all systems are
independent of each other.
• Electronic mail increases the data exchange speed.
• Since resources are being shared, computation is highly fast and durable.
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.
• De-allocates the memory when a process no longer needs it or has been terminated.
Memory Structure:
Processor Management:
• Decides which process gets the device when and for how much
time.
• De-allocates devices.
File management:
File Management
Following are some of the important activities that an Operating System performs −
• 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.