Course Code: CS242
Course Name: Systems Software Lab
Prerequisites: CS203
Syllabus: Overview of Unix system, commands and utilities; basic Linux administration and installation: grub, rpm, yum, disk partitioning; basic Linux utilities, logging, backup, authentication; internet mail system: send mail, elm, mail administration; program maintenance: make, sccs, debugging with gdb and ddd; archiving: shar, tar; shell use: redirection, .cshrc, environment variables; regular expression parsing: grep, egrep, sed, awk; Unix system calls related to processes, the file structure & devices and inter-process communication; shell programming: bash; scripting Languages like Perl, Python, Java Script; documentation and presentation: document writing and slides using LaTex.
References: 1. E. Nemeth, G. Snyder and T. R. Hein, Linux Administration Handbook, Prentice Hall PTR, 2002.
2. L. Wall, T. Christainsen and J. Orwant, Programming PERL, 3rd Ed, OReilly, 1999.
3. B.W. Kernighan and R. Pike, The UNIX Programming Environment, Pearson, 2015.
4. S. Kochan and P. Wood, Unix Shell programming, 3rd Ed, SAMS, 2003.
5. S. Das, Unix System V.4 Concepts and Applications, 3rd Ed, Tata Mcgraw-Hill, 2003.
6. J. Corbet, A. Rubini, G. Kroah-Hartman, Linux Device Drivers 3rd Edition, O'Reilly & Associates, 2005.
7. D. Flanagan, Javascript: The Definitive Guide, Fifth Edition, O'REILLY, 2006.
8. W.R. Stevens and S.A. Rago, Advanced Programming in the UNIX Environment, 3rd Edition, Addison-Wesley, 2013.
9. L. Lamport, LaTeX: A Document Preparation System, 2nd Edition, Addison-Wesley Series, 1994.