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.
 
 
 
 
 
Mathieu Maret 070a42844a Makefile: Add screenshot target 3 weeks ago
arch/x86 Various small fix 3 weeks ago
core Various small fix 3 weeks ago
docs Add docs links 2 years ago
drivers ata: fix controller init 3 weeks ago
tests Import ringbuffer implementation 1 month ago
userspace Various small fix 3 weeks ago
.clang-format vim and clang-format configuration file 2 years ago
Makefile Makefile: Add screenshot target 3 weeks ago
README.md Screnshot on main page 4 weeks ago
custom_gdb_extension.py Add partition table support 1 month ago
debug.gdb load userspace from disk 1 month ago
disk.sfdisk Add partition table support 1 month ago
linker.ld First step for memory management 3 years ago
screenshot_1.png update screenshot 4 weeks ago

README.md

Introduction

Matos is a simple OS.

It's targetting x86 and inspirated by http://sos.enix.org/fr/PagePrincipale

screenshot

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

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