-
Notifications
You must be signed in to change notification settings - Fork 13
Home
Welcome to the scaraOS wiki!
ScaraOS is a 32bit mutiboot OS kernel for IA32 (PC/AT) systems. I wrote it to teach myself OS fundamentals and just to have a bit of fun. It already has PCI support, the beginnings of a paged memory management system, and the start of a VFS layer. It supports the basic PC/AT stuff such as timer, PIC, keyboard, floppy.
The most recent version includes a shedload of bugfixes as well as working pre-emptive multi-tasking and a system call interface. The only implemented system call so far is exit(2). Implementations of exec(2) and fork(2) are currently pending. At the moment the exec call does nothing more than open an ELF executable file and read the header. You can grab a screenshot
The goals of scaraOS are not to reproduce POSIX or any other existing OS but to be a fun project for learning OS development. For this reason I am trying to avoid falling in to the trap of writing a bootloader with a lot of “drivers” and then calling it an “OS”. You can read the TODO list to get an idea of upcoming development. You will notice my priority is getting a functional userspace environment up and running rather than adding a lot of drivers. Also I haven’t mentioned what the userspace API is going to look like yet because I’m concentrating on getting things like Demand Loading, Page Cache and Context Switch implemented first.