You are on page 1of 38

Maharashtra State Board of Technical Education Mumbai. (M.S.

PROJECT TITLE
Features Of Operating System

Department of Computer Engineering


Marathwada Institute of Technology, Polytechnic, Aurangabad.
[2021-2022]

Submitted By

Kunal Santosh Ingole


CERTIFICATE

This is to certify that the project report entitled “Different Features Of Operating System”,
submitted byKunal Santosh Ingole is the Bonafide work completed under the supervision and
guidance of Prof. Name of Guide in partial fulfillment for the award of Diploma in Computer
Engineering of Maharashtra State Board of Technical Education, Mumbai.

Place: Aurangabad
Date:
20/12/2021

Prof.R.A.Dixit / Prof.K.M.Vaishnav Guide


Prof. S.G.Deshmukh Principal
Marathwada Institute of Technology, Polytechnic, Aurangabad
(M.S.) – 431 010

Prof. R. D. Deshpande HOD


Marathwada Institute Of Technology,
Polytechnic, Aurangabad (M, S,) - 431010
ACKNOWLEDGEMENT

We have a great pleasure in submitting this Project report in “ Different Features


Of

Operating System” “which was in the partial fulfillment of the requirements of Diploma in
‘Computer Engineering” of Maharashtra State Board of Technical Education,
Mumbai. We take this opportunity to express profound gratitude to Prof. S. G.
Deshmukh (Principal),
Prof. A. M. Shinde (OIC- Acad.), Prof. R. V. Deshmukh (OIC- Admin.), Prof.R.D.Deshpande
(Head of Department), Prof. Rakhu Dixit
Prof.R.A.Dixit/Prof. (Project Coordinator) and Prof.ujwala Sane for their valuable guidance
and helpful attitude.
Last but not the least we would like to thanks all our student friends who have helped
us in completing and reviewing our Project.
We would also like to thank Prof. Rakhi Dixit for their support and providing
their sponsorship to our Project.
Our sincere thanks to all those who knowingly and unknowingly have contributed in
their own way in completion of this project.

Kunal Santosh Ingole


Introduction

operating system (OS), Software that controls the operation of


a computer, the input and output of data, keeps track of files,
and controls the processing of computer programs. Its roles
include managing the functioning of the computer hardware,
running the applications programs, serving as an interface
between the computer and the user, and allocating computer
resources to various functions. When several jobs reside in the
computer simultaneously and share resources (multitasking),
the OS allocates fixed amounts of CPU time and memory in
turn or allows one job to read data while another writes to a
printer and
still another performs computations. Through a process
called timesharing, a large computer can handle interaction
with
hundreds of users simultaneously, giving each the perception of
being the sole user. Modern computer operating systems are
becoming increasingly machine-independent, capable of running
on any hardware platform; a widely used platform-independent
operating system in use today on mainframe computers is UNIX.
Personal Computets run on Microsoft’s Windows operating
system, which grew out of and eventually replaced MS-DOS.
See also Linux.
An operating system (OS) is system software that manages
computer hardware and software resources and provides
common services for computer programs. Nearly every
computer program requires an operating system to function. The
two most common require.
There Are Six Types Of Operating System

1) Balch Operating System

2) Multiprogrammed Operating System

3) Time Shared Operating System

4) Multiprocesser Operating System

5) Real Time Operating System

6) Mobile OS
• Batch Operating System
The operating system provides set functions to create,
synchronize, control, execute the processes on the system.
In the earlier time when the operating system was not
available then every program required full hardware access
or time for execution. To overcome this problem and used
the CPU efficiently, the operating system introduced.the First
operating system of the second-generation computer is the
batch operating system. Batch operating system took the
input on the punch card. Each punch card had the different
form of data. System executed the jobs one by one in batch.
When one job from the batch executed, then the second job
has taken from it and so on. The process of placing the jobs
in queue for execution is known as spooling.

OS keeps the number of jobs in memory and executes them


