Co Report

You might also like

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

C.V.

RAMAN GLOBAL UNIVERSITY


BhUBANESwAR , OdIShA , INdIA

CASE STUdY
Computer Organization
TOPIC
Types of operating system

Project Guided by :- Mr. Anoop Pipersahaniya


C.V. Raman Global University, Bhubaneshwar, Odisha, India
2023-2024
Group members Registration number
Rajashree Behera 2201020711
Aditya Raj 2201020747
A. Srinivas Dora 2201020752
Prince Kumar 2201020754
Gyana Ranjan Sunadaray 2201020755
Rahul Kumar Mishra 2201020779
T. Charlie Priya 2201020832
Mayank Raj 2201020886
Abhishek Srivastava 2201020887
Kumari Arpana 2201020945
Adarsh Sanujit 2201020951
CERTIFICATE OF APPROVAL

This is to certify that B.Tech. Mini Project Viva-voce of the


dissertation entitled “Types of operating system” by
GROUP-05 of computer organization at C.V. RAMAN
GLOBAL UNIVERSITY. They have presented the work in a
satisfactory manner to warrant as a pre- requisite for the
degree of Bachelor of Technology .It is understood that
by this approval the undersigned do not necessarily
endorseor approve any statement made, opinion
expressed or conclusion is drawn therein, but only for the
purpose for which it has been submitted.
Session:2023-24

CERTIFICATE FROM SUPERVISOR

This is to certify that the Project report entitled “Types


of operating system” submitted in partial fulfilment of
the requirement for the award of Bachelor of Technology
in Computer Science and Engineering of the C.V.Raman
Global University, Odisha during the year 2023- 2024, is
a faithful record of the Bonafide work carried out by
Group - 05 under my guidance and supervision.

Mr. Anoop Pipersahaniya

Assistant Professor
Department of ETC
ACKNOWLEDGEMENT

It is a great privilege for us to express our profound


gratitude to our respected teacher Mr. Anoop
pipersahaniya, Assistant Professor, Department of ETC,
C. V. Raman Global University, Odisha, Bhubaneswar,
for their constant guidance, valuable suggestions,
supervision, and inspiration throughout the work without
which it would have been difficult to complete the work
within the scheduled time.
We are also in debted to the Head of the Department
,C.V.Raman Global University , Odisha, Bhubaneswar
for permitting us to pursue the project. We would like to
take this opportunity to thank all the respected teachers
of this Department for being a perennial source of
inspiration and showing the right path at the time of
necessity.
ABSTRACT
Operating systems (OS) serve as the foundation for
computing devices, managing hardware resources and
providing essential services to applications. This
abstract provides a detailed examination of various
types of operating systems, encompassing their
functionalities, architectures, and key characteristics.

The abstract begins with an exploration of the core


functions of an OS, including process management,
memory management, file system management, and
device management. It elucidates how the OS allocates
resources, schedules tasks, and facilitates
communication between software applications and
hardware components.
Moreover, the abstract addresses the significance of
user interfaces in enhancing accessibility and usability,
ranging from command-line interfaces (CLI) to graphical
user interfaces (GUI) and touch-based interfaces. It also
discusses the role of virtualization and containerization
technologies in enabling efficient resource utilization
and facilitating application deployment across diverse
environments.
CONTENT:

1. Introduction
2. Batch operating system
3. Multi-programming operating system
4. Multi-processing operating system
5. Multi-Tasking operating system
6. Time-sharing operating system
7. Distributed operating system
8. Network operating system
9. Real-time operating system
10.Conclusion
11 .References
1.INTRODUCTION:

An Operating System performs all the basic tasks like managing


files, processes, and memory. Thus operating system acts as the
manager of all the resources, i.e. resource manager. Thus, the
operating system becomes an interface between the user and
the machine. It is one of the most required software that is
present in the device.

Operating System is a type of software that works as an


interface between the system program and the hardware.
There are several types of Operating Systems in which many of
which are mentioned below. Let’s have a look at them
2.Batch Operating System:
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.

1. Principles:
- Automation: Batch operating systems automate the
execution of repetitive tasks by organizing them into
batches, enabling efficient resource utilization.
- Sequential Execution: Jobs within a batch are executed
one after the other, without user interaction, based on
predefined criteria.

2. Architecture:
- Job Control Language (JCL): Users specify the
characteristics of batch jobs using JCL, defining
input/output files, resource requirements, and execution
parameters.
- Job Scheduler: The job scheduler prioritizes and
dispatches jobs for execution based on factors like priority,
resource availability, and scheduling policies.

