Skip to content

Xaro8/piOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

185 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

piOS

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.

Features

  • 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.

Incoming features

  • Kernel threads
  • Kernel synchronization primitives
  • Main syscall queue and dispatcher
  • System design documentation

Build

Build piOS kernel

cd kernel
# build .hex
make
# or build and upload to dev board
make upload
# or build and run in emulator
make pce

If using pce add test.tar archive in main directory for sd card emulation.

OS goals

  • 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

Author

piOS (C) 2021-2022 by Piotr Wegrzyn

About

Operating system for pcpu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 90.4%
  • Assembly 5.8%
  • Makefile 2.8%
  • Other 1.0%