one by one. Jobs processed in first come first served order.
Each set of a job considered as a batch. When a job
completes its execution, its memory is released, and the
output for the job gets copied into an output spool for later
printing or processing. User interaction in the batch
processing system is minimal. One’s system accepts the jobs
from users, and then the user is free. That is why we can use
batch processing system in large organizations in these
days.

The batch processing system used where we want to update


the data related to any transfprms of record.
Advantages

1) Same jobs in the batch are higher executed speed.

2) A process is complete its execution, next job from job


spool get executed without any user interaction.

3) CPU utilization gets improved.

4) To speed up the processing speed, the batch


process can partition into the number of processes.
Disadvantages

1) Difficult to debug.

2) If a job gets to enter in an infinite loop, other jobs


wait for unknown time.

3) Batch systems are costly


Diagram
• Multi Programmes Operating
System
A multiprogramming operating system is one that allows
end-users to run more than one program at a time. The
development of such a system, the first type to allow this
functionality, was a major step in the development of
sophisticated computers. The technology works by
allowing the central processing unit (CPU) of a
computer to switch between two or more running tasks
when the CPU is idle.

Early computers were largely dedicated to executing one


program — or, more accurately, one task initiated by a
program — at a time. Understanding the concept of tasks
is key to understanding how a multiprogramming
operating system functions. A “task” is a small sequence
of commands that, when combined, comprises the
execution of a running program. For example, if the
program is a calculator, one task of the program would
be recording the numbers being input by the end-user.

A multiprogramming operating system acts by analyzing


the current CPU activity in the computer. When the CPU
is idle — when it is between tasks — it has the
opportunity to use that downtime to run tasks for
another program. In this way, the functions of several
programs may be executed sequentially. For example,
when the CPU is waiting for the end-user to enter
numbers to be calculated, instead of being entirely idle,
it may run load the components of a web page the user is
accessing.
The main benefit of this functionality is that it can
reduce wasted time in the system’s operations. As in a
business, efficiency is the key to generating the most
profit from an enterprise. Using this type of operating
system eliminates waste in the system by ensuring that
the computer’s CPU is running at maximum capacity
more of the time. This results in a smoother computing
experience from the end-user’s point of view, as
program commands are constantly being executed in
the background at all times, helping to speed execution
of programs.
Advantages

• CPU is used most of time and never become iiid

• The system looks fast as all the tasks runs in parallel

• Short time jobs are completed faster than long time jobs

• Multiprogramming systems support multiply users

• Resources are used nicely

• Total read time taken to execute program/job decreases

• Response time is shorter


Disadvantages
• It is difficult to program a system because of
complicated schedule handling

• Tracking all tasks/processes is sometimes difficult


to handle

• Due to high load of tasks, long time jobs have to


wait long
Diagram
• Time Shared Operating System

Multiprogrammed, batched systems provided 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 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. 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 with a small
portion of a shared computer at once. Each user has at
least one separate program in memory. A program
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 user gets
attention of 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 main memory which now serves
as a backing store for 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.

Active State –
The user’s program is under the control of CPU. Only
one program is available in this state.

Ready State –
The user program is ready to execute but it is waiting for
for it’s turn to get the CPU.More than one user can be in
ready state at a time.

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
• Each task gets an equal opportunity

• Less chances of duplication of software.

• CPU idle time can be reduced.

Disadvantages

• Reliability problem.

• One must have to take of security and integrity


of user programs and data.

• Data communication problem.


Diagram
Multoprocesser Operating System
• Computer’s capability to process more than one task
simultaneously is called multiprocessing. A
multiprocessing operating system is capable of
running many programs simultaneously, and most
modern network operating systems (NOSs) support
multiprocessing. These operating systems include
Windows NT, 2000, XP, and Unix.

• Although Unix is one of the most widely used


multiprocessing systems, there are others. For
many years, OS/2 has been the choice for high-end
workstations. OS/2 has been a standard operating
system for businesses running complex computer
programs from IBM. It is a powerful system,
employs a nice graphical interface, and can also
run programs written for DOS and Windows.
However, OS/2 never really caught on for PCs.

• The main reason why multiprocessing is more


complicated than single-processing is that their
operating systems are responsible for allocating
resources to competing processes in a
controlled environment.

