Students Involved: Kokoromytis Georgios, Konstantinos Fratzeskos
This repository collects coursework and exercise material for the Operating Systems laboratory, in ECE School of NTUA. The projects focus on core kernel-space concepts: Linux character device drivers, line disciplines, filesystem internals, synchronization, blocking I/O, and low-level process or memory behavior.
| Path | Topic | Description |
|---|---|---|
lunix-tng/README.md |
Character device driver | Implementation of the userspace-facing part of the Lunix:TNG wireless sensor network driver |
fs/README.md |
Filesystem | ext2-lite Linux kernel filesystem module based on a reduced ext2 design |
riddle/README.md |
CTF-like puzzles | Helper programs, notes, and artifacts for a binary exploitation / systems-behavior challenge named riddle |
lunix-tng/contains a kernel module build for the 2024Lunix:TNGlab, with the student work centered on the character device layer (open,read, release logic, cached formatting, blocking reads, and device registration)fs/contains anext2-litefilesystem module with the usual ext2-style split across superblock, inode, allocation, directory, and pathname handling coderiddle/contains small standalone C utilities and scripts used to satisfy individual challenge conditions of the providedriddlebinary
- These projects were run on a custom VM - Utopia - built on QEMU-KVM, provided by CSLab NTUA. The kernel version used for development was Linux 6.11.
- Some workflows require root privileges because they load kernel modules, create device nodes, or mount filesystems
- The repository also contains generated binaries and run artifacts inside
riddle/; they are part of the working history rather than core source code