Operating system for my custom processor - pcpu
This is my self-educational project. Homemade OS created because I wanted to make something fun for my processor, and got interested in operating systems.
You can get tools to build and emulate it from here: pcpu-toolchain
In development, don't expect too much from it yet.
- Runs on 16 bit pcpu
- VGA driver
- PS/2 Keyboard
- First userspace process which can be interrupted and resumed
- Kernel library: printf, malloc, strings, data structures, logs
- SD card driver over SPI bus
- TAR filesystem support
Not much yet, but the os is in early development stage now. I will keep the list this updated.
Runing processes in userspace is supported, so this is a real OS now!
Note that all devices are specific to my dev board.
- Kernel threads
- Kernel synchronization primitives
- Main syscall queue and dispatcher
- System design documentation
Build piOS kernel
cd kernel
# build .hex
make
# or build and upload to dev board
make upload
# or build and run in emulator
make pceIf using pce add test.tar archive in main directory for sd card emulation.
- Multiprocessing and networking -
run simple web server in background - UNIX-like shell
- Virtual file system with UNIX-like devices
- Virtual memory managment
- Custom user process managment, without kernel thread for each process
piOS (C) 2021-2022 by Piotr Wegrzyn