Operating Systems Cheatsheet - Part 2

9. Process Scheduling Algorithms

Round Robin (RR)

  • Description: Each process is assigned a fixed time in cyclic order.
  • Advantages: Fairness, prevents starvation.
  • Disadvantages: Poor performance for long tasks.

Shortest Job Next (SJN) / Shortest Job First (SJF)

  • Description: The process with the smallest execution time is selected next.
  • Advantages: Minimizes average waiting time.
  • Disadvantages: Requires knowledge of process execution times.

Priority Scheduling

  • Description: Processes are assigned priorities, and the highest priority process is selected next.
  • Advantages: Allows for different levels of importance.
  • Disadvantages: Starvation of low-priority processes.

10. Memory Management Techniques

Paging

  • Description: Divides memory into fixed-size blocks (pages) and processes into blocks of the same size.
  • Advantages: Simplifies memory allocation.
  • Disadvantages: Fragmentation.

Segmentation

  • Description: Divides memory into segments based on logical units such as code, data, and stack.
  • Advantages: Supports dynamic memory allocation.
  • Disadvantages: Fragmentation.

Demand Paging

  • Description: Only loads pages into memory when needed.
  • Advantages: Reduces memory wastage.
  • Disadvantages: Increased overhead.

11. File System Types

FAT (File Allocation Table)

  • Description: Uses a table to map clusters to files.
  • Advantages: Simple and widely supported.
  • Disadvantages: Limited file size and fragmentation.

NTFS (New Technology File System)

  • Description: Journaling file system with improved performance, reliability, and security.
  • Advantages: Supports large files and file compression.
  • Disadvantages: More complex than FAT.

ext4 (Fourth Extended File System)

  • Description: Default file system for many Linux distributions.
  • Advantages: Improved performance and reliability compared to ext3.
  • Disadvantages: Not backward compatible with ext3.

12. Security Mechanisms

User Authentication

  • Description: Verifies the identity of users before granting access to the system.
  • Methods: Passwords, biometrics, two-factor authentication.

Access Control Lists (ACLs)

  • Description: Specifies which users or system processes are granted access to objects.
  • Types: Discretionary, mandatory.

Encryption

  • Description: Converts data into a form that cannot be easily understood without authorization.
  • Methods: Symmetric key encryption, asymmetric key encryption.

13. Real-Time Operating Systems (RTOS)

Hard Real-Time Systems

  • Description: Strict deadlines must be met. Failure to meet a deadline can have catastrophic consequences.
  • Applications: Aircraft control systems, medical devices.

Soft Real-Time Systems

  • Description: Deadlines are important but not as strict as in hard real-time systems. Some missed deadlines may be tolerated.
  • Applications: Multimedia systems, robotics.

14. Mobile Operating Systems

Android

  • Description: Open-source OS developed by Google for smartphones and tablets.
  • Features: Customizable user interface, wide range of apps.

iOS

  • Description: Proprietary OS developed by Apple for iPhones, iPads, and iPods.
  • Features: Tight integration with Apple's ecosystem, emphasis on security and privacy.

15. Server Operating Systems

Linux Server

  • Description: Widely used open-source OS for servers.
  • Features: Stability, security, and flexibility.

Windows Server

  • Description: Operating system developed by Microsoft for servers.
  • Features: Active Directory, Remote Desktop Services, PowerShell.

16. Distributed Operating Systems

Definition

  • Description: Operating systems that run on multiple interconnected computers and coordinate their activities.

Characteristics

  • Transparency: Hide the distribution of resources from users and applications.
  • Concurrency: Allow multiple processes to run simultaneously across different machines.
  • Fault Tolerance: Tolerate failures of individual machines without affecting the system as a whole.

Examples

  • Google File System (GFS): Distributed file system used by Google for storing and accessing large amounts of data.
  • Apache Hadoop: Framework for distributed storage and processing of large datasets.

17. Parallel Operating Systems

Definition

  • Description: Operating systems designed to manage multiple processors in parallel computing environments.

Parallelism Models

  • Shared Memory: Multiple processors share a common memory.
  • Distributed Memory: Each processor has its own memory, and communication occurs through message passing.

Examples

  • MPI (Message Passing Interface): Library for parallel programming using message passing.
  • OpenMP: API for shared-memory parallel programming in C, C++, and Fortran.

18. Embedded Operating Systems

Definition

  • Description: Operating systems designed for embedded systems with limited resources and specific functionality requirements.

Characteristics

  • Small Footprint: Minimal memory and storage requirements.
  • Real-Time Performance: Predictable and deterministic response times.
  • Customization: Tailored for specific hardware and applications.

Examples

  • FreeRTOS: Open-source real-time operating system kernel for microcontrollers.
  • Embedded Linux: Linux distributions customized for embedded systems, such as Raspberry Pi OS.

19. Network Operating Systems

Definition

  • Description: Operating systems specifically designed to support networked computing environments.

Features

  • File Sharing: Allows multiple users to access and share files over a network.
  • Print Sharing: Enables printers to be shared among multiple users.
  • User Authentication: Controls access to network resources based on user credentials.

Examples

  • Windows Server: Provides network services such as file sharing, print sharing, and user authentication.
  • Linux Network Operating System (NOS): Linux distributions configured to function as network servers.

20. Virtualization

Definition

  • Description: Technique of creating virtual instances of computer resources, such as hardware platforms, operating systems, storage devices, or network resources.

Types

  • Hardware Virtualization: Virtualization of physical hardware resources, such as CPUs, memory, and storage.
  • Software Virtualization: Virtualization of operating systems or applications within a host operating system.

Examples

  • VMware vSphere: Virtualization platform for building cloud infrastructures.
  • VirtualBox: Open-source virtualization software for x86 and AMD64/Intel64 computers.
Comments (5)