Bits & Bytes SkyOS Programmer's Diary



SkyOS

I am a beta-tester for v5.0 of SkyOS: an operating system that is being privately developed by Robert Szeleney with the support of a handful of volunteers.  SkyOS was the 2003 winner of the Best Hobby OS award at www.osnews.com, and to use Robert's own words:

SkyOS is a free operating system written from scratch for x86 PC's. As required for a modern operating system it supports features like multiprocessor support (SMP), virtual memory, memory protection, multitasking and threading etc. Additionally SkyOS has a built-in GUI system named SkyGI.

My interest in SkyOS is initially focused on programming tools and the development of a C++ class framework.  You can read about what I'm working on here:


Sun, 17 Apr '05 The first attempt at the HLayout GUI class is done, and seems to work well enough for Pig! and the HTest applications.  Time to post another development snapshot so that people don't think the Humble Framework is dead.
Thu, 14 Apr '05 Synched the Humble Framework with Beta 8.4, and started work on a simple layout manager to make it easier to manage widgets inside the top-level window.
Tue, 11 Apr '05 Time to wave the white flag and give up on compiling the Humble Framework natively.  Even after installing Beta  8.4 and making some minor tweaks to accommodate changes to various system header files, the HTest application compiles successfully, but still dies horribly somewhere inside the C++ RTL.  Enough is enough, and its back to cross-compiling (for now); if nothing else, this will be greatly helped by the recent publication of a SkyOS Porting Guide.
Fri, 04 Feb '05 It looks like the problem is down inside the kernel, because a call to the open() RTL function is throwing a segmentation fault.  I rewrote the entire HFile class to use FILE pointers instead of file descriptors (fopen() / fclose() vs. open() / close(), etc.) but that just moved the problem elsewhere.  And it's no longer repeatable.  Yuck.

One piece of good news, though: I was able to successfully copy the 4MB Service Pack 2 file out of the SkyOS VMWare session by using FTP, which worked just fine...once I remembered to set the transfer type to binary.


Wed, 02 Feb '05 When Robert mentioned that Beta 8.3 requires at least 384MB of RAM, he wasn't kidding: I raised the amount of RAM available under VMWare to 384MB, and Beta 8.3 installed flawlessly.

Since make is now working properly, I tried compiling the Humble Framework natively for the first time, and promptly tripped over a whole slew of file names with case-sensitivity 'issues'.  Windows may not care if its HCheckBox.h or HCheckbox.h, but SkyOS (and other 'real' operating systems) obviously do.  Once I got all the files named correctly and updated the makefile to reflect the new paths, the HTest application did compile successfully...it just won't run.  It looks like it's time to get better acquainted with gdb.


Tue, 01 Feb '05 Tried to load Beta 8.3 of SkyOS under VMWare 4, and it fails miserably: the VESA driver is throwing fatal errors in the VMWare video subsystem, so for now I'm stuck.  I guess it's time to load the VMWare 5 Beta and see if that fixes the problem.

 

2006.03.31-17:53