Alix OS

Posted by Astryl on Dec. 30, 2012, 2:48 a.m.

Dang that title sounds like something noobish you'd find on the GMC… and something I have seen on the YYG forums…

*cough*

Well, anyways, I'm not screwing around here. Some of you may or may not remember that innocuous little fault page I showed off a few months back. Blue Screen 'O Doom.

That was my first kernel, that got as far as me adding in a Segmented Memory Model. It was then that I realised that I hadn't thought of the tasking model correctly beforehand, so I scrapped it and started over.

Using GRUB as the bootloader, because coding my own is Dwarf Fortress Fun. Though I have done it before.

Anyway, here's a screen of it running in bochs:

Some things to note…

> I have a Page based memory manager. Necessary. Obviously.

> I made the usual low-level functions: malloc, kmalloc, free, memset, memcpy,

strcpy, strcmp, etc.

> I made a printf() function based on the original Linux 0.01 vsprintf() (And threw

that in too for good measure.

> I have a Virtual File System in place, and am able to load an initial ramdisk from

the boot disk, read directories, read files, so yeah. Just need to write a FAT16

driver for the rest of the boot disk, then write an EXT2/3 driver for the virtual

hard-disk.

> I also made a decent keyboard driver. Can detect keypresses, releases, modifiers,

and is a mess of spaghetti code. Nowhere near as bad as ol' Linus Torvald's self

admitted FUBAR code. I got halfway through porting his GCC compatible

assembly to NASM and decided I could do it better. But it was old code, so

no surprise…

So yeah. OS development. Woot. My goal is to eventually become a 'self hosted system'. That is, port the GCC toolset over to my OS.

Just wanted to show off my work so far here, no reason for it. :P

Comments

DesertFox 11 years, 10 months ago

*whistles softly*

Quite the task!