| || |
Goals, design and functions of operating systems, representing operating system abstractions. Processor and disk scheduling theory and algorithms, alternative processing environments and architectures, efficient resource management strategies.
Memory management, virtual architecture and management algorithm efficiency.
Basic file system design, space management options, mapping and interface. Protection and security theory.
Design approaches for interprocess communication and practical coding of alternative mechanisms.
Concurrency control and the mutual exclusion problem, deadlock, generic concurrency problems and coded strategies and solutions.
The lab work is Unix based and involves accessing operating system functions from a command shell and within programs, using various interprocess communication mechanisms and implementing solutions to concurrent programming problems.