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.