• With the growth of commercial networks, the


practice of using multiple processors in embedded
motherboard designs has become almost
universal.
Not too long ago, clients or network administrators
constructed most multiprocessing configurations
at the board or system level themselves. Today,
motherboards are available incorporating multiple
microprocessors on the same die.

• A multiprocessing system uses more than one


processor to process any given workload,
increasing the performance of a system’s
application
environment beyond that of a single processor’s
capability. This permits tuning of the server
network’s performance, to yield the required
functionality. As described in Chapter 2, “Server
Availability,” this feature is known as scalability,
and is the most important aspect of multiprocessing
system architectures. Scalable system architecture
allows network administrators to tune a server
network’s performance based on the number of
processing nodes required.

• Collections of processors arranged in a loosely


coupled configuration and interacting with each
other over a communication channel have been the
most common multiprocessor architecture.

• This communication channel might not necessarily


consist of a conventional serial or parallel
arrangement. Instead, it can be composed of shared
memory, used by processors on the same board, or
even over a backplane. These interacting
processors
operate as independent nodes, using their own
memory subsystems.

• Recently, the embedded server board space has


been arranged to accommodate tightly coupled
processors, either as a pair, or as an array. These
processors share a common bus and addressable
memory space. A switch connects them, and
interprocessor communications is accomplished
through message passing. In the overall system
configuration, the processors operate as a single
node, and appear as a single processing element.
Additional loosely coupled processing nodes
increase the overall processing power of the
system. When more tightly coupled processors are
added, the overall processing power of a single
node increases.

• These processors have undergone many stages of


refinement over the years. For example, the Xeon
processors were designed for either network
servers or high-end workstations. Similarly,
Pentium 4 microprocessors were intended solely
for desktop deployment, although Xeon chips had
also been called “Pentiums” to denote their family
ancestry. Pentium and Xeon processors are
currently named separately. The Xeon family
consists of two main branches: the Xeon
dualprocessor (DP) chip, and the Xeon
multiprocessor (MP).
Advantages

• High Throughput: Throughput is the number of


processes executed by the CPU at a given time
so this type of system has higher throughput.

• Type of parallel processing: Parallel processing


means the execution of multiple processes (also
known as threads) at the same time.

• Less electricity usage: In a single processor system,


there is more load as many processes have to be
executed at a time. But in multiprocessor system
execution of multiple processes in done in a few
times. That means multiprocessor CPUs consume
low electricity than a single processor.

• High Reliability: As multiple processors share their


work between one and another so work is completed
with collaboration. That means these systems
economics.
Disadvantages
• Communication: As multiple processors are
communicating with each other so the
operating system implementation is complex to
handle.

• More memory required: As there are


multiprocessors working with each other so
each processor needs memory space.

• Deadlock: If any processor is already using the


I/O device then other processors cannot use the
same I/O device which creates deadlock.

• Performance: If any processor fails to work then the


work is divided into other processors. The bad
effect will be that work will be completed in high
time and the performance of the system is affected.

• Expensive: These type of systems are expensive to


buy.
Diagram
Run Time Operating System
Real Time Operating System, commonly known as
an RTOS, is a software component that rapidly
switches between tasks, giving the impression that
multiple programs are being executed at the same
time on a single processing core.

In actual fact the processing core can only execute one


program at any one time, and what the RTOS is actually
doing is rapidly switching between individual
programming threads (or Tasks) to give the impression
that multiple programs are executing simultaneously.

The difference between an OS (Operating System) such


as Windows or Unix and an RTOS (Real Time Operating
System) found in embedded systems, is the response
time to external events. OS’s typically provide a
nondeterministic, soft real time response, where there
are no guarantees as to when each task will complete,
but they will try to stay responsive to the user. An RTOS
differs in that it typically provides a hard real time
response, providing a fast, highly deterministic reaction
to external events. The difference between the two can
be highlighted through examples – compare, for
example, the editing of a document on a PC to the
operation of a precision motor control.

When switching between Tasks the RTOS has to choose


