Professional Documents
Culture Documents
Co Report
Co Report
Co Report
CASE STUdY
Computer Organization
TOPIC
Types of operating system
Assistant Professor
Department of ETC
ACKNOWLEDGEMENT
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:
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.
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.
1. Principles:
- Concurrency: A multiprogramming OS enables
multiple programs to execute concurrently, with each
program occupying a portion of memory and CPU time.
-
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.
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
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.
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.
Advantages 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
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:
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.
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.
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.