Operating systems – overview and objectives; Process concept – process control block, process life cycle; multi-processing and process management, multi-threaded programming; Process scheduling – long and short time scheduling, preemptive and non-preemptive scheduling, dispatching, scheduling criteria and algorithms; Concurrent cooperating sequential processes – process synchronization, critical section, synchronization hardwares, semaphores, monitors; Deadlocks – conditions for deadlock, deadlock prevention, avoidance, detection and recovery, classic problems; Memory management – partitioning, paging, segmentation, segmentation with paging; Virtual memory – demand paging, page replacement policies; I/O systems – I/O interfaces and busses, interrupt structures and interrupt handlers, Direct memory access; File systems – disk structures and disk accesses, blocking and buffering, directories and file allocation strategies, protection. RAID structures; Overview of Security and protection; Concepts of distributed and real time systems; Examples will be drawn from existing operating systems. |