The evaluation for this course includes a number of low-level C programming assignments that will help you become familiar with the development of OS internals and the lowest-level software that interacts directly with the kernel.

Asynchronous I/O (due 30 Mar 2018)

Implement some file interaction using both synchronous and asynchronous I/O.

Write a chat server (due 21 Mar 2018)

Implement a simple chat server (and client) using TCP on IPv4.

Write a filesystem (due 12 Mar 2018)

Implement a simple filesystem in userspace using FUSE.

Write a shell (due 12 Feb 2018)

Implement a simple shell program with a few features.

Memory allocation (due 2 Feb 2018)

Implement your own version of malloc(3), free(3) and related functions.


We will use Subversion to submit assignments. Your personal Subversion directory is: