You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
1 week ago | |
---|---|---|
arch/x86 | 7 months ago | |
core | 1 week ago | |
docs | 8 months ago | |
drivers | 1 week ago | |
tests | 1 year ago | |
userspace | 1 week ago | |
.clang-format | 3 years ago | |
.gitignore | 7 months ago | |
Makefile | 7 months ago | |
README.md | 7 months ago | |
custom_gdb_extension.py | 1 year ago | |
debug.gdb | 1 year ago | |
disk.sfdisk | 1 year ago | |
linker.ld | 5 years ago | |
screenshot_1.png | 1 year ago |
README.md
Introduction
Matos is a simple OS.
It's targetting x86 and inspirated by http://sos.enix.org/fr/PagePrincipale
Dependencies
To generate iso image
mtools xorriso (which is libisoburn on ArchLinux)
- gcc >= 6
- sfdisk (util-linux)
Run it
make run
or
make fd.iso && qemu-system-x86_64 -cdrom fd.iso
you can also test it
make test
Debug
gdb could be launch with debug symbols using :
make debug
Serial log will be saved in the serialOut
file.
Then you can check some matos specific commands or pretty printing with
help user-defined
info pretty-printer
(Should contains matos_pretty_printers)
Change Disk partitions
You can either modify the disk.sfdisk file
or
modify the disk image with your favorit tool (e.g. gparted) and re-generate disk.sfdisk
sfdisk -d > disk.sfdisk
Features
- VGA Driver
- keyboard Driver
- Serial Driver
- Timer
- Virtual memory
- Allocator
- Multithread (Full preempt)
- Mutex
- ATA
- basic userspace with syscall
TODO
- ringbuffer protected by mutex
- blocking read