Downloads


back
Here are the sources of BlueIllusionOS, an iso image and a floppy image to download:



BlueIllusion OS iso image


BlueIllusion OS disk
image - obsolete!


BlueIllusion OS
v0.08 - 02.08.2007 - Source code


This Release is quite nice - as you can see from the big delay between the last one and this one here - two years have passed. I'm ashamed, really, not to release source code so long.

I have ported mpg2player to BlueIllusionOS. The inner workings of the kernel have been overhauled quite a bit - especially the scheduling stuff. It is still not perfect.

There are for sure lots of bugs hidden in the deep shadows beneath neat lines of code and I'm after each one of them. But for now, I'll call it a day. I'm pretty tired by all that stuff I've munged and munched into BlueIllusionOS in the last two days. It needs to be reworked and overhauled in general, the whole thing, but, heck, when shall I do this? *g*

Stay safe!

PS:
Despite all the own code, there are things in BlueIllusionOS, which I have learned or ported from other OS's:
Travis Geiselbrecht - GeekOS -> TCP/IP Layer: How to write such a thing.
Andy McLaughlin - Visopsys -> Port of Visopsys Lance Driver and ATA Driver to BlueIllusionOS. Algorithm to draw BMP_Stuff. Thanks!



former releases:


BlueIllusion OS
v0.06 - 29.07.2005 - 0.06 - Source code


Major release, which introduces pipes to BlueIllusion - that former thing I've had included as pipes 's been kinda crippled and nonworking, so I've thrown it away.

More to come later, today it's hot here, so I'm gonna shut down the machines soon.

Suffice it to say, that the system which I use to launch console programs has changed very much: no more interaction between fs service and gui service needed. No additional munging in file descriptors in order to make the window known to the fs - NOTHING that complicated - just pipes. Needless to say, that it works and that I'm kinda proud of this.

Stay safe!



BlueIllusion OS
v0.05 - 10.07.2005 - 0.05 - Source code


Thanks to Andy McLaughlin for providing the sources of his wonderful operating system - VISOPSYS - and giving me the opportunity to make a port of the ATA/IDE Driver of VISOPSYS to BlueIllusion OS.

Due to this, BlueIllusion sports a IDE/ATAPI Driver. In the wake of this development, I have also developed an ISO9660 Driver for the FS service and some user level applications to inspect the system wide device table and to send commands to the cdrom drive. Also, I've given the gui service a bit more stableness.

For loading big pictures for the background, you should provide the system with looots of memory for it is a wee bit greedy in gui mode. I'm thinking of ways to make it less memory intense.

Further, when booting from cdrom, please take care that it boots from the master drive on the secondary ide controller!

The more, cdrom access is not cached currently, so upon each and every access to blocks on cdrom, the drive is asked for the data. It's bad, it's ugly, I'm ashamed.

Please keep also in mind that it might or might not correctly boot up on real hardware. I just have not yet found the time to test this toroughly. My initial tests have revealed kinda non working on real hardware, but meantime, some work 's gone into the IDE/ATAPI - Driver and in the ISO9660-Driver.

So, good luck with the testing. Give it a try!

add_on 26.06.2005:
Have added initial user management subsystem.




BlueIllusion OS
v0.04 - 09.05.2005 - pre0.05 - Source code


This one is a very, very snappy release. The GUI Service is reworked, has still the old and odd-colored 8 bpp color scheme but the drawing mechanisms have experienced a big overhaul. In the weeks to come, I'm gonna add 24/32 bpp direct color support to the gui service.

But that's not all: There are several add ons and adjustments to the source code tree (preparations to switch over to make so to say, quite some applications I have added and the file system now supports hard links. Further I have added (currently hard coded to a F key) the possibility to send a signal to a process/thread currently occupying a console. As I do not yet give the signal-masking feature, dispatching a signal to a console app which doesn't sport a signal handler registered to signal slot 2 is lethal for that application.

Look at the about page for a full overview of the available applications/console programs for BlueIllusionOS.
addon:
GUI Service has got 16/24/32 bpp support! Also added a bmp loader to the library! The above mentioned bugs have been resolved too.



BlueIllusion OS
v0.04 - 05.03.2005 Source code

This release introduces Writing ext2-filesystem access to BlueIllusionOS. It's still a bit quirky. So, f. ex. Upon deleting a file from any sub directory, there is obviously still the vfs entry left somehow, because the directory, if emptied, is still recognized as filled with children nodes. I'm gonna revising this. In the meantime, to get rid of an emptied directory, just restart the Computer (no harm, I have the filesystem service write back all the changes to disk immediately - costs some performance but is more secure), then you can delete the directory with rmdir.

The other thing still to resolve is: creating a directory just creates the node but the "." and ".." entries aren't created - anyway, one can cd in and out of the directory at need because the vfs layer doesn't rely on these two. It relies on parent/children pointers.

