1.
4 - Operating System Concepts
Created By (ANUSHKASIF TRIPTION) or tech.nap
Our Website Tap this
Definition of an Operating System
An operating system (OS) is crucial system software that acts as an intermediary between computer
hardware and user interactions. It manages computer resources, performs fundamental duties, and
provides a user-friendly interface for applications to interact with the hardware.
Key Functions of an Operating System:
• Resource Management: Manages hardware resources such as CPU, memory, storage, and
input/output devices.
• File Management: Organizes and controls file operations, including creation, deletion, and
access.
• Memory Management: Allocates and deallocates memory space for processes and manages
memory usage.
• Process Management: Controls the execution of processes, including scheduling,
synchronization, and inter-process communication.
• Device Management: Manages peripheral devices and their interactions with the computer
system.
• User Interface: Provides a user interface (UI) for user interactions, such as graphical user
interfaces (GUIs) or command-line interfaces (CLIs).
Process Concept
A process is defined as an instance of a program in execution. It includes the program code, data, and
the context in which it executes.
Key Aspects of a Process:
• Execution Context: The state and resources of a process while it is running.
• Address Space: The range of memory addresses a process can access.
• Instruction Set: A process executes a set of instructions within its address space.
History of Operating Systems
The evolution of operating systems reflects the advancement in computing technology and user
needs:
• 1950s: Early computers, like calculators, could only run one program at a time.
•
1960s: IBM developed the first operating systems for its mainframe computers. The oN-Line
System (NLS) was an early example of a desktop-like OS.
• 1970s: The development of Unix by MIT, AT&T Bell Labs, and General Electric marked a
significant advancement. Unix evolved into various derivatives, including FreeBSD.
• 1981: Microsoft acquired and renamed QDOS to MS-DOS. MS-DOS was eventually replaced
by newer operating systems.
• 1995: Microsoft introduced Windows 95, a consumer-oriented OS with a graphical user
interface built on top of MS-DOS.
Importance of Learning About Operating Systems
Understanding operating systems is essential for becoming a proficient computer programmer. It
provides insight into:
• Data Storage: How data is stored and managed on disks.
• Process Management: How processes are created, scheduled, and managed by the CPU.
• I/O Operations: How input and output devices interact with the operating system.
Benefits of Studying Operating Systems:
• Enhanced Programming Skills: Knowledge of OS internals helps in writing efficient and
optimized code.
• Problem Solving: Understanding OS concepts aids in diagnosing and solving system-level
problems.
• System Design: Insights into OS functionality contribute to designing and developing better
software applications.
Functions of Operating System
1. Memory Management
Memory management is crucial for the efficient operation of a computer. The operating system
manages the computer’s primary or main memory, ensuring that each process receives the
necessary memory resources without interference.
Key Functions:
• Monitoring: Tracks memory usage by each program, including allocated and free memory
addresses.
• Allocation: Assigns memory to processes as needed and deallocates it when processes
complete or perform I/O operations.
• Protection: Prevents processes from accessing memory reserved for other processes.
Figure: Memory Management
2. Processor Management
Processor management, or process scheduling, involves managing the CPU’s time and resources
among various processes.
Key Functions:
• Task Assignment: Allocates CPU time to different processes, ensuring fair and efficient
processing.
• State Monitoring: Tracks the status of processes to manage their execution effectively.
• Process Scheduling: Determines the order and duration for each process to use the CPU.
Figure: Processor Management
3. Device Management
The operating system manages hardware devices through device drivers, handling their operations
and interactions with the system.
Key Functions:
• Device Monitoring: Keeps track of all connected devices and their status.
• Driver Identification: Uses device drivers to manage input/output operations for each
device.
• Allocation: Selects processes for device access and manages device usage efficiently.
• Device Management: Handles the operation of input and output devices, processing
requests and providing responses to requesting processes.
Figure: Device Management
4. File Management
File management involves organizing and controlling the storage and retrieval of files.
Key Functions:
• File Organization: Manages directories and the file system structure for efficient file storage
and access.
• Status Monitoring: Tracks file status, user access rights, and storage locations.
• Integrity Protection: Ensures data integrity and prevents unauthorized access to files.
Figure: File Management
5. User Interface or Command Interpreter
The operating system provides a user interface, enabling users to interact with the computer system.
Key Functions:
•
• User Interaction: Facilitates interaction with the system through a graphical user interface
(GUI) or command-line interface (CLI).
Command Processing: Interprets and executes user commands, providing feedback and
managing system resources accordingly.
Figure: Command Interpreter
6. Booting the Computer
Booting is the process of starting or restarting a computer.
Key Functions:
• Cold Booting: Initiates the computer from a completely powered-off state.
• Warm Booting: Restarts the computer without fully turning it off.
7. Security
The operating system employs various strategies to protect user data and system integrity.
Key Functions:
• Access Control: Implements login systems to prevent unauthorized access.
• Intrusion Prevention: Uses firewalls and other security measures to protect against external
threats.
• Memory Protection: Safeguards system memory from malicious access.
• Vulnerability Management: Displays security messages and alerts related to system
vulnerabilities.
8. Control Over System Performance
The operating system plays a critical role in managing and enhancing system performance.
Key Functions:
• Resource Allocation: Distributes memory, CPU time, and I/O devices across processes for
efficient use.
• Process Scheduling: Manages process execution to prevent CPU overload and facilitate
multitasking.
Figure: Control Over System Performance
9. Job Accounting
The operating system tracks the time and resources used by various jobs and users.
Key Functions:
• Resource Tracking: Records resource utilization to monitor and manage usage effectively.
• Job Prioritization: Determines which processes to execute and how much time to allocate to
each.
10. Error-Detecting Aids
The operating system continuously checks for system errors and malfunctions.
Key Functions:
• System Scanning: Regularly scans for harmful software or hardware issues.
• Error Notifications: Alerts users to system problems and provides guidance for resolution.
11. Coordination Between Software and Users
The operating system manages the distribution of software and ensures smooth interaction between
different programs and users.
Key Functions:
• Software Management: Regulates access to interpreters, compilers, and other software
tools.
• Resource Sharing: Prevents software conflicts and ensures smooth operation of multiple
programs.
12. Basic Computer Tasks
The operating system manages peripheral devices and their interactions with the system.
Key Functions:
• Device Management: Automatically detects and configures devices through plug-and-play
functionality.
• Peripheral Control: Manages devices such as keyboards, mice, and printers.
13. Network Management
The operating system handles network communication and connectivity.
Key Functions:
• Data Transmission: Manages the packaging and transmission of data over networks.
• Network Configuration: Sets up and monitors network connections, such as Ethernet or Wi-
Fi.
• Performance Monitoring: Ensures effective and secure network utilization.
Types of Operating Systems
1. Batch Operating System
•
A Batch Operating System processes jobs in batches without user interaction during the job
execution. Jobs with similar requirements are grouped together by an operator.
Advantages:
• Predictable processing times for jobs.
•
•
Efficient for handling large volumes of similar tasks.
Minimal idle time between jobs.
• Multiple users can share system resources.
Disadvantages:
• Requires skilled operators.
• Debugging can be complex.
• Job failures cause delays for other jobs.
• Generally costly for setup and maintenance.
Examples: Payroll systems, bank statements.
2. Multi-Programming Operating System
A Multi-Programming Operating System allows multiple programs to reside in memory and execute
concurrently. This enhances resource utilization and system efficiency.
Advantages:
• Increased system throughput.
• Faster response times for processes.
Disadvantages:
• Users cannot interact directly with system resources.
3. Multi-Processing Operating System
A Multi-Processing Operating System uses multiple CPUs to execute processes simultaneously,
increasing the system's processing power and efficiency.
Advantages:
• Enhanced system throughput.
• Redundancy: If one CPU fails, others can continue to function.
Disadvantages:
• Increased system complexity.
4. Multi-Tasking Operating System
A Multi-Tasking Operating System allows multiple tasks or programs to run concurrently. It uses
scheduling algorithms to manage task execution.
Types:
•
•
• Preemptive Multi-Tasking: The OS can interrupt tasks to switch to another.
• Cooperative Multi-Tasking: Tasks voluntarily yield control to allow other tasks to run.
Advantages:
Simultaneous execution of multiple programs.
Efficient memory management.
Disadvantages:
• Can cause overheating with intensive multitasking.
5. Time-Sharing Operating Systems
Time-Sharing Operating Systems allocate CPU time to multiple tasks or users in a round-robin
fashion, ensuring fair access to resources.
Advantages:
• Equal opportunity for tasks.
• Reduced CPU idle time.
• Efficient resource sharing.
• Improved productivity and user experience.
Disadvantages:
• Reliability issues.
• Security and integrity concerns.
• Data transmission challenges.
• High cost due to system complexity.
Examples: IBM VM/CMS, TSO, Windows Terminal Services.
6. Distributed Operating System
Distributed Operating Systems manage a network of independent computers to appear as a single
cohesive system. They facilitate resource sharing and communication across multiple systems.
Advantages:
• Independent systems reduce network impact if one fails.
• Faster data exchange and resource sharing.
• Scalability and reduced processing delays.
Disadvantages:
•
•
• Complex coordination and management.
• Increased potential for security issues.
7. Network Operating System
Network Operating Systems manage network resources, including user access, security, and shared
files and applications. They operate over a network, providing centralized control.
Advantages:
Reliable centralized server management.
Enhanced security and upgrade capabilities.
• Remote access and management.
Disadvantages:
• High cost for servers.
• Dependence on central servers.
• Regular maintenance required.
Examples: Novell NetWare, BSD, UNIX, Linux, Windows Server.
8. Real-Time Operating System (RTOS)
Real-Time Operating Systems are designed to process data and respond to inputs within a strict time
frame, crucial for applications with stringent timing requirements.
Types:
• Hard Real-Time Systems: Require immediate response without delay.
• Soft Real-Time Systems: Have less stringent timing requirements.
Advantages:
• Efficient use of resources.
• Minimal task switching time.
• High reliability and error-free operations.
• Effective memory management.
Disadvantages:
• Limited task execution.
• High resource utilization.
• Complex algorithm requirements.
•
•
• Needs specialized device drivers and interrupt signals.
Examples: Robotics, air traffic control systems, medical imaging systems.
Summary
Computer systems integrate hardware and software to perform tasks efficiently. Key hardware
components include the CPU, memory, storage devices, and input/output devices. Software is
categorized into system software (operating systems) and application software. Operating systems
manage hardware resources, provide a user interface, and support multitasking, security, and
resource management. Understanding these systems is crucial for effective technology use and
development.