You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
opearating-mode: real mode (boot-loader + realmode-library)
✔️
opearating-mode: protected mode (kernel + user application)
✔️
driver: disk IO
✔️
driver: PIC
✔️
driver: PIT
✔️
driver: Keyboard
✔️
file-system: FFS (in-house) (read-only)
✔️
interrupt handler
✔️
syscall: text console IO
✔️
syscall: graphics
✔️
syscall: keyboard
✔️
syscall: file handlers
✔️
process-scheduler: Round Robin
✔️
file-system: FFS (custom) (read-only)
✔️
display: text-mode
✔️
display: graphics-vga 320x200 256 colors
✔️
concurrency: Multiprocessing
✔️
concurrency: Multithreading
❌
parallelism
❌
security in scope
❌
networking
❌
app-build: Support C
✔️
app-build: Support C++
✔️
app-build: C/C++ Standard Libraries (as needed)
✔️
app-runtime: Heap memory allocation
✔️
application: calculator
✔️
application: cat
✔️
application: desktop
✔️
application: echo
✔️
application: forkbomb
✔️
application: logo
✔️
application: ls
✔️
application: ping-pong
✔️
application: sh (terminal)
✔️
application: simplecpp (example)
✔️
application: more
✔️
application: multiprocessing (example)
✔️
application: tictactoe
✔️
application: Your's? Yes, raise a PR
✔️
Development
Prerequisite
bash before_install.sh
make clean
QEMU Quick Launch
make qemu
Build
Use make to build binaries and image files.
make
Tests
At this moment tests works by injecting predefined ASM in the source code which halts
the execution at the point of interest. After that tests can make use of QEMU monitor
to verify the current state with expected state.