Introduction to Operating Systems

This Module will introduce students to Operating Systems (OS) and system programming aspects at the OS level.
Students need to understand an OS’s anatomy, key functions, and different layers in order to operate OSs successfully since they are crucial pieces of software that enable machines to execute all programs.
Basic concepts found in imperative programming languages, such as variables, functions, and program flows will be used to control the different operations of the OS. The primary teaching environment used is Linux, as it is available on most devices and provides a high-security efficient environment. The C programming language will be used to perform experiments, allowing students to access low-level file input/output, manipulate memory and perform signal handling. Towards the end of the unit, students will have an excellent understanding of C and their coding level will improve drastically.