This repository contains the development of the practices of the subject Operating Systems II (SO2). This course offers an internal vision of the basic functioning of an Operating System, evaluating the implication that the implementation of different system components has on the performance of the applications.
This repository contains two main things, the laboratory of the course (divided in two parts) made with Alfonso Hels and a small paper about malware in new architectures in RISC-V.
Part1: The first part of the semester we implemented our first system calls, with wrapper functions for user in Assembly and the Kernel code for them. Here we understood the original structures of the initial OS we had (that had nearly any functionality) and started modifying them for our needs.
Part2: This was the final project and, without any doubt, the most challenging part of the course. We implemented more complex structures for optimizing interrupts (for handling keyboard events better), screen management, thread creation with shared memory and dynamic stacks, and much more. With all of this functionalities we implemented a very simple version of Dangerous Dave game.
We are very proud that our final project was graded with a 11/10 (we got an extra point for implementing a optional feature).
My small paper of Malware and Emerging Architectures: The Case of RISC-V was graded with a 10. This was originaly written in Catalan, but I will be translating it soon.