This class offers an introduction to Operating Systems, with a particular focus on linux and unix based systems. The goal is to provide a method and the tools to program the shell and control the system (C and Java).
Course contents summary
Unix/Linux OS. History, structure and user interface. Unix shell. Bash shell, shell scripting, filters. System Programming in C. Syscalls and system libraries, process control, interprocess communication, threads and multithreading, file-system access and I/O. System Programming in Java. Introduction, language syntax, OOP, exceptions, Thread, Applet.
Lectures and assisted programming. Final project for each student to test the newly acquired skills. The exam is composed of a evaluation of exercises assigned during classes and of the final project. An oral examination is required for the discussion of such work.