3. Historical Significance:
- Early mainframe systems, such as IBM's OS/360,
pioneered batch processing techniques, revolutionizing
large-scale data processing and business computing.

4. Impact on Contemporary Computing:


- Although modern operating systems have evolved
beyond pure batch processing models, the principles and
techniques developed in batch operating systems continue
to influence contemporary OS architectures
5. Challenges and Limitations:
- Lack of Interactivity: Batch operating systems lack user
interaction during job execution, limiting their suitability
for interactive tasks.
- Limited Responsiveness: Due to sequential job
execution, batch systems may exhibit slower response
times compared to interactive systems.

6. Ongoing Relevance:
- Batch processing remains relevant in contemporary
computing environments, particularly for large-scale data
processing tasks, scientific simulations, and batch-oriented
workflows.

.
Advantages of Batch Operating System

1.The system accepts the various jobs from the user and place
them in queue for getting CPU time. Processors of the batch
systems know how long the job would be when it is in the
queue.
2.Multiple users can share the batch systems.

Disadvantages of Batch Operating System

1.The computer operators should be well known with batch


systems.
2.Batch systems are hard to debug.
3.It is sometimes costly.
Examples of Batch Operating Systems: Payroll Systems, Bank
Statements, etc.
3.Multi-programming Operating system:
Multiprogramming Operating Systems can be simply illustrated
as more than one program is present in the main memory and
any one of them can be kept in execution. This is basically used
for better execution of resources.

A multiprogramming operating system is designed to maximize


CPU utilization by allowing multiple programs to run
concurrently on the same system.

1. Principles:
- Concurrency: A multiprogramming OS enables
multiple programs to execute concurrently, with each
program occupying a portion of memory and CPU time.
-

Time Sharing: CPU time is shared among multiple programs


through time-sharing techniques, allowing each program to
make progress without monopolizing system resources.
- Memory Management: The OS allocates and manages
memory dynamically, loading programs into memory as
needed and swapping them in and out to accommodate
multiple concurrent processes.
- Process Scheduling: The OS employs scheduling
algorithms to determine which processes to execute and
for how long, aiming to optimize CPU utilization and
responsiveness.

2. Architecture:
- Process Management: The OS manages processes,
which represent individual program instances, by
allocating resources, scheduling execution, and facilitating
communication between processes.
- Memory Management: Multiprogramming OSs
employ techniques such as paging, segmentation, and
virtual memory to efficiently manage memory allocation
and address space isolation for concurrent processes.
- I/O Management: The OS handles input/output
operations for concurrent processes, coordinating access
to I/O devices and managing data transfer between
processes and peripherals.
-

3. Historical Significance:
Multiprogramming operating systems emerged in the 1960s
and 1970s, driven by the need to maximize CPU utilization in
mainframe computing environments.
- Early multiprogramming systems, like IBM's OS/360,
introduced concepts such as time-sharing and virtual
memory to support concurrent execution of multiple tasks.

4. Impact on Contemporary Computing:


- Multiprogramming concepts are pervasive in modern
operating systems, enabling efficient multitasking,
multithreading, and parallel processing across diverse
computing platforms.
- Contemporary OSs, including Windows, Linux, and
macOS, incorporate sophisticated process and memory
management subsystems inspired by multiprogramming
principles.

5. Challenges and Limitations:


- Resource Contentions: Concurrent access to shared
resources, such as CPU and memory, can lead to
contention and performance degradation if not managed
effectively.
-

- Overhead: Context switching and memory


management overheads associated with
multiprogramming can impact system performance and
responsiveness, particularly under heavy loads.

6. Ongoing Relevance:
Multiprogramming remains a cornerstone of modern
operating systems, enabling efficient resource utilization and
supporting diverse computing workloads, from desktop
applications to cloud-based services.
Advantages of Multi-Programming Operating System

1.Multi Programming increases the Throughput of the System.


2.It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
1.There is not any facility for user interaction of system
resources with the system.
Example:
1. Unix/Linux: Unix-like operating systems, such as Linux, are
known for their multi-programming capabilities.
2. Windows: Microsoft Windows operating systems also
support multi-programming, allowing users to run multiple
applications concurrently
4. Multi-Processing operating system :
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.

1. Parallel Execution: In a multiprocessing system, multiple


