Operating System Quick Notes
What is an OS?
- Interface between user and hardware.
- Manages computer resources.
- Provides platform for programs.
Key functions:
- Resource management
- Process management
- Storage management
- Memory management
- Security
Common OS types:
- Windows,
- macOS,
- Linux,
- Unix
History of OS:
- First generation: Vacuum tubes, plug boards
- Second generation: Transistors, batch systems
- Third generation: Integrated circuits, multiprogramming
- Fourth generation: Large-scale integration, PCs
Characteristics of OS:
- Device management
- File management
- Job accounting
- Error-detecting aids
- Memory management
- Processor management
- Control on system performance
- Security
- Convenience
- Efficiency
- Ability to evolve
- Throughput
Components of an OS:
-
Shell (user interface)
- Kernel (core component)
Advantages of an OS:
- Resource management
- Efficient hardware use
- Security
- Application execution
Disadvantages of an OS:
- Complexity
- Cost
- Security vulnerabilities
Operating System Layers
- Hardware layer: Physical components (CPU, memory, I/O).
- Extended machine layer: Basic operations (context switching, dispatching, I/O initiation).
- Operating system layer: Manages system resources, provides interface for applications.
- User application layer: Programs interacting with OS.
Operating System Concepts
-
Process: Instance of a program in execution.
- Thread: Unit of execution within a process.
- Interprocess communication (IPC): Mechanisms for processes to interact.
- Scheduling: Allocating CPU time to different processes.
- Synchronization: Coordinating execution of multiple processes/threads.
- Deadlock: Situation where two or more processes wait for each other.
Types of Operating Systems
- Operating systems can be categorized based on their functionalities and target applications:
- Batch Operating Systems: Process jobs in batches, suitable for large-scale data processing tasks like payroll or inventory management.
- Multiprogramming Systems: Execute multiple programs concurrently, improving resource utilization.
- Multitasking Systems: Allow multiple tasks to run simultaneously within a single program.
- Multiprocessing Systems: Utilize multiple CPUs to enhance performance for computationally intensive tasks.
- Time-Sharing Systems: Divide processing time among multiple users, providing interactive computing experiences.
- Real-Time Systems: Guarantee timely responses to events, critical for applications like flight control or medical equipment.
- Distributed Systems: Spread tasks across multiple interconnected computers, enabling scalability and fault tolerance.
-Network Operating Systems: Manage network resources and provide services like file sharing, printing, and user authentication.
Specific Functions of operating System
- Memory Management: Allocating and deallocating memory to processes.
- Processor Management: Scheduling processes for CPU access.
- Device Management: Managing device communication and allocation.
- File Management: Organizing and managing files and directories.
- User Interface: Providing a command-line or graphical interface for user interaction.
- Booting: Starting or restarting the computer.
- Security: Implementing security measures to protect user data.
- Performance Control: Optimizing system performance through resource allocation and scheduling.
- Job Accounting: Tracking resource usage for tasks and users.
- Error Detection: Monitoring for and correcting system errors.
- Coordination: Coordinating between software and users.
- Basic Computer Tasks: Managing peripheral devices and network communication.
Services of Operating System
- User Interface: Providing a graphical or command-line interface.
- Program Execution: Running user and system programs.
- Input/Output Handling: Managing input and output operations.
- File System Manipulation: Storing, retrieving, and managing files.
- Resource Allocation: Allocating resources to processes.
- Accounting: Tracking system activities and resource usage.
- Information and Resource Protection: Protecting data and resources from unauthorized access.
- Communication: Enabling communication between processes.
- System Services: Providing additional services like printing and time management.
What is an Embedded Operating System?
- What is an Embedded Operating System?
- Specialized: Tailored for specific hardware and applications.
- Resource-constrained: Operates with limited memory, processing power, and storage.
- Real-time capabilities: Processes data and responds quickly to events with strict timing.
- Key Features
- Hardware management: Controls processors, memory, and I/O devices.
- Software environment: Runs application-specific programs.
- Reliability and stability: Designed for continuous, failure-free operation.
- Real-time scheduling: Uses algorithms to ensure timely task execution.
- Examples of Embedded Operating Systems
- Android OS – Used in smartphones and tablets.
- QNX RTOS – Popular real-time OS.
- VxWorks – Used in aerospace, automotive, and industrial fields.
- Embedded Linux – Linux version optimized for embedded systems.
- Examples of Embedded Systems
- Automotive: Engine control units, infotainment, navigation systems.
- Industrial: PLCs, robotic systems.
- Medical: Imaging and patient monitoring equipment.
- Consumer electronics: Smartphones, smart appliances, wearables.
Operating System Structure:
- Operating System Structure: Refers to how OS components are organized and interact to manage hardware and software.
- Common Operating System Structures:
-
1. Simple Structure:
- Few layers; components interact directly.
- Easy to implement but hard to debug/modify.
- Example: MS-DOS.
-
2. Layered Structure:
- OS divided into layers; each builds on the layer below.
- Improves modularity and debugging.
- Example: UNIX-based systems.
- Advantages: Easier debugging, implementation.
- Disadvantages: Overhead from multiple layers.
-
3. Microkernel Structure:
- Kernel contains only essential functions (e.g., process, memory management).
- Other services run as user-level processes.
- Improves modularity and portability.
- Example: MINIX, QNX.
- Disadvantage: Performance overhead due to inter-process communication.
-
4. Modular Structure:
- Allows dynamic loading/unloading of modules.
- Kernel can be extended during boot or runtime.
- Flexible and customizable.
- Considered one of the best OS designs.
-
5. Exokernel Structure:
- Minimizes abstraction, gives direct hardware access to applications.
- Maximizes performance and efficiency.
- Used in specialized systems.
-
1. Simple Structure:
- Other Key Concepts in OS Structure:
- System Calls: Interface between user programs and the OS.
- Process Management: Manages execution and resource allocation.
- Memory Management: Allocates and tracks system memory usage.
- File Management: Organizes and controls file storage.
- Device Drivers: Enable OS to communicate with hardware.
- Importance: Understanding OS structure is crucial for designing efficient and reliable systems.
Note: This is a brief overview of operating system concepts. For a more in-depth understanding, refer :
Learn Operating System for free at : Operating System - CompEduBoxOperating System Notes [ 4330703 ] | GTU | MCQs | Tutorial | Exam Notes
0 Comments