OS Docs

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

Multiprogrammed, batched systems provide an environment where various system

resources were used effectively, but it did not provide for user interaction with computer
systems. Time-sharing is a logical extension of multiprogramming. The CPU performs many
tasks by switches that are so frequent that the user can interact with each program while it is
running. A time-shared operating system allows multiple users to share computers
simultaneously. With each action or order at a time the shared system becomes smaller, so
only a little CPU time is required for each user. As the system rapidly switches from one user
to another, each user is given the impression that the entire computer system is dedicated to
its use, although it is being shared among multiple users.

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, time slot, or
quantum. It is typically of the order of 10 to 100 milliseconds. Time-shared operating
systems are more complex than multiprogrammed operating systems. In both, multiple jobs
must be kept in memory simultaneously, so the system must have memory management and
security. To achieve a good response time, jobs may have to swap in and out of disk from
the main memory which now serves as a backing store for the main memory. A common
method to achieve this goal is virtual memory, a technique that allows the execution of a job
that may not be completely in memory.

In the above figure the user 5 is active state but user 1, user 2, user 3, and user 4 are in a
waiting state whereas user 6 is in a ready state.

1. Active State – The user’s program is under the control of the CPU. Only one
program is available in this state.
2. Ready State – The user program is ready to execute but it is waiting for its turn to
get the CPU. More than one user can be in a ready state at a time.
3. Waiting State – The user’s program is waiting for some input/output operation.
More than one user can be in a waiting state at a time.

Advantages
1. Each task gets an equal opportunity.
2. Fewer chances of duplication of software.
3. CPU idle time can be reduced.
Disadvantages
1. Reliability problem.
2. One must take care of the security and integrity of user programs and data.
3. Data communication problem.

Batch processing operating system:

The Batch operating system is a real-time operating system designed for batch processing.
It features a modular architecture, which allows for the addition of new modules without
affecting the existing codebase.

A batch processing operating system (bpos) is a computer operating system that processes
large amounts of data in batches. This type of system is typically used by businesses and
organizations that need to process large amounts of data quickly and efficiently. Batch
processing systems are generally faster and more efficient than traditional interactive
systems, which can make them ideal for businesses that need to process large amounts of
data on a regular basis.

Features of BPOS:

Batch OS is an operating system designed specifically for batch processing. It includes a


command line interface, a library for scheduling tasks, and a user interface for managing
tasks. Batch OS is designed to simplify the process of managing and scheduling tasks
across a network of computers.

Batch OS includes a library for scheduling tasks. This library allows tasks to be scheduled in
a hierarchical manner, which makes it easy to manage and schedule tasks across a network
of computers. The user interface allows users to view and manage tasks in a graphical
manner.

Batch OS is designed to simplify the process of managing and scheduling tasks. It includes
a command line interface, a library for scheduling tasks, and a user interface for managing
tasks. Batch OS is designed to simplify the process of managing and scheduling tasks
across a network of computers.

Working: The Batch operating system is a new, open-source operating system that is being
developed by the Berkeley Open Infrastructure for Network Computing (BOINC) project.
Batch is a modular operating system that can be assembled from smaller pieces, allowing it
to be customized to specific needs.

The Batch project is led by Berkeley computer scientist Pieter Abbeel, who is also the
project’s primary code contributor. The batch is designed to be lightweight and efficient and
is intended to be used primarily in grid computing environments.

The Batch project is currently in the development stage, and there is still a lot of work to be
done before the operating system is ready for use. However, progress has been made in
recent months, and the project is expected to be completed within the next year.

There are many types of batch operating systems. One popular type is the scheduled batch
system. This type of system is used to control the execution of a series of tasks or jobs.
Other types of batch systems include the interactive batch system, the real-time batch
system, and the concurrent batch system.

The advantages of batch processing operating systems include:

1. Efficient use of resources: Batch processing operating systems allow for the
efficient use of computing resources, as jobs are processed in batches and
scheduled to run when resources are available.
2. High throughput: Batch processing operating systems can process a large
number of jobs quickly, allowing for high throughput and fast turnaround times.
3. Reduced errors: As batch processing operating systems do not require user
intervention, they can help reduce errors that may occur during manual job
processing.
4. Simplified job management: Batch processing operating systems simplify job
management by automating job submission, scheduling, and execution.
5. Cost-effective: Batch processing operating systems can be cost-effective, as they
allow for the efficient use of resources and can help reduce errors and processing
time.
6. Scalability: Batch processing operating systems can easily handle a large number
of jobs, making them scalable for large organizations that require high-volume
data processing.

Disadvantages:

There are many disadvantages to using batch operating systems, including:

