Definitions of operating systems, their historical evolution, their main parts. Processes, process states, control section, interrupt systems. Synchronicity: parallelism, critical areas, mutual exclusion, primitives of mutual exclusion, realization. Peterson Solution, Hardware Solutions, Test-and-Set, Semantics, Example Message Isolator, Readers & Writers, Producer-Consumer Systems, Implementation of Signs, Integer Signs. Critical areas under condition, event queues, monitors. Distributed synchronization: The algorithm of the bakery, the Ricart-Agrawala algorithm, token ring methods.
Memory management: (a) Real memory: organization, work, continuous-discontinuous sharing, fixed separation method, rotation. (b) Memory: paging, segmentation, combinations, average page length, average number of hole-parts, 50% rule, page replacement methods, locality, workgroup, layout-by-demand, program behavior. Schedule CPU and Disks. Deadlock Theory.