the most appropriate task to load next. There are several
scheduling algorithms available, including Round Robin,
Co-operative and Hybrid scheduling. However, to
provide a responsive system most RTOS’s use a
preemptive scheduling algorithm.
In a pre-emptive system each Task is given an individual
priority value. The faster the required response, the
higher the priority level assigned. When working in
preemptive mode, the task chosen to execute is the
highest priority task that is able to execute. This results
in a highly responsive system.
Advantages
Maximum Consumption: – RTOS give maximum
consumption of the system and gives us more output
while using all the resources and keeping all devices
active. There is little or no down time in these systems.
So it can be also using by the servers that are hosted to
give maximum output of hosting companies.

Task Shifting: – There is very little time assigned to


shifting tasks in these systems. For example in older
systems it takes about 10 micro seconds in shifting one
task to another and in latest systems it takes 3 micro
seconds.

Focus on Application: – These type of operating system


focus on applications which are running and usually give
less importance to other application residing in waiting
stage of life cycle. So less applications or tasks are
managed and give exact result on current execution
work.

Real time operating system in embedded system: – Due


to small size of programs RTOS can also be used in
embedded systems like in transport and others.
Error Free: – RTOS is error free that mean it has no
chances of error in performing tasks.

Disadvantages
Limited Tasks: – There are only limited tasks run at the
same time and the concentration of these system are on
few application to avoid errors and other task have to
wait. Sometime there is no time limit of how much the
waiting tasks have to wait.

Use heavy system resources: – RTOS used lot of system


resources which is not as good and is also expensive.

Low multi-tasking: – Multi tasking is done few of times


and this is the main disadvantage of RTOS because these
system runs few tasks and stay focused on them. So it is
not best for systems which use lot of multi-threading
because of poor thread priority.

Complex Algorithms: – RTOS uses complex algorithms


to achieve a desired output and it is very difficult to
write that algorithms for a designer.

Device driver and interrupt signals: – RTOS must need


specific device drivers and interrupt signals to response
fast to interrupts.
Diagram
Mobile OS Operating System
The world is going more and more mobile, and
operating systems play an essential role in this process.
With technological wonders surrounding us every day,
most people rarely conduct an in-depth analysis of the
capabilities of their mobile devices. Indeed, why should
you know how a mobile operating system works to use a
modern smartphone? Developers are trying to design
their products to be as simple as possible, so you don’t
have to be an IT professional to avail of an Android or
IOS device (the situation is slightly different for Linux
mobile, though).

Mind that not every mobile operating system is suitable


for any type of CPU you can find on the market. For most
customers, this is not a huge issue since they purchase
smartphones with pre-installed operating systems and
never really think of changing the system itself.
However, remember that once you purchase a certain
device, you, most likely, wouldn’t be able to change its
OS. This is especially relevant in the case of IOS devices,
as Apple’s mobile OS is only suitable for custom CPUs
developed by the company exclusively for iPhones.

Performance issues are hardly a case for IOS, as it


commonly works perfectly on all officially supported
models of iPhones. Android, on the other hand, is a
totally different thing. This mobile operating system
accounts for 86% of all portable devices on the market,
which makes adapting it to the specific needs of every
smartphone manufacturer extremely difficult. In
addition, most vendors provide custom operating
systems (which, in fact, are just modified versions of
Android). Therefore, users of this operating system may
experience performance issues on weaker mobile
devices.

No one likes bugs, so a decent mobile operating system


should do everything it can to avoid them. Obviously, any
modern OS is way too complicated to eliminate bugs
completely, and you will face some even on the most
polished systems. No piece of software can work without
bugs, but users should clearly distinguish between
critical and non-essential mistakes. While the latter ones
are just unpleasant, the critical bugs are detrimental to
the users’ experience, so they should be avoided in a
decent mobile operating system.

Remember how many devices run on Android? This is


