Welcome to this github page!
This repository is created to fulfill the final project for the IF2130 - Operating System 2025 course in ITB.
To set up and run the OS:
-
Make sure you are running this in a linux system (WSL is an option)
-
Initialize the virtual disk:
make disk
-
Insert the user shell:
make insert-shell
-
Insert the clock program:
make insert-clock
-
Run the OS:
make run
Note: Don't forget to un-pause the QEMU simulation manually!
To run the badapple animation:
-
Copy the
badapplefile from the/otherdirectory into/bin. -
Insert the
badapplebinary into the OS image:make insert-badapple
-
Run the OS and type
badapplein the shell and voila!
Some limitations and bad practice that are concerning and hopefully avoided in the future:
- Procedural DFS implementation in Filesystem
- EXT2 Filesystem requires a big amount of stack memory (4KB at least)
- User Shell own strtoken implementation, sometimes fail reading command name even though it's correct
- Badapple implementation using 1.4MB stack size, OS may prone to crash if not implemented properly