Name- Sakshi Gupta
Roll No:- 34442723058
Subject:- Operating System
Subject Code - BCAC402
CA-1
1.What are the different types of operating systems?
Ans-Operating Systems can be categorized according to different criteria like
whether an operating system is for mobile devices (examples Android and iOS) or
desktop (examples Windows and Linux). In this article, we are going to classify based
on functionalities an operating system provides.
1. 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 requirements and groups them
into batches. It is the responsibility of the operator to sort jobs with similar needs.
Batch Operating System is designed to manage and execute a large number of jobs
efficiently by processing them in groups.
Advantages of Batch Operating System
● 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.
Disadvantages of Batch Operating System
● CPU is not used efficiently. When the current process is doing IO, CPU is free
and could be utilized by other processes waiting.
● The other jobs will have to wait for an unknown time if any job fails.
● In a batch operating system, average response time increases as all processes
are processed one by one.
Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.
2. Multiprogramming 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 utilization of resources.
Advantages of Multiprogramming Operating System
● CPU is better utilized and overall performance of the system improves.
● It helps in reducing the response time.
*Multi-Tasking/Time-sharing Operating systems
It is a type of Multiprogramming system with every process running in round robin
manner. 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.
3. 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.
Advantages of Multi-Processing Operating System
● It increases the throughput of the system as processes can be parallelized.
● As it has several processors, so, if one processor fails, we can proceed with
another processor.
4. Multi User Operating Systems
These systems allow multiple users to be active at the same time. These systems can
be either multiprocessor or single processor with interleaving.
5. 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. These systems' processors differ in size and function. The major
benefit of working with these types of the operating system is that it is always
possible that one user can access the files or software which are not actually present
on his system but some other system connected within this network i.e., remote
access is enabled within the devices connected in that network.
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.
● Load on host computer reduces.
● These systems are easily scalable as many systems can be easily added to the
network.
● Delay in data processing reduces.
Disadvantages of Distributed Operating System
● Failure of the main network will stop the entire communication.
● To establish distributed systems the language is used not well-defined yet.
● 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.
6. 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.
Advantages of Network Operating System
● Highly stable centralized servers.
● Security concerns are handled through servers.
● New technologies and hardware up-gradation are easily integrated into the
system.
● Server access is possible remotely from different locations and types of
systems.
Disadvantages of Network Operating System
● Users have to depend on a central location for most operations.
● Maintenance and updates are required regularly.
Examples of Network Operating Systems are Microsoft Windows Server 2003,
Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, BSD, etc.
7. 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.
Advantages of RTOS
● Maximum Consumption: Maximum utilization of devices and systems, thus
more output from all the resources.
● 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.
● Focus on Application: Focus on running applications and less importance on
applications that are in the queue.
● 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.
● Error Free: These types of systems are error-free.
● Memory Allocation: Memory allocation is best managed in these types of
systems.
Disadvantages of RTOS
● Limited Tasks: Very few tasks run at the same time and their concentration is
very less on a few applications to avoid errors.
● Use heavy system resources: Sometimes the system resources are not so good
and they are expensive as well.
● Complex Algorithms: The algorithms are very complex and difficult for the
designer to write on.
● Device driver and interrupt signals: It needs specific device drivers and
interrupts signal to respond earliest to interrupts.
● Thread Priority: It is not good to set thread priority as these systems are very
less prone to switching tasks.
2.What are the pros and cons of operating system? Make a comparative study on it.?
Ans-Operating systems (OS) are essential software that manage hardware and
software resources, providing a platform for applications to run. They have both
advantages and disadvantages, and their effectiveness depends on the specific use
case, design, and implementation. Below is a comparative study of the pros and cons
of operating systems:
Pros of Operating Systems
1. Resource Management:
● Efficiently allocates and manages hardware resources (CPU, memory, storage,
etc.) among multiple applications and users.
● Example: Prevents one application from monopolizing system resources.
2. User Interface:
● Provides a user-friendly interface (GUI or CLI) for interacting with the system,
making it accessible to both technical and non-technical users.
● Example: Windows GUI or macOS Finder.
3. Multitasking:
● Allows multiple applications to run simultaneously, improving productivity and
efficiency.
● Example: Running a web browser, word processor, and music player at the
same time.
4. Security and Protection:
● Implements security features like user authentication, file permissions, and
encryption to protect data and system integrity.
● Example: Linux file permissions or Windows Defender.
5. Hardware Abstraction:
● Abstracts hardware complexities, allowing applications to run on different
hardware configurations without modification.
● Example: Device drivers enable compatibility with various hardware
components.
6. File Management
● Organizes and manages files and directories, making data storage and retrieval
easier.
● NTFS in Windows or ext4 in Linux.
7. Networking Support:
● Facilitates network communication and resource sharing (e.g., printers, files)
across devices.
● SMB protocol in Windows or NFS in Linux.
8. Error Detection and Handling:
● Detects and handles errors, preventing system crashes and data loss.
● Blue Screen of Death (BSOD) in Windows, which provides error codes for
diagnosis.
9. Software Compatibility:
● Supports a wide range of software applications, enabling users to perform
diverse tasks.
● Windows supports a vast library of commercial software.
10. Scalability:
● Can be scaled to support different hardware configurations, from embedded
systems to supercomputers.
● Linux runs on everything from IoT devices to servers.
Cons of Operating Systems
1. Complexity:
● Modern operating systems are highly complex, making them difficult to
develop, maintain, and troubleshoot.
● Example: Debugging kernel-level issues in Linux or Windows.
2. Resource Overhead:
● Consumes system resources (CPU, memory, storage) for its own operations,
reducing available resources for applications.
● Example: Windows 10/11 requires significant RAM and storage.
3. Security Vulnerabilities:
● Vulnerable to malware, viruses, and cyberattacks, especially if not regularly
updated.
● Example: Windows is a frequent target for malware due to its widespread
use.
4. Cost:
● Some operating systems (e.g., Windows, macOS) are proprietary and require
licensing fees, increasing costs for users.
● Example: macOS is tied to Apple hardware, which is expensive.
5. Compatibility Issues:
● Not all software or hardware is compatible with every operating system.
● Example: Some Windows software does not run on macOS or Linux.
6. Learning Curve:
● Some operating systems (e.g., Linux) have a steep leaming curve for
non-technical users.
● Example: Configuring Linux systems often requires command-line knowledge.
7. System Crashes:
● Operating systems can crash or freeze, leading to data loss and downtime.
● Example: Windows BSOD or macOS kernel panics.
8. Fragmentation:
● Fragmentation in some OS ecosystems (e.g., Android) leads to inconsistent
user experiences and delayed updates.
● Example: Different Android devices run different OS versions
Comparative Study
Aspect Windows macOS Linux
Ease of Use User-friendly, Intuitive, polished Intuitive, polished
widely adopted interface interface
Cost Paid Expensive Highly
customizable
Customization Moderate Limited Highly
customizable
Software Extensive software Limited compared Limited compared
Compatibility library to Windows to Windows
Security Frequent target for Generally secure Highly secure,
malware open-source
nature
Hardware Support Broad hardware Limited to Apple Broad, but may
compatibility hardware require manual
setup
Resources High resource Optimized for Lightweight,
Efficiency usage Apple hardware efficient
Community Large user base, Strong community, Extensive
Support official support official support open-source-com
munity
Conclusion
Operating systems are indispensable for modern computing, offering significant
benefits like resource management, multitasking, and security. However, they also
have drawbacks, including complexity, resource overhead, and compatibility issues.
The choice of an operating system depends on the user's needs, technical expertise,
and hardware requirements. Windows is ideal for general users and gaming, macOS
excels in design and integration with Apple ecosystems, and Linux is preferred for
customization, security, and cost-effectiveness.