Learning Outcomes:
On completion of this module students should be able to: (i) Understand the concepts and structure of the Unix operating system; (ii) Be able to use the core utilities and perform administrative tasks; (iii) Write and understand advanced C programmes; (iv) Write shell scripts; (v) Know how to use source-code packaging tools (GNU build system).
Indicative Module Content:
History, the origin and the current state of Unix
Introduction to Unix shell
Intro to kernel, virtual memory, process image
File system, I/O, I/O in C
Virtual memory, process image and memory management in C
Shell, command arguments, program arguments in C
Kernel and system calls in C
Compilation, debugging, make
Threads and multi-threaded programming
Processes, signals, inter-process communication, networking
Shell scripting