Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ffwff/lilith
x86-64 os made in crystal
https://github.com/ffwff/lilith
crystal operating-system
Last synced: 4 days ago
JSON representation
x86-64 os made in crystal
- Host: GitHub
- URL: https://github.com/ffwff/lilith
- Owner: ffwff
- License: other
- Created: 2019-07-01T07:14:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-01T05:22:26.000Z (about 4 years ago)
- Last Synced: 2024-12-11T02:03:51.839Z (11 days ago)
- Topics: crystal, operating-system
- Language: Crystal
- Homepage:
- Size: 10.2 MB
- Stars: 1,152
- Watchers: 25
- Forks: 27
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-low-level-programming-languages - Lilith Kernel
README
# lilith
A POSIX-like x86-64 kernel and userspace written in Crystal.
## Screenshot
![screenshot](https://raw.githubusercontent.com/ffwff/lilith/master/img/05012020.png "screenshot of lilith")
## Building
See [BUILDING.md](./BUILDING.md).
## Running
A CPU with x64 support is required to run the OS. The Makefile provides a script which will run QEMU on the kernel:
```
make run
```To run with storage, an MBR-formatted hard drive image with a FAT16 partition must be provided in the running directory with the name `drive.img`. The kernel will automatically boot the `main.bin` executable on the hard drive, or panic if it can't be loaded.
Issue this command to run with gdb attached:
```
make rungdb_img
```## Features
* Basic x86-64 support
* Hybrid conservative-precise incremental garbage collector
* IDE/ATA support (well, it can only load from primary master)
* FAT16 support
* Unix syscalls (open, read, write, spawn,...)
* Preemptive multitasking!
* Userspace C library written in Crystal (mostly)
* A window manager and some graphical programs (terminal emulator, file manager)
* And much more as I go...## License
Lilith is licensed under MIT. See LICENSE for more details.