processes can execute simultaneously across multiple CPUs or
CPU cores. This parallel execution capability allows the system
to handle a higher workload and improve overall performance
compared to single-processor systems.

2. Process Scheduling: The operating system's scheduler


assigns processes to available CPUs or CPU cores based on
various criteria such as process priority, CPU affinity, and load
balancing. The goal is to maximize CPU utilization, minimize
process wait times, and ensure fair allocation of resources
among competing processes.

3. Shared Memory: Multiprocessing systems typically provide


mechanisms for processes to communicate and share data
using shared memory regions.

4. Synchronization and Coordination: In a multiprocessing


environment, processes may need to synchronize their actions
or coordinate access to shared resources to avoid data
corruption or race conditions.

5. Load Balancing: Multiprocessing systems often employ


load balancing algorithms to distribute the workload evenly
across all available CPUs or CPU cores.
6. Fault Tolerance: Multiprocessing operating systems may
incorporate fault tolerance mechanisms to improve system
reliability and availability.
7. Resource Management: Multiprocessing systems manage
various system resources such as CPU time, memory, and I/O
devices to ensure efficient utilization and fair allocation among
running processes.

8. Scalability: Multiprocessing systems are inherently


scalable, allowing additional CPUs or CPU cores to be added to
the system to accommodate increasing workload demands.
Advantages of Multi-Processing Operating System

1.It increases the throughput of the system.


2.As it has several processors, so, if one processor fails, we can
proceed with another processor.

Disadvantages of Multi-Processing Operating System

1.Due to the multiple CPU, it can be more complex and


somehow difficult to understand.
Example
One notable example of a multi-processing operating system is
Linux. Linux is capable of efficiently utilizing multiple processors
or CPU cores to execute tasks concurrently. It supports
symmetric multiprocessing (SMP), where multiple processors
share access to the system's memory and perform tasks
simultaneously.

5.Multi-Tasking operating system :

Multitasking Operating System is simply a multiprogramming


Operating System with having facility of a Round-Robin
Scheduling Algorithm. It can run multiple programs
simultaneously.

There are two types of Multi-Tasking Systems which are listed


below.

Preemptive Multi-Tasking
Preemptive multitasking is a computing technique where the
operating system switches between tasks at regular intervals,
allowing multiple tasks to run concurrently. It ensures fairness
and responsiveness by allocating CPU time to tasks based on
priority and time slices. This method enables efficient
utilization of system resources and improves overall system
performance.
Cooperative Multi-Tasking
Cooperative multitasking is a computing technique where each
running task voluntarily relinquishes control of the CPU to allow
other tasks to execute. In this approach, tasks must explicitly
yield control back to the operating system, typically through
specific function calls or event handling mechanisms. Unlike
preemptive multitasking, where the operating system decides
when to switch tasks, in cooperative multitasking, it's up to the
tasks themselves to cooperate and share resources.

Advantages of Multi-Tasking Operating System

1.Multiple Programs can be executed simultaneously in


MultiTasking Operating System.
2.It comes with proper memory management.
Disadvantages of Multi-Tasking Operating System

1.The system gets heated in case of heavy programs multiple


times.

Example
A classic example of a multi-tasking operating system is
Microsoft Windows. Windows allows users to run multiple
applications simultaneously, switching between them
seamlessly. Users can have a web browser open while working
on a document, listening to music, and checking emails, all at
the same time.
6.Time-sharing operating 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.
Here's how a time-sharing operating system works in
more detail:
1. Time Slicing: The CPU allocates small time
intervals, known as time slices or time quanta, to
each task or user process. This allows multiple
processes to run seemingly concurrently, even
though the CPU is actually switching between them
very quickly.
2. Process Scheduling: The operating system
employs scheduling algorithms, such as roundrobin,
priority-based, or multi-level feedback queues, to
determine the order in which processes to be done.

3. Resource Management: Time-sharing systems


manage resources such as memory, disk space, and
peripherals to ensure that each user or process has
access to the resources they need without
interfering with others. This may involve techniques
like virtual memory, file system management, and
device drivers.

4. User Interaction: Time-sharing systems typically


provide interactive interfaces, such as commandline
shells or graphical user interfaces (GUIs), that allow
users to interact with the system in real-time. Users
can run programs, access files, and
communicate with other users over networks.
5. Security and Protection: Time-sharing systems
implement security mechanisms to protect user
data and ensure that users can only access
resources they are authorized to use. This includes
user authentication, access control lists, and file
permissions.

