Welcome to the Operating System and System Programming Lab course. This course introduces about the tools used to develop modern operating systems (OS). The focuses of this course is UNIX-based operating systems, though alternative operating systems, including MS Windows are introduced. This course is divided into two parts. The first part is about GNU/Linux command line interface. Where around 50 important commands are exercised. The second parts is about GNU/Linux application programming interface. In this part the creation and control of processes and threads are practiced. The cooperative process resource share management system and some advanced topics in the field of concurrency (synchronization, mutual exclusion, deadlock, starvation), memory (both primary and secondary) management and  input/output file organization are practiced.


Skill Level: Beginner