Osy Microproject_Viki
Osy Microproject_Viki
An Operating System (OS) is a critical software layer that manages computer hardware and
software resources, providing a stable environment for applications to run. It acts as an
intermediary between users and the computer hardware, ensuring efficient and secure
operation.The concept of operating systems has evolved significantly since the early days of
computing. Initially, computers operated without an OS, relying on manual operations. The
first generation of OS emerged in the 1950s, primarily batch processing systems. Over the
decades, the OS has advanced to support multi- tasking, real-time processing, and user-
friendly interfaces.
Historically, the development of operating systems has been crucial in advancing computing
technology. In the early days of computing, machines operated without an OS, requiring
users to interact directly with the hardware. The introduction of batch processing systems in
the 1950s marked the first generation of OS, allowing multiple jobs to be processed
sequentially. As computing demands grew, operating systems evolved to support
multitasking, graphical user interfaces, and real-time processing, becoming more user-
friendly and powerful.
1
Fig :Operating System Interface
2
Classification of Operating System
Operating System
Based On Functionality
Single-User OS Multi-User OS
3
Based On Device
Desktop Os
Mobile OS
Os
Embedded OS
Network OS
Server OS
Based On Architecture
4
Operating System Concepts
1. Process Management
- Processes: The OS manages processes, which are running instances of programs. It
handles their creation, execution, and termination.
- Threads: These are the smallest units of process execution. A process can contain
multiple threads that run concurrently.
- CPU Scheduling: The OS schedules processes in a way that optimizes CPU usage,
determining the order in which processes run.
- Process Synchronization: It ensures that multiple processes can execute without
interfering with each other, especially when sharing resources.
- Deadlocks: The OS handles deadlocks, which occur when processes block each other
by holding resources the other needs.
5
2. Memory Management
- Main Memory: Refers to the management of primary storage (RAM) where the OS
stores processes and data needed by the CPU.
- Viral Memory: Likely referring to virtual memory, a technique that allows the OS to
use secondary storage as an extension of the main memory, enabling the execution of
larger applications.
3. Storage Management
- File System Interface: The OS provides an interface for users and applications to
interact with the file system, managing the creation, deletion, and access of files.
- File System Implementation: This involves the actual implementation of the file
system, which organizes and stores data on storage devices.
- Mass Storage Structure: Refers to the management of large-scale storage systems,
like hard drives, SSDs, and other persistent storage.
- I/O Systems: The OS manages input/output operations, coordinating communication
between hardware devices and software.
4. Distributed Systems
- Protection & Security: The OS ensures the protection of data and resources from
unauthorized access, providing mechanisms for securing the system.
- Special Purpose Systems: These are OS designed for specific applications, such as
real-time systems, embedded systems, or IoT devices.
5. Case Studies
- Linux: An example of an open-source operating system known for its stability,
flexibility, and widespread use in servers and desktops.
- Windows XP: A widely-used proprietary OS developed by Microsoft, known for its
user-friendly interface and broad application support.
6
Different Types of Operating System
Operating System
Multiprogramming System
Multiprocessor System
Distrubuted System
Clustered System
Desktop System
A Batch Operating System (BOS) is a type of operating system where jobs are collected in
batches and processed without user interaction. In these systems, the user prepares jobs,
submits them to the system, and then waits for the output.
Batch Operating Systems were developed in the 1950s and 1960s, primarily for mainframe
computers. The IBM 701 and IBM 704 were among the first systems to use batch processing.
The idea was to maximize the use of computing resources by grouping tasks together. The
Batch Monitor, introduced by General Motors for an IBM 701 in 1956, is often considered
one of the earliest forms of a Batch Operating System.
7
➢ Working:
In a Batch Operating System, jobs with similar needs are batched together and executed
sequentially. The system doesn’t allow for user interaction during the execution of tasks.
Users submit their programs (usually on punched cards), and these jobs are queued for
execution. The system processes them one by one, with each job running to completion
before the next one starts.
➢ Functionality:
- Job Scheduling: BOSs use job scheduling to determine the order in which jobs
are executed.
- Resource Management: Manages resources such as CPU, memory, and I/O
devices.
- Job Sequencing: Prioritizes jobs based on factors like execution time and
resource requirements.
➢ Advantages:
- Efficient Resource Utilization: By batching jobs, the system makes full use of
the CPU and other resources.
- Automation: Reduces human interaction by automating job processing.
- Simplified Processing: Suitable for large volumes of similar tasks.
➢ Disadvantages:
- No User Interaction: Users cannot interact with the system during job
execution, making debugging difficult.
- Fixed Priority: Job priority is usually fixed, leading to inefficient handling of
urgent tasks.
- Long Wait Times: Jobs may experience delays due to the sequential
processing of batches.
➢ Limitations:
Batch Operating Systems are not suitable for tasks requiring immediate user feedback or
interactive processing. Their design limits flexibility, making them less effective for modern
computing needs where real-time processing and user interaction are essential.
➢ Application:
- Payroll Processing
- Bank Statement Generation
- Transaction Processing
- Data Backup
- Billing Systems
8
Fig:Batch Processing System
2. Multiprogramming OS:
➢ Definition:
Multiprogramming was first developed in the 1960s as a way to improve CPU utilization.
IBM's OS/360, developed for the IBM System/360 mainframe, is one of the earliest
examples. The concept emerged from the need to make better use of the CPU by allowing it
to work on multiple tasks simultaneously instead of waiting for one task to complete.
➢ Working:
9
➢ Functionality:
- CPU Scheduling: Allocates CPU time to different processes based on a
scheduling algorithm.
- Memory Management: Ensures that multiple processes can coexist in memory
without interference.
- Concurrency Control: Manages concurrent execution of processes to avoid
conflicts.
➢ Advantages:
- Increased CPU Utilization: The CPU is rarely idle, as it switches between
tasks.
- Reduced Waiting Time: Programs don’t have to wait for I/O operations to
complete before the CPU can start processing them.
- Efficient Resource Use: Memory and I/O devices are used more efficiently.
➢ Disadvantages:
- Complexity: The system requires complex algorithms for scheduling and
resource management.
- Resource Contention: Multiple processes competing for resources can lead to
contention and bottlenecks.
- Security Risks: Sharing memory between processes can lead to security
vulnerabilities.
➢ Limitations:
➢ Application:
- Scientific Simulations
- Data Analysis
- Batch Job Processing
- Transaction Processing Systems
- Resource Management in Servers
10
Fig:Multiprogramming OS
A Time-Sharing Operating System allows multiple users to interact with a computer system
concurrently. The OS allocates a small time slice to each user or process, giving the illusion
of simultaneous execution.
Time-sharing systems were developed in the 1960s to allow multiple users to share a
computer interactively. MIT's Compatible Time-Sharing System (CTSS) and Multics are
early examples. The concept revolutionized computing by making powerful machines
accessible to many users at once.
➢ Application:
- Online Reservation Systems
- Multi-user Database Systems
- Virtual Desktop Infrastructure (VDI)
- Web Servers
- Educational Terminals
11
Fig:Time Sharing OS
➢ Definition:
A Real-Time Operating System (RTOS) is designed to process data as it comes in, typically
without buffering delays. It ensures that applications meet strict timing requirements, making
it ideal for systems where timely and deterministic responses are crucial.
Real-Time Operating Systems emerged in the 1960s and 1970s to meet the needs of
embedded systems, industrial automation, and other applications requiring precise timing.
Early examples include systems like RSX-11 from Digital Equipment Corporation (DEC)
and the first RTOS implementations by companies like VxWorks (developed by Wind River
Systems) and QNX (developed by QNX Software Systems, now a part of BlackBerry
Limited).
12
➢ Application:
- Autonomous Vehicles
- Robotics
Fig:Real Time OS
13
Trending Operating System Todays
1. Windows 11:
- Developer: Microsoft
- Platform: Desktop and Laptop
- Overview: Windows 11 is the latest version of Microsoft's Windows operating
system, released in October 2021. It features a redesigned user interface, improved
performance, and enhanced security. Windows 11 also includes better support for
gaming and new productivity features like Snap Layouts and Virtual Desktops.
- Trending Features: Integration with Microsoft Teams, DirectStorage for faster game
load times, support for Android apps via the Microsoft Store.
Fig:Windows 11 Os
14
2. Android 14
- Developer: Google
- Platform: Mobile and Tablets
- Overview: Android 14 is the latest version of Google's operating system for mobile
devices, officially released in 2023. It brings new features like better privacy controls,
improved battery life, and more customization options.
- Trending Features: Per-app language settings, predictive back gesture, satellite
connectivity support, and new accessibility features.
Fig:Android Os
15
3. Ubuntu 24.04 (LTS)
- Developer: Canonical
- Platform: Desktop, Server, Cloud
- Overview: Ubuntu is one of the most popular Linux distributions, known for its user-
friendliness and support from Canonical. The Long-Term Support (LTS) versions are
especially popular for their stability and extended support periods.
- Trending Features: Improved ZFS file system support, GNOME desktop
enhancements, better support for Wayland display server, and security features
focused on cloud and containerized environments
Fig:Ubuntu 24.04LTS
16
Conclusion
In the rapidly evolving world of technology, operating systems (OS) play a crucial role in
bridging the gap between hardware and software, making computing devices functional and
user-friendly. This project explored various types of operating systems, from early batch
systems to modern real-time and distributed systems, highlighting their development,
functionality, and impact on different computing environments.
Operating systems have grown from simple task managers into complex systems capable of
handling multiple processes, managing resources efficiently, and ensuring secure
environments. Whether it's a desktop OS like Windows or macOS, a mobile OS like Android
or iOS, or specialized systems like real-time OS, each has its unique advantages, limitations,
and areas of application.
The knowledge of different operating systems and their characteristics is essential for
understanding how modern computing environments operate. It also provides insights into
the future directions of OS development, where adaptability, security, and performance will
continue to be key focus areas.
17
References
- https://www.geeksforgeeks.org/what-is-an-operating-system/
- https://www.techtarget.com/whatis/definition/operating-system-OS
- https://www.javatpoint.com/operating-system
- https://www.tutorialspoint.com/operating_system/os_overview.htm
- https://www.britannica.com/technology/operating-system
- https://en.wikipedia.org/wiki/Operating_system
18