exactly the case here, as the system can be adapted to
most modern CPUs that use ARM architecture (except
for Apple’s Bionic chips, of course). Although the latter
ones are also based on ARM’s mobile architecture, they
differ from other processors on the market significantly,
which means that you can’t install Android on a device
that uses a custom CPU from Apple. This rule also
applies in the opposite direction, as IOS cannot be
installed on mobile devices that use Qualcomm’s
Snapdragon CPUs.
Advantages
Open source
The first advantage of Android, and the most notable, is
that it works with open source, which means that anyone
can create applications and contribute to increasing its
offer in the Android universe, the vast majority of them
being free.

Greater freedom
Another positive characteristic that defines this
operating system, which emerges from the first, is the
total freedom with which Android developers work to
make all kinds of applications without limits and without
asking for any kind of permission.

Diversity and versatility


For all the aforementioned, Android is also the operating
system that has a greater number of manufacturers and
is present in most commercial brands, as well as users,
which makes it the most used system.

Multitasking
The android operating system also has a multitasking
system that allows you to open different applications at
the same time and make them work simultaneously, as
well as put them in sleep mode if we are not using them.

Greater interaction
Thanks to the freedom that this system boasts. Another
of its characteristic advantage is its great customization
capacity, that is, the fact that Android users and
manufacturers have a greater capacity for interaction
and can personalize at their own expense. I like
installing personal wallpapers, animations, or themes of
all kinds.

Community
Another remarkable fact of the Android operating
system is that its own characteristics based on the
freedom of creation and communication between its
developers, encourage and enhance feedback between
creators from all over the world.
Disadvantages
Battery life
The first disadvantage of the Android system, and one of
the best known, stems from its multitasking system and
is the fact that the battery of the devices consumes more
and, consequently, runs out much earlier, than in the
case of other systems.

Complexity
There is a general impression among consumers that
this operating system is somewhat more complex than
the rest for inexperienced users since it is a bit
complicated to configure, as well as being not very
intuitive in general terms.

Poor quality of some applications


Another characteristic derived from the open-source of
Android is the fact that sometimes some applications are
of low quality or end up being unnecessary for our team.

Vulnerability
The fact of having an open-source also makes this system
more susceptible to attacks since some hackers take
advantage of errors in the system itself to attack it.

Ex Of Mobile OS Operating System

Android OS (Google Inc.)


The Android mobile operating system is Google’s open
and free software stack that includes an operating
system, middleware, and key applications for use on
mobile devices, including smartphones. Updates for the
open source Android mobile operating system have been
developed under “dessert-inspired” version names
(Cupcake, Donut, Éclair, Gingerbread, Honeycomb, Ice
Cream Sandwich), with each new version arriving in
alphabetical order with new enhancements and
improvements.

Bada (Samsung Electronics)


Bada is a proprietary Samsung mobile OS that was first
launched in 2010. The Samsung Wave was the first
smartphone to use this mobile OS. Bada provides mobile
features such as multipoint-touch, 3D graphics, and of
course, application downloads and installation.

iPhone OS/iOS (Apple)


Apple’s iPhone OS was originally developed for use on its
iPhone devices. Now, the mobile operating system is
referred to as iOS and is supported on a number of Apple
devices including the iPhone, iPad, iPad 2, and iPod
Touch. The iOS mobile operating system is available only
on Apple’s own manufactured devices as the company
does not license the OS for third-party hardware. Apple
iOS is derived from Apple’s Mac OS X operating system.

MeeGo OS (Nokia and Intel)


MeeGo OS is a joint open source mobile operating
system, which is the result of merging two products
based on open source technologies: Maemo (Nokia) and
Moblin (Intel). MeeGo is a mobile OS designed to work
on a number of devices, including smartphones,
netbooks, tablets, in-vehicle information systems, and
various devices using Intel Atom and ARMv7
architectures.

Palm OS (Garnet OS)


The Palm OS is a proprietary mobile operating system
(PDA operating system) that was originally released in
1996 on the Pilot 1000 handheld. Newer versions of the
Palm OS have added support for expansion ports, new
processors, external memory cards, improved security,
and support for ARM processors and smartphones. Palm
OS 5 was extended to provide support for a broad range
of screen resolutions, wireless connections, and
enhanced multimedia capabilities and is called Garnet
OS.
Diagram

You might also like