operating system basics - TarisMajor/5143-OpSystems GitHub Wiki

Operating System Basics

This section provides high-level definitions and explanations of fundamental concepts in operating systems, including their components, processes, and types.


Table of Contents


Kernel

  • Definition: The core component of an operating system that manages hardware resources and provides essential services to applications.
  • Functions:
    • Process management.
    • Memory management.
    • Device control.
    • System security.

Figure 1: Kernel Architecture.


System Calls

  • Definition: Interfaces provided by the operating system for programs to request services from the kernel.
  • Examples:
    • File manipulation (e.g., open, read, write).
    • Process control (e.g., fork, exec).
    • Network communication.

Figure 2: System Call Interface.


User Mode vs. Kernel Mode

  • User Mode:
    • Executes user applications with limited access to hardware resources.
    • Prevents unauthorized operations to maintain system stability.
  • Kernel Mode:
    • Executes system-level operations with full access to hardware.
    • Required for operations like memory management and device control.
  • Key Concept: The CPU switches between modes to ensure security and efficiency.

Figure 3: User Mode vs. Kernel Mode.


Bootstrapping/Boot Process

  • Definition: The process by which an operating system is loaded into memory and initialized.
  • Steps:
    1. BIOS/UEFI: Performs basic hardware initialization.
    2. Bootloader: Loads the kernel into memory.
    3. Kernel Initialization: Starts system processes and drivers.
    4. User Space Initialization: Begins user applications.
  • Importance: Essential for starting a functional computing environment.

Figure 4: Boot Process Diagram.


Operating System Types

Batch Systems

  • Definition: Execute batches of jobs without user interaction.
  • Advantages:
    • Efficient for large-scale data processing.
  • Drawbacks:
    • Lack of real-time interaction.
  • Use Case: Early mainframes for scientific computation.

Figure 5: Batch System Diagram.


Time-Sharing Systems

  • Definition: Allow multiple users to share system resources interactively.
  • Features:
    • Use of scheduling to allocate CPU time.
    • Fast context switching.
  • Examples:
    • Unix and Linux systems.

Figure 6: Time-Sharing System Diagram.


Real-Time Operating Systems

  • Definition: Designed to process tasks within strict timing constraints.
  • Types:
    • Hard Real-Time: Guarantees strict deadlines.
    • Soft Real-Time: Prioritizes deadlines but may allow minor delays.
  • Use Cases:
    • Embedded systems.
    • Industrial automation.

Figure 7: Real-Time Operating System Architecture.


Distributed Operating Systems

  • Definition: Manage a group of independent computers as a single system.
  • Features:
    • Shared resources across multiple systems.
    • Transparency in resource access.
  • Examples:
    • Apache Hadoop for distributed storage and processing.

Figure 8: Distributed Operating System Architecture.


Embedded Systems

  • Definition: Specialized operating systems designed for specific hardware and applications.
  • Characteristics:
    • Limited resources (e.g., CPU, memory).
    • High reliability.
  • Examples:
    • Automotive control systems.
    • IoT devices.

Figure 9: Embedded System Block Diagram.


Conclusion

Operating system basics provide foundational knowledge essential for understanding how systems manage resources, execute tasks, and interact with hardware. Different types of operating systems address various needs, from interactive environments to real-time constraints.


References

  1. Tanenbaum, A. S., & Bos, H. (2022). Modern Operating Systems (5th ed.). Pearson. ISBN: 978-0137618880.

  2. Silberschatz, A., Galvin, P. B., & Gagne, G. (2018). Operating System Concepts (10th ed.). Wiley. ISBN: 978-1119456339.

  3. Stallings, W. (2018). Operating Systems: Internals and Design Principles (9th ed.). Pearson. ISBN: 978-0134670959.

  4. Kurose, J. F., & Ross, K. W. (2024). Computer Networking: A Top-Down Approach (8th ed.). Pearson. ISBN: 978-0136681557.

  5. Edelman, J., Lowe, S. S., & Oswalt, M. (2023). Network Programmability and Automation (2nd ed.). O'Reilly Media. ISBN: 978-1492082104.