Skip to main content

Section outline

  • Session 1: Introduction to Operating Systems

    • What is an Operating System?
    • Types and selection criteria of Operating Systems.
    • Core tasks and functionalities.

    Session 2: Process Management

    • Process Overview and Control Block (PCB).
    • Process Creation and Operations.
    • Handling Zombie and Orphan Processes.
  • Session 3: Task Management

    • Task Life Cycle and Management.
    • Creating and Deleting Tasks.
    • Task Prioritization and Idle Tasks.
    • MIPS Analysis for Task Performance.

    Session 4: Context Switching

    • What is Context Switching?
    • Context Saving and Restoring.
    • Task and Interrupt Context Switching.
  • Session 5: Scheduling and Scheduler Policies

    • Pre-emptive vs. Non-Pre-emptive Scheduling.
    • Round-Robin and Priority-Based Scheduling.
    • Rate Monotonic Scheduling.

    Session 6: Memory Management

    • Memory Layout of a Program: Code, Data, Stack, Heap.
    • Linux and FreeRTOS Memory Management.
    • Caches and Side Effects.
  • Session 7: Concurrency Management

    • Why Concurrency Management Matters.
    • Mutexes, Semaphores, and Atomic Operations.
    • Side Effects: Deadlocks, Livelocks, and Starvation.

    Session 8: Inter-Task Communication (ITC)

    • Events, Mailboxes, Queues, Task Notifications.
    • Waiting and Waking Tasks.
  • Session 9: Inter-Process Communication (IPC)

    • Pipes, FIFOs, Message Queues, Shared Memory, Semaphores.
    • Choosing the right IPC Mechanism for specific tasks.

    Session 10: Final Review and Hands-on Project

    • Capstone Project integrating:
      • Processes, Tasks, Synchronization, and IPC.
    • Q&A Session and Certification.