https://github.com/tsatke/devos
WIP
https://github.com/tsatke/devos
kernel operating-system osdev
Last synced: about 2 months ago
JSON representation
WIP
- Host: GitHub
- URL: https://github.com/tsatke/devos
- Owner: tsatke
- License: apache-2.0
- Created: 2023-04-16T19:21:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-01T17:32:30.000Z (about 2 months ago)
- Last Synced: 2025-04-01T17:41:36.035Z (about 2 months ago)
- Topics: kernel, operating-system, osdev
- Language: Rust
- Homepage:
- Size: 978 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# DevOS
[](https://devos.zulipchat.com)
[](https://github.com/tsatke/devos/actions/workflows/build.yml)An operating system and kernel developed with the Rust programming language.
[Requirements](#requirements) •
[Features](#features) •
[Build and Run](#build-and-run)### Requirements
* QEMU (for running and testing the kernel)
* [`rustup`](https://rustup.rs)
* `cc` (probably already available on your system)
* `mke2fs` for nowWith those installed, you can simply run `cargo build` to build an image.
If you also have QEMU installed, `cargo run` and `cargo test` also will work.### Features
- [x] Heap
- [x] Syscalls
- [ ] Drivers
- [x] PCI driver
- [x] IDE driver (no ATA)
- [x] VGA
- [x] xHCI
- [ ] USB
- [ ] NVMe
- [ ] Networking
- [x] Virtual File System with EXT2 implementation
- [x] Preemptive multitasking (processes & threads)
- [ ] Interactive shell
- [x] Test framework### Build and Run
To run the kernel in QEMU
```plain
cargo run
```### Running tests
To run tests with QEMU, run
```plain
cargo test
```This will run kernel unit tests, as well as all `test_kernels`.
### Debugging
To debug the kernel in QEMU, run
```plain
cargo run -- --debug
```and then connect to the QEMU instance with `lldb`:
```plain
lldb -s debug.lldb
```