Loading...

Course Code: CS2101L
Course Name: Systems Software Lab
Prerequisites: NIL
Syllabus: Overview of Unix system: commands and utilities; Basic Linux administration and installation: grub, dpkg/rpm, apt-get/yum, disk partitioning; Basic Linux utilities: logging, backup, authentication; System monitoring tools: top, htop, iotop, df, du, iostat, vmstat Program maintenance: make, sccs, git, debugging with gdb and ddd; Advanced debugging and profiling: strace, ltrace, perf, valgrind; Archiving: gz, tar; shell use: redirection, bashrc, cshrc, environment variables; Regular expression parsing: grep, egrep, sed, awk; Shell programming: bash; Process and resource management: fork, exec, wait, signal handling, proc filesystem exploration, file structure and devices and inter-process communication; Containers and virtualization: basics of docker, concept of containers vs VMs
References: 1. Kernighan, Brian W., and Rob Pike. The UNIX Programming Environment. Pearson, 2015.
2. Stevens, W. Richard, and Stephen A. Rago. Advanced Programming in the UNIX Environment (3rd ed.). Addison-Wesley, 2013.
3. Das, Sumitabha. Unix System: Concepts and Applications (4th ed.). Tata McGraw-Hill, 2017.