Advanced Operating Systems (9 CFU)
MS Degree in Computer Engineering
Academic Year 2020/2021

Lecturer: Francesco Quaglia


The examination requires fulfilling the development of a project in the Linux kernel, which must comply with the following specification. Each student should develop the project individually.

TAG-based data exchange

This specification is related to the implementation of a Linux kernel subsystem that allows exchanging messages across threads. The service has 32 levels (namely, tags) by default, and should be driven by the following system calls:

By default, at least 256 TAG services should be allowed to be handled by software. Also, the maximum size of the handled message should be of at least 4 KB.

Also, a device driver musy be offered to check with the current state, namely the TAG service current keys and the number of threads currently waiting for messages. Each line of the corresponding device file should be therefore structured as "TAG-key TAG-creator TAG-level Waiting-threads".


Project delivery

Projects can be delivered (for analysis and discussion) at any scheduled tutoring slot