Skip to main content

Introduction

Courses

Important Topics

  • Processes, Threads, Concurrency issues
    • Difference between processes and threads
    • Processes
    • Threads
    • Locks
    • Mutexes
    • Semaphores
    • Monitors
    • How they work?
    • Deadlock
    • Livelock
    • CPU activity, interrupts, context switching
    • Modern concurrency constructs with multicore processors

Simple OS Course

  • Operating Systems - Youtube (videos)
    • Paging, segmentation and virtual memory
    • Interrupts
    • Scheduling
    • Process resource needs (memory: code, static storage, stack, heap, and also file descriptors, i/o)
    • Thread resource needs (shares above (minus stack) with other threads in the same process but each has its own pc, stack counter, registers, and stack)
    • Forking is really copy on write (read-only) until the new process writes to memory, then it does a full copy.
    • Context switching
      • How context switching is initiated by the operating system and underlying hardware?

Memory Management and File Systems

Using OS Constructs in Programming

Implementing Operating System