● Limited functionality: Batch systems are designed for simple tasks, not for more
complex tasks. This can make them difficult to use for certain tasks, such as
managing files or software.
● Security issues: Because batch systems are not typically used for day-to-day
tasks, they may not be as secure as more common operating systems. This can
lead to security risks if the system is used by people who should not have access
to it.
● Interruptions Batch systems can be interrupted frequently, which can lead to
missed deadlines or mistakes.
● Inefficiency: Batch systems are often slow and difficult to use, which can lead to
inefficiency in the workplace.

A real-time operating system (RTOS) is an operating system that is used in computing


systems that needs strict completion deadlines for all the tasks that need to be performed on
it.

Here the system is connected to an external event, whenever that event is completed a
signal is sent to the system with the help of a sensor. Now that signal is communicated to the
system as an interrupt. After the operating system receives an interrupt, it initiates a process
that is associated with it. Once the interrupt is completed, the operating system handles the
power back to the CPU. Now since all this is happening in real-time and there's a need for a
quick response from the system speed is very important here.

The Real-Time Operating System is of three types:

1. Hard Real-Time Operating System:

A hard real-time operating system is used when we need to complete tasks by a given
deadline. If the task is not completed on time then the system is considered to be failed.
For example, the pacemaker. A pacemaker has flexible, insulated wires (leads) that are
placed in one or more chambers of the heart. These wires deliver electrical pulses to adjust
the heart rate. And these wires require a hard real-time operating system.

2. Soft Real-Time Operating System

A soft real-time operating system is used where few delays in time duration are acceptable.
That is if the given task is taking a few seconds more than the specified time then also no
critical damage takes place.

For example,, telephone switches, the sending or receiving of the call can take some time. It
will not be considered a failure.

3. Firm Real-Time Operating System

A firm real-time operating system lies between the hard and soft real-time operating system.
A firm real-time system is one in which a few missed deadlines will not lead to total failure,
but missing more than a few may lead to complete or catastrophic system failure. However,
unlike a hard real-time task, even if a firm real-time task is not completed within its deadline,
the system doesn’t fail but the late results are merely discarded.

The important features of RTOS are:

● The response time of RTOS is highly predictable. That is we can guess the time
system will take to complete the task.
● All the interrupt requests go to the Kernel. The kernel is responsible for making all the
decisions.
● Kernel saves the state of each task and decides which task to execute next. Task
management and task scheduling are done by the kernel.
● After the interrupt task is executed, the kernel gives control back to the CPU. Then
CPU carries on with other processes.
● RTOS occupies very little space. Since the size of programs used in RTOS is small.
● RTOS consumes very less resources. Since maximum utilization of resources
(memory, registers, clocks, etc.) happens in RTOS, we can also start our system with
fewer resources.

Factors for Selecting an RTOS


A few factors to be considered while selecting RTOS are:

1. Security Since the real-time application needs to be connected to the internet most of the
time, security becomes the most important factor in selecting RTOS.

2. Environment It's very important to check whether the RTOS that we are using goes well
with our other systems. We should consider the latest RTOS with good support features.

3. Features Before selecting an RTOS, it is advised to look into all of its specifications. Like
memory allocations, resources required, number of tasks to be processed, etc., and should
select the one which matches our requirements.

4. Middleware In order to integrate the RTOS into our present system, we need some
middleware. Middleware is software that lies between an operating system and the
applications running on it. Thus good middleware can save our time and make the
integration fast.

5. Performance Since RTOS is all about real-time application performance becomes a very
important criterion it. The better the performance, the better the system.

Some popular real-life examples of RTOS are:

● PCOS: RTOS is widely used in embedded applications and PCOS is one example of
embedded RTOS.
● RT Linux: RT Linux stands for Real-time Linux. It operates on a Linux system. The
real-time operating system is used between the Linux system and the hardware.
● Lynx: Lynx is a microkernel-based RTOS that is fully Linux-compatible, a Linux
program’s binary image can be effectively run on Lynx.

A few advantages of a Real-time operating system are:

● Easy to use: It is easy to develop and execute real-time applications in real-time


operating systems. Since it allows to break complex problems into multiple simple
tasks that are easy to define and process.
● Optimal Resource Utilization: Due to good resource management of the RTOS
system by Kernel, resources like devices and systems are utilized most efficiently.
● Less space requirement: The real-time systems are very compact thus they need
very less space.
● Used in Embedded System: Since the Real-time systems are compact in size they
can easily be used in the embedded systems.
● Error Free: The real-time systems are usually error-free since the RTOS error
manager, EM(), is called whenever an error is detected by an RTOS service or by the
RTOS itself.

A few disadvantages of a Real-time operating system are:

● Costly: The hardware requirements like device drivers are a bit expensive.
● Complex: The algorithms and programs used in real-time systems are complex.
● Limited Tasks: The tasks or programs that real-time systems can process at a given
time are limited.

What is a Distributed Operating System?