The GUI service is under heavy rewrite currently, so many many inconsistencies are present. Better you don't touch the GUI command, if you don't want to experience sudden bail outs due to some access to undefined memory areas.
add-on 07.03.2005
Have resolved the directory stuff so far, needs testing: I just have forgotten to give the directory an initial block - filled in with the . and .. entries (not as if I'd need them in the vfs tree, but the ext2 driver is happy). Now it removes files/directories happily. Still, I have to check whether it does this in qemu also - or if I just have omitted/forgotten something crucial again. The floppy image is updated, so it should contain the latest development version.
add-on 08.03.2005:
The Remove-File stuff 's been buggy too. That stems from coding without looking. Some small but important condition never went true, so it didn't work as expected. Have resolved it and now it deletes files and directories happily from the file system. Upon reboot, the deleted stuff doesn't appear again in the directory.
Have updated the floppy image.


BlueIllusion OS
v0.036 - 19.12.2004 Source code

This is the first development
release with PCI support. There is already a GUI application present for listing up all
devices of the current system. Just go ahead and test the download image. Further I've
fixed some bugs in my basic IO commands: inport, outport. You won't believe it, but it is
perfectly possible to implement them in a buggy way without taking notice. My
implementation of PCI support revealed the Bugs and now it works happily. In Short:
Version 0.04 approaches.


addons:




BlueIllusion OS
v0.036 - 04.11.2004 Source code

Many things I've added, not the
least
amongst them the Virtual File System Layer with multithreaded IO handling. But not only
this: being a bit bored by thinking about how to implement the Pipe Subsystem as a
"fs-driver", I've just set off and implemented a widget and component layer in the
GUI-Service. It is kinda object oriented - and that's way cool, because one doesn't need
to know the exact implementation of a function like draw for a certain control (Button f.
ex.)if the correct function pointer is placed in the interface of the control.nso it
suffices to issue *control->fntab->draw(control,...);* in order to get it done straight.
And it works fine! Just check it out!

Bug Fixes:




BlueIllusion OS v0.035 -
03.07.2004 Source code
Well, let's give it a look. It has evolved since
the last release, and the start-buttons are now grouped together in one window - and yes,
it has a UI-Library behind. You know, something which takes over the communication
between the gui service and the application. It takes all the Mouse Events and processes
them - via callback functions registered with the controls/windows. It occurs to me to
have this idea of how to create some kind of small text control and to build some frame
work for a Grid Control, in which buttons/other elements can be added - the Grid control
autosizes them according to its settings ... well, this is something yet to come. Apart
from this - there is nothing *really* new. Just try out the PS and more commands and see
what happens. ps -c might be interesting.

BTW: the ps command is the first on this OS which uses shared memory to quite some extent
- as it maps in a region of memory which is shared by Kernel(system thread),MMService and
FSService - and reads out the table of process/thread information which is located there.


BlueIllusion OS
v0.035 - 04.06.2004 Source code
This one is a big release, for from
this version on, BlueIllusion supports shared memory and memory mapped files(ro). The
more, a complete new (for this kernel!) physical memory management is introduced: Reverse
mapped Pages. 've read about it in some Linux related article on the web and thought this
would be a fine thing in my own work. One nasty bug has vanished - keyboard handling bug,
which stuffed a scancode into the keyboard buffer right after initialization. Other bugs
might have survived elimination: f. ex. a certain unwillingness to start up on some PC's
(my toshiba laptop for example. Read more in 'About'!


BlueIllusion OS
v0.034 - 15.4.2004 Source code
This release is hopefully a bugfix
release. Fellow OS coders have informed me about a nasty bug whilst init is running: it
hangs in a page fault or gets killed by the MM Service due to illegal memory access. this
has lead me to the assumption, that I am passing wrong parameters to the execve call:
something like an omitted NULL-Pointer in the argv-array can lead to not very friendly
situations.


BlueIllusion OS
v0.034 - 10.4.2004 Source code
This release is a bugfix release. Fixed
Bug: in fd_finden(...), I've written fdc=queue->head instead of
fdc=queue->head->next. It broke the fs-service in a very hurting way. This release
also has beginnings of other work inside, as well as a not yet tested feature: a set of
operation can be issued to a set of semaphores. Work on the reverse mapping for the pager
is under way.


BlueIllusion OS
v0.034 Source code
This release is a rather big one: semaphores, io
streams and a bit of overall redesign - which is to continue for there are sooo many
design quirks tourough the os - f. ex. the multilevel scheduling - it is badly coded:
needs a good redoing. The other quirk is the program "semtest" If you do a portion of
semaphor testing and then do it again, after each semtest process has quitted, the file
service seems to have some issues. I am working on fixing that stuff.



BlueIllusion OS v0.032
Source code


BlueIllusion OS v0.03
Source code


BlueIllusion OS v0.02
Source code


BlueIllusion OS v0.01
Source code