- shell programming: optionally recursive renaming of files using sed.
- processes and signals: process communication using signals.
- scheduling: process scheduling methods.
- memory management: virtual memory page replacement algorithms.
- synchronization: dining philosophers problem using processes and semaphores.
- I/O operations: copying files using mmap or read/write syscalls.
- threads programming: dinning philosophers problem using threads and mutexes.