Advantages of Time-Sharing OS

1.Each task gets an equal opportunity.


2.Fewer chances of duplication of software.
3.CPU idle time can be reduced.
Disadvantages of Time-Sharing OS

1.Reliability problem.
One must have to take care of the security and integrity of user
programs and data.
2.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.
3.Complexity: Time-sharing systems are complex and require
advanced software to manage multiple users simultaneously.
This complexity increases the chance of bugs and errors.
Examples of Time-Sharing OS with explanation

IBM VM/CMS: IBM VM/CMS is a time-sharing operating system


that was first introduced in 1972. It is still in use today, providing
a virtual machine environment that allows multiple users to run
their own instances of operating systems and applications.

TSO (Time Sharing Option): TSO is a time-sharing operating


system that was first introduced in the 1960s by IBM for the
IBM System/360 mainframe computer. It allowed multiple
users to access the same computer simultaneously, running
their own applications.

7.Distributed operating system


These types of operating system is a recent advancement in the
world of computer technology and are being widely accepted
all over the world and, that too, at a great pace. Various
autonomous interconnected computers communicate with
each other using a shared communication network.
Independent systems possess their own memory unit and CPU.
These are referred to as loosely coupled systems or distributed
systems.
1. Definition: A distributed operating system (DOS) extends
the traditional concept of an operating system by spreading
functionality across multiple independent machines
connected by a network. It allows users to access resources
and services transparently regardless of the physical
location of those resources.

2. Key Characteristics:
- Transparency: Users perceive the system as a single,
unified entity, hiding the complexities of distributed
computing.
- Concurrency: Multiple processes can execute concurrently
across different machines.
- Scalability: Can accommodate a growing number of users
and resources by adding more machines to the network.
- Fault Tolerance: Capable of tolerating failures in individual
machines or network links without disrupting the entire
system.
- Resource Sharing: Facilitates sharing of hardware and
software resources such as files, printers, and computational
power.

3. Architecture:
- Layered Architecture: Typically organized into layers
such as hardware, operating system, middleware, and
applications.
- Middleware: Provides communication and
coordination services between distributed components,
including remote procedure calls (RPC), message passing,
and distributed file systems.
- Network Operating System (NOS): Manages
communication and resource sharing among networked
computers.

4. Components:

-Kernel: The core component of the operating system


responsible for managing hardware resources, scheduling
tasks, and providing essential services such as process and
memory management.
- File System: Provides a unified interface for accessing
and managing files distributed across multiple machines.
- Communication Middleware: Facilitates
communication between distributed components through
message passing, RPC, or other protocols.
- Resource Management: Allocates and manages
distributed resources such as CPU, memory, and storage.
- Security Services: Enforces access control and
authentication mechanisms to ensure data confidentiality
and integrity in a distributed environment.

5. Examples:
- Google File System (GFS): A distributed file system
designed to store and manage large amounts of data
across multiple servers.
- Apache Hadoop: An open-source framework for
distributed storage and processing of large datasets across
clusters of computers.

Advantages of Distributed Operating System


1.Failure of one will not affect the other network
communication, as all systems are independent of each other.
2.Electronic mail increases the data exchange speed.

Disadvantages of Distributed Operating System

1.Failure of the main network will stop the entire


communication.
2.To establish distributed systems the language is used not well-
defined yet.
3.These types of systems are not readily available as they are
very expensive. Not only that the underlying software is highly
complex and not understood well yet.

8.Network operating system:


These systems run on a server and provide the capability to
manage data, users, groups, security, applications, and other
networking functions. These types of operating systems allow
shared access to files, printers, security, applications, and other
networking functions over a small private network. One more
important aspect of Network Operating Systems is that all the
users are well aware of the underlying configuration, of all
other users within the network, their individual connections,
etc. and that’s why these computers are popularly known as
tightly coupled systems.
Key features of a network operating system include:

1. File and Print Services: NOS allows users to share files and
printers across the network, enabling collaboration and
resource sharing.
2. Directory Services: NOS typically includes directory
services for managing user accounts, permissions, and network
resources. This helps in organizing and controlling access to
network resources efficiently.
3. Security: NOS offers security mechanisms such as
authentication, authorization, encryption, and firewall
capabilities to protect data and network resources from
unauthorized access and malicious attacks.
4. Network Management: NOS provides tools and utilities for
monitoring and managing network devices, performance, and
traffic to ensure smooth operation and troubleshooting.
5. Scalability: A good NOS should be able to scale with the size
and complexity of the network, supporting a growing number
of users, devices, and applications.
6. Compatibility: It should be compatible with various
hardware and software components to ensure seamless
integration and interoperability within the network
environment.
Popular examples of network operating systems include:
- Windows Server: Microsoft's network operating system,
widely used in enterprise environments for its extensive
features and integration with other Microsoft products.

