Course Code: CENG 251
Academic Year: 2019-2020
This course focuses on the principles, theory and features of multi-user, multi-tasking operating systems. It covers processes, scheduling, input/output, memory management, file systems and system management. These concepts are illustrated by studying the operation of the UNIX operating system in detail. All UNIX commands are basically C programs or shell scripts. The approach is to first discuss the UNIX commands and then to write C programs that access the underlying libraries and data structures or shell scripts that emphasize the principles and common usage of these commands. As a result, successful students will have a firm and practical hands-on understanding of system programming techniques in C and UNIX shell script programming, which can lead to careers in system programming, application programming, systems or network administration, technical support and security analysis.