The Active Object System Kernel (A2) is a lean multiprocessor kernel developed in the spirit of the ETH Oberon Project. It is the base of the Bluebottle system and provides a runtime environment for the Active Oberon language, which supports active objects directly, and enables the construction of efficient active object-based systems that run directly on the hardware. Above the kernel layer is a flexible collection of modules providing generic abstractions for devices and services, e.g., file systems, user interfaces and networking.
The A2 kernel is currently implemented for Intel IA32 SMP multiprocessor and singleprocessor systems and severals StrongARM-based computers.
An overview of the kernel is presented in:
Here follows a list of the modules currently contained in (a special case of) the boot image as needed to run A2 programs:
This is the absolute minimum set of modules you need to run A2 programs.
If you use DEFINITIONS (interfaces) in your code, you also need
Most likely you want this modules, too:
With the modules above, the question is: how would your program get control? Answer: You would have to link it into the boot image as last module. The module body would then be the entry point.
To be able to dynamically load modules, you would need at least access to some disk device...
as, for example, an ATA disk...
the module loader...
and access to a file system...
Using the boot console you can specify commands as config string (e.g. Boot1=...).
From now on, you can load modules dynamically from disk.
To see what modules are included in a boot image, link it and have a look at Linker.Log. There is a section that shows you the layout of the boot image.
109CC8H Trace 10CA28H Machine 114068H Heaps 11B2D8H Modules 117728H Objects 108F78H Kernel 127408H KernelLog 128638H Streams 1222C8H Traps 137078H Plugins 138658H Disks 13A4F8H PCI 12E9A8H ATADisks 13F438H Caches 145948H Commands 1409D8H Files 13D928H DiskVolumes 14F488H Clock 148848H DiskFS 154A58H Loader 151B18H BootConsole
Copyright © 2007 ETH Zürich
Page last modified on September 19, 2008, at 03:28 PM