https://github.com/jbush001/os
A x86 based kernel and user space environment written in C++.
https://github.com/jbush001/os
Last synced: 6 months ago
JSON representation
A x86 based kernel and user space environment written in C++.
- Host: GitHub
- URL: https://github.com/jbush001/os
- Owner: jbush001
- License: apache-2.0
- Created: 2012-02-20T17:39:13.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2018-12-17T06:09:58.000Z (almost 7 years ago)
- Last Synced: 2025-03-27T07:35:53.132Z (7 months ago)
- Language: C++
- Homepage:
- Size: 185 KB
- Stars: 59
- Watchers: 9
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
I wrote this as a side project between 1998 and 2000 to learn more about operating systems internals. The kernel supports the following features:
- Preemptive multi-threading, including a fully preemptable kernel
- Unified file cache and virtual memory system. File access is performed by memory mapping files into kernel space.
- A hardware abstraction layer
- Pluggable filesystem layer, including a FAT driver and virtual device filesystem.
- Modular device driver framework including keyboard, console, and IDE drivers.When I last worked on this it would boot to a shell that could launch command line executables. The development environment was BeOS and it used the older GCC ABI, so some bit rot has probably occurred since then.