dummyOS is a hobby UNIX-like operating system written in C and assembly. It runs on x86 and armv7 (Raspberry Pi 2).
The system provides a basic list of system calls and a port of the newlib C library for easy userspace programmming.
https://github.com/CheezeCake/dummyOS
Kernel
- 31 system calls
- POSIX signals
- CoW fork()
x86
- VGA console
- Keyboard
Raspberry Pi 2 (BCM2836)
- Serial console (UART0 or UART1)
- GPIO driver
System calls
- exit
- fork
- getpid
- getppid
- signal
- sigaction
- sigreturn
- kill
- wait
- waitpid
- execve
- open
- close
- lseek
- read
- write
- setsid
- setpgid
- getpgid
- setpgrp
- getpgrp
- ioctl
- sbrk
- getdents
- sigprocmask
- pipe
- dup
- dup2
- stat
- fstat
- nanosleep
Userspace
- Simple shell with pipe support
- Some standard Unix utilities from NetBSD or OpenBSD
C library
Full port of the newlib C library (https://github.com/CheezeCake/newlib-dummyOS)