This repository contains material required to complete exercises for the OS lab in the 2024 summer semester, including exercise sheets and associated resources.
Make sure to read this document carefully, as it contains vital information regarding the grading of exercises.
This schedule gives you an overview of the topics we will discuss on each date. It will be updated continuously throughout the semester. Note that exercises associated with a given date are to be discussed on that day, i.e., solutions for that exercise have to be handed in via OLAT by 17:00 on the previous day (Tuesdays).
Date | Exc | Topic | Notes |
---|---|---|---|
2024-03-06 | - | C recap slides | |
2024-03-13 | 1 | Self-assessment, ssh, commandline aruments | Makefile slides |
2024-03-20 | 2 | Makefile, signal, fork | |
2024-03-27 | - | Break | |
2024-04-03 | - | Break | |
2024-04-10 | 3 | Permissions, exit codes, pthreads | |
2024-04-17 | 4 | Valgrind, pipes, fifos | |
2024-04-24 | 5 | Message queues, shared memory, synchronization | |
2024-05-08 | 6 | Atomics, mutex, condition variables | |
2024-05-15 | 7 | Strace, deadlock, thread pool | |
2024-05-22 | 8 | TCP sockets, HTTP web server | |
2024-05-29 | 9 | TCP sockets (chat) | |
2024-06-05 | 10 | Barriers, linking | |
2024-06-12 | 11 | Last year's test | Bonus points |
2024-06-19 | - | Test | |
2024-06-26 | - | Q&A, Feedback |
All programming exercises are conducted in C.
Your code should always compile without warnings, when passing the flags -Wall -Wextra -std=c11
.
Make sure your code is properly formatted using either your IDE/Text editor of choice, or by using a tool such as clang-format.
You can find an example .clang-format
file in this repository.
Failure to consistently format code may result in lower scores.
Make sure to choose descriptive variable and function names. All names and comments must be written in English.
All programming exercise solutions you hand in must compile properly on the ZID-GPL server. The easiest way of ensuring this is by developing on ZID-GPL directly, either through a terminal or using an editor/IDE with support for remote development via SSH (such as Visual Studio Code).
Important: Facing issues with your system is not a valid excuse for only partially completing exercise sheets or avoiding them entirely. If you encounter difficulties, use ZID-GPL.
To log into ZID-GPL via SSH, use the following command on Linux/Mac OSX:
ssh -l <username> zid-gpl.uibk.ac.at
On Windows, you can use Powershell (Windows 10) or a third-party SSH client such as PuTTY.