Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thepowersgang/rust_os
An OS kernel written in rust. Non POSIX
https://github.com/thepowersgang/rust_os
Last synced: 6 days ago
JSON representation
An OS kernel written in rust. Non POSIX
- Host: GitHub
- URL: https://github.com/thepowersgang/rust_os
- Owner: thepowersgang
- License: other
- Created: 2014-09-06T04:36:09.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-06-28T10:11:06.000Z (6 months ago)
- Last Synced: 2024-11-21T09:11:06.887Z (21 days ago)
- Language: Rust
- Homepage:
- Size: 4.98 MB
- Stars: 739
- Watchers: 46
- Forks: 45
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-rust - thepowersgang/rust_os - ci.org/thepowersgang/rust_os.svg?branch=master">](https://travis-ci.org/thepowersgang/rust_os) (Applications / Operating systems)
- awesome-rust - thepowersgang/rust_os
- awesome-rust-cn - thepowersgang/rust_os
- awesome-rust-zh - thepowersgang/rust_os - [<img src="https://api.travis-ci.org/thepowersgang/rust_os.svg?branch=master">](https://travis-ci.org/thepowersgang/rust_os) (应用 / 操作系统)
- awesome-rust - thepowersgang/rust_os - An OS kernel written in rust. Non POSIX (Applications / Operating systems)
- awesome-rust - thepowersgang/rust_os - ci.org/thepowersgang/rust_os.svg?branch=master">](https://travis-ci.org/thepowersgang/rust_os) (应用 Applications / 操作系统 Operating systems)
- awesome-rust-list - thepowersgang/rust_os
- awesome-rust-list - thepowersgang/rust_os
- fucking-awesome-rust - thepowersgang/rust_os - An OS kernel written in rust. Non POSIX (Applications / Operating systems)
- fucking-awesome-rust - thepowersgang/rust_os - An OS kernel written in rust. Non POSIX (Applications / Operating systems)
- awesome-rust-cn - thepowersgang/rust_os - ci.org/thepowersgang/rust_os.svg?branch=master">](https://travis-ci.org/thepowersgang/rust_os) (应用 / Operating systems)
README
"Tifflin" Experimental Kernel (and eventually Operating System)
=====This is an experiment in writing an OS Kernel in rust (http://rust-lang.org).
Mostly the architecture is being designed as I go along, but it will be written to be architecture independent (the current version is x86\_64/amd64).
## Design Features
- Runtime module initialisation with dependencies
- Clear user-kernel separation of duties
- Userland owns the ELF loader, kernel uses a custom format for init.
- Object-based syscall API
- Kernel-provided window manager (yes, I know old windows did this)## Progress
- Filesystems
- ISO9660
- FAT12/16/32
- Storage
- (P)ATA
- SATA (AHCI)
- ATAPI CDROM
- VirtIO Block
- Input
- PS2 Keyboard/Mouse
- Graphics
- Multiboot only
- GUI Apps
- Login (Credentials are root/password)
- "GUI Shell" (with background!)
- Text Terminal app (with basic set of commands)
- Filesystem viewer
- Architectures
- amd64 (aka x86\_64) - Boots to limit of implementation
- armv7 - Loads userland then crashes## Build Dependencies
- `nasm`
- GNU Binutils (cross-compiled)
- GCC (for ACPICA)
- `pxelinux`
- `libguestfs-tools` (for creating disk images)