In a Distributed OS, multiple CPUs are utilized, but for end-users, it appears as a typical
centralized operating system. It enables the sharing of various resources such as CPUs,
disks, network interfaces, nodes, and computers across different sites, thereby expanding
the available data within the entire system.

Effective communication channels like high-speed buses and telephone lines connect all
processors, each equipped with its own local memory and other neighboring processors.
Due to its characteristics, a distributed operating system is classified as a loosely coupled
system. It encompasses multiple computers, nodes, and sites, all interconnected through
LAN/WAN lines. The ability of a Distributed OS to share processing resources and I/O files
while providing users with a virtual machine abstraction is an important feature.

There are three types of Distributed Operating System.


1. Client-Server Systems

This strongly connected operating system is appropriate for multiprocessors and


homogenous multicomputer. It functions as a centralized server, handling and approving all
requests originating from client systems.

2. Peer-to-Peer Systems

Peer-to-Peer System is loosely coupled system is implemented in computer network


applications, consisting of multiple processors without shared memories or clocks. Each
processor possesses its own local memory, and communication between processors occurs
through high-speed buses or telephone lines.

3. Middleware

Middleware facilitates interoperability among applications running on different operating


systems. By employing these services, applications can exchange data with each other,
ensuring distribution transparency.

4. Three-Tier

Development is made easier because client data is saved in the intermediate tier rather than
the client itself. Online applications are where this kind of architecture is most frequently
found.

5. N-Tier

N-tier systems are utilized when a server or application has to send requests to other
corporate services over a network.

Below are some Examples of Distributed Operating System.

● Solaris: The SUN multiprocessor workstations are the intended use for it.
● OSF/1: The Open Foundation Software Company designed it, and it works with
Unix.
● Micros: All nodes in the system are assigned work by the MICROS operating
system, which also guarantees a balanced data load.
● DYNIX: It is created for computers with many processors, known as Symmetry.
● Locus: It can be viewed simultaneously from both local and distant files without
any location restrictions.
● Mach: It permits the features of multitasking and multithreading.

Security in Distributed Operating system


Protection and security are crucial aspects of a Distributed Operating System, especially in
organizational settings. Measures are employed to safeguard the system from potential
damage or loss caused by external sources. Various security measures can be
implemented, including authentication methods such as username/password and user key.
One Time Password (OTP) is also commonly utilized in distributed OS security applications.

Below are some Advantages of Distributed Operating System.

● It can increase data availability throughout the system by sharing all resources
(CPU, disk, network interface, nodes, computers, and so on) between sites.
● Because all data is replicated across all sites, it reduces the probability of data
corruption because users can access data from another operating site in the
event that one site fails.
● Data transfer from one site to another is accelerated by it.
● Since it may be accessible from both local and remote sites, it is an open system.
● It facilitates a reduction in the time needed to process data.
● The majority of distributed systems are composed of multiple nodes that work
together to provide fault tolerance. Even if one machine malfunctions, the system
still functions.

Below are some Disadvantages of Distributed Operating System.

● Which tasks need to be completed, when they need to be completed, and where
they need to be completed must be determined by the system. The restrictions of
a scheduler might result in unpredictable runtimes and unused hardware.
● Since the nodes and connections in DOS need to be secured, it is challenging to
establish sufficient security.
● Comparing a DOS-connected database to a single-user system, the latter is
easier to maintain and less complex.
● Compared to other systems, the underlying software is incredibly sophisticated
and poorly understood.

Handheld Operating System:


Handheld operating systems are available in all handheld devices like Smartphones and
tablets. It is sometimes also known as a Personal Digital Assistant. The popular handheld
device in today’s world is Android and iOS. These operating systems need a
high-processing processor and are also embedded with various types of sensors.
Some points related to Handheld operating systems are as follows:

1. Since the development of handheld computers in the 1990s, the demand for
software to operate and run on these devices has increased.
2. Three major competitors have emerged in the handheld PC world with three
different operating systems for these handheld PCs.
3. Out of the three companies, the first was the Palm Corporation with their
PalmOS.
4. Microsoft also released what was originally called Windows CE. Microsoft’s
recently released operating system for the handheld PC comes under the name
of Pocket PC.
5. More recently, some companies producing handheld PCs have also started
offering a handheld version of the Linux operating system on their machines.

Features of Handheld Operating System:


1. Its work is to provide real-time operations.
2. There is direct usage of interrupts.
3. Input/Output device flexibility.
4. Configurability.

Types of Handheld Operating Systems are as follows:

1. Palm OS
2. Symbian OS
3. Linux OS
4. Windows
5. Android

Some advantages of a Handheld Operating System are as follows:

1. Less Cost.
2. Less weight and size.
3. Less heat generation.
4. More reliability.

Some disadvantages of Handheld Operating Systems are as follows:


1. Less Speed.
2. Small Size.
3. Input / Output System (memory issue or less memory is available).

You might also like