Things you should already know

From your past experience you should already be familiar with the following concepts (you can brush up by consulting your favorite operating systems textbook.

  • Synchronization: critical section , monitors, semaphores

  • Deadlock prevention and detection algorithms

  • Scheduling, FIFO, LIFO, priority queue, SJF, ready queue

  • Memory management: virtual memory, segmented memory, caches

  • File management

  • Protection mechanisms: kernel vs user modes, memory protection

  • Concept of virtual machines: processes, resources

  •