OSLib

OSLib Logo

SourceForge Logo
Project Overview
   The libraries
   The eXtender
Distribution
People
Mailing List
Related Links
Acknowledgements

The X extender

Motivations

Developing a new 32-bits OS from scratch may be a pain! If you use another protected 32-bits OS as development environment, there is no way but rebooting the system each time you want to run your test. Rebooting is always a slow and boring activity: BIOS may waste a lot of time doing PnP initialization, memory check, HD scan, etc. Also rebooting a 32 bit OS after you finish your test is typically a time consuming activity. This may lead to big overheads each time you run a test.

However, another approach is feasible: you can use a raw OS like Free-DOS or MS-DOS running in 16-bits mode and use a DOS-Extender system to run 32-bits applications. This was the "old fashioned mode" to use a full x86 machine in the pre-Linux/Windows era.

Is it possible to use the same approach for an OS? Well, OSLib gives you a positive answer! We implemented a strongly customized extender system, X, which is able to boot a 32-bits Operating System (ELF/COFF executable format, MultiBoot Compliant) and return back to DOS when necessary.
X will do all the clean-up for you and you will be able to run an OS like any other application! Thanks to its exception handling facility, X will also prevent many painful and unexpected crash, allowing an easier debugging phase.

Downloading, Compiling and Using X

X ready-to-use executable and Source Code can be downloaded from the SF Project Page (look at the "Files" section).
X compiles using freely available stuff:

Note: To download Turbo C++ you need to register; The Borland Community Museum offers a rich collection of the good old software of the fascinating DOS era...
The older TLink (available with 2.01) wont'link X correctly, because the it doesn't support very well 32 bits executable code. Luckily, the problem has been fixed under TLink 3.01, available with the Turbo C++ 1.01.