A simple operating system from scratch runs on Raspberry Pi 3 Model B.
Self-learning project based on NYCU OSDI Spring 2022 course.
-
I started this project in 2022 summer vocation. I plan to finish it in
2023 winter vocation. -
The source code may be found in lab branchs.
Lab Main Content Finish Date Intro 0 environment setup 2022/06/30 1. simple linker.ld and start.s
2. Makefile structure1 UART & simple shell 2022/07/15 1. hard-polling uart
2. mailbox to get board info2 filesystem(CPIO) & Device Tree 2022/08/01 1. initial ramdisk with cpio
2. dtb handler3 exception & interrupt 2023/03/20 1. run main program in el0
2. handle exception and interrupt to el1
3. load user program image
4. interrupt-trigger uart driver3.5 exception & interrupt 2024/06/13 1. check signal type in irq handler
2. handle svc register problem4 memory allocator 2024/06/23 1. page frame allocator with buddy system
2. dynamic memory allocator
3. startup allocator