This is a repo containing my assignment solutions for the course CS330 - Operating Systems under prof. Debadatta Mishra. There were 3 Assignments in the duration of the course. The details of each Assignment can be found in their respective directories. The 2nd and 3rd assignments were done using the teaching OS (GemOS).
Wrote API functions for malloc and free syscalls, which are implemented using circular buffers.
Marks received = 97/100
In one part, we were required to use trace buffers to perform syscall tracing (strace) functionality. In another part, we had to perform function tracing (ftrace) using the same buffer to read and write the data.
Marks received = 100/100
In one part, we implemented memory management syscalls like mmap, mprotect and munmap. Lazy allocation in a 4-level paging scheme was used to implement this. In another part, we implemented cfork, which is a variant of the fork syscall, which uses a Copy-on-Write (CoW) policy.
Marks received = 96.5/100