- Linux: Various distributions of Linux, such as Ubuntu


Server, CentOS, and Red Hat Enterprise Linux, are commonly
used as network operating systems due to their stability,
security, and flexibility.
Advantages of Network Operating System

1.Highly stable centralized servers.


2.Security concerns are handled through servers.
3.New technologies and hardware up-gradation are easily
integrated into the system.

Disadvantages of Network Operating System

1.Servers are costly.


2.User has to depend on a central location for most operations.
Examples of Network Operating Systems are Microsoft
Windows Server 2003, Microsoft Windows Server 2008, UNIX,
Linux, Mac OS X, Novell NetWare, BSD, etc.

9.Real-Time operating system:


These types of OSs serve real-time systems. The time interval
required to process and respond to inputs is very small. This
time interval is called response time.
Real-time systems are used when there are time requirements
that are very strict like missile systems, air traffic control
systems, robots, etc.
Types of Real-Time Operating Systems

Hard Real-Time Systems:

Hard Real-Time OSs are meant for applications where time


constraints are very strict and even the shortest possible delay
is not acceptable. These systems are built for saving life like
automatic parachutes or airbags which are required to be
readily available in case of an accident.
Virtual memory is rarely found in these systems.
Soft Real-Time Systems:
These OSs are for applications where time-constraint is less
strict.

Advantages of RTOS
1.Maximum Consumption: Maximum utilization of devices and
systems, thus more output from all the resources.
2.Task Shifting: The time assigned for shifting tasks in these
systems is very less. For example, in older systems, it takes
about 10 microseconds in shifting from one task to another, and
in the latest systems, it takes 3 microseconds.
3.Focus on Application: Focus on running applications and less
importance on applications that are in the queue.
4.Real-time operating system in the embedded system: Since
the size of programs is small, RTOS can also be used in
embedded systems like in transport and others.
5.Error Free: These types of systems are error-free.
6.Memory Allocation: Memory allocation is best managed in
these types of systems.
Disadvantages of RTOS

1.Limited Tasks: Very few tasks run at the same time and their
concentration is very less on a few applications to avoid errors.
2.Use heavy system resources: Sometimes the system
resources are not so good and they are expensive as well.
3.Complex Algorithms: The algorithms are very complex and
difficult for the designer to write on.
4.Device driver and interrupt signals: It needs specific device
drivers and interrupts signal to respond earliest to interrupts.
5. Thread Priority: It is not good to set thread priority as these
systems are very less prone to switching tasks.
Example:
One popular example of a real-time operating system is Free
RTOS. It's an open-source RTOS that is widely used in
embedded systems, IoT devices, and other applications
requiring real-time processing.
CONCLUSION:
Operating systems are the backbone of computing, providing
essential functionalities that enable hardware and software
components to work together seamlessly. From managing
resources like memory, processors, and storage to providing
user interfaces and security features, operating systems play a
critical role in the operation of computers, mobile devices, and
other computing platforms.

In conclusion, operating systems serve as the bridge between


users, applications, and hardware, facilitating communication
and coordination to ensure smooth and efficient operation.
Whether it's a desktop, server, mobile device, or embedded
system, the choice of operating system significantly impacts the
performance, security, and usability of the computing
environment. As technology evolves, operating systems
continue to adapt and innovate to meet the changing needs of
users and the demands of modern computing.
References:
1. Textbooks:
- "Operating System Concepts" by Abraham
Silberschatz, Peter Baer Galvin, and Greg Gagne.
2. Official Documentation and Websites:
- Explore the official documentation and websites of
popular operating systems like Linux, Windows, and
macOS. They often provide detailed technical information,
whitepapers, and case studies.
3. Online Resources:
- Websites like the Operating System Review (OSR),
OSDev.org, and the Linux Documentation Project offer
valuable insights, discussions, and tutorials on operating
system development.
https://www.geeksforgeeks.org/types-of-
operatingsystems/ https://www.indeed.com/career-
advice/careerdevelopment/types-of-operating-systems/

You might also like