This repository is a hub for my Operating Systems coursework projects implemented on xv6-riscv .
Repo: https://github.com/adamrammal/os_assigment1
Key work: memsize syscall + test, exit messages (exit/wait) + shell printing, forkn + waitall + bigarray.c.
Repo: https://github.com/adamrammal/xv6-assignment2
Key work: kernel-managed Peterson locks via syscalls (create/acquire/release/destroy), userspace tournament-tree mutual exclusion built using Peterson locks.
Repo: https://github.com/adamrammal/os-assignment3
Key work: shared-memory mapping/unmapping between processes + tests, multi-process logging using a shared buffer and atomic operations (CAS).
C, xv6-riscv, processes, system calls, synchronization, virtual memory, shared memory, atomic operations.