Skip to main content

Section outline

  • Session 1: Introduction to Operating Systems 
    • What is an OS?
    • Why do we need an OS?
    • Core tasks performed by an OS
    • Types of OS & Selection Criteria
    Session 2: Process Management 
    • Process Overview & States
    • Process Control Block (PCB)
    • Process Creation & Operations
    • Waiting for Process Termination
    • Zombie & Orphan Processes
    Session 3: Hands-on Lab – Creating and Managing Processes in Linux 
    Session 4: Case Study & Discussion (3:00 PM – 4:30 PM)
  • Session 5: Task Management 
    • Task Lifecycle
    • Creating & Deleting Tasks
    • Idle Tasks & Hooks
    • Analyzing CPU Utilization (MIPS) for a Task
    Session 6: Context Switching 
    • Task Context & Context Switching
    • Flow of Context Switching Between Tasks & Interrupts
    Session 7: Hands-on Lab – Implementing Task Scheduling & Context Switching 
    Session 8: Debugging & Performance Optimization 
  • Session 9: Scheduler & Scheduling Policies 
    • Preemptive & Non-Preemptive Scheduling
    • Round-Robin & Priority-Based Scheduling
    • Deadline Monotonic & Rate Monotonic Scheduling
    Session 10: Memory Management 
    • Memory Allocation & Management in Linux & FreeRTOS
    • Memory Layout of a Program: Code, Data, Stack, Heap Segments
    • Cache Management & Performance Considerations
    Session 11: Hands-on Lab – Memory Analysis in Linux & FreeRTOS 
    Session 12: Case Study – Optimizing Memory for Real-World Applications 
  • Session 13: Concurrency Management 
    • Atomic Operations & Synchronization Techniques
    • Mutexes & Semaphores
    • Deadlocks, Livelocks, and Starvation
    Session 14: Inter-task Communication (ITC) 
    • Events, Mailboxes, Queues, and Task Notifications
    • Waiting & Waking up Tasks Efficiently
    Session 15: Hands-on Lab – Implementing Concurrency Control & ITC 
    Session 16: Debugging Deadlocks & Synchronization Issues 
  • Session 17: Inter-Process Communication (IPC) 
    • Pipes & FIFOs
    • Message Queues & Shared Memory
    • Process Semaphores
    Session 18: Choosing the Right IPC Mechanism 
    • Comparison of IPC Techniques for Different Use Cases
    Session 19: Hands-on Lab – Implementing IPC in Linux 
    Session 20: Final Project & Certification 
    • Participants build a multitasking application with IPC & Synchronization