The design and theory of multiprogrammed operating systems, concurrent processes, process communication, input/output supervisors, memory management, resource allocation and scheduling are studied.
Prerequisites
knowledge of computer organization and elementary data structures, and a strong programming background