is designed as a layered architecture.
Basics hardware support : BioS and XbioS
are the most basic part, conversing directly with hardware. Their goal is to provide basic services to upper layers (such as GemDos
) and abstract access to hardware features, through the use of an intelligible programming interface.
Xbios differs from Bios in that Bios sticks to basic MS-DOS features that only covered input and outputs to peripherals (disk, serial port, etc). Xbios on the other hand deals with more Atari-specific hardware such as screen display, sound, DSP, etc.
Filesystems, memory, and abstracted inputs/ouputs : GemDos
introduce abstractions, based on facilities offered by the BioS
was inspired by MS-DOS. Thus, XbioS
is not used by GemDos
due to its Atari-specific nature.
Graphical basics on display abstractions : the VdI
implements graphic primitives such as lines, circles, over some graphical display abstraction called 'workstation', which brings unified model for screen (multi-screen? ToBeChecked
) and printer output device. Thus vdI makes use of the facilities provided by XbioS
(to manage screen display), and plugable GdoS
drivers (to interface VdI
with printer output).
Graphical abstractions and application support : the AeS
offers high level abstractions to applications. Many modules offer different types of facilities, ranging from menus, forms and windows, to event handling and inter-application communications.
The inter-application communication layer (also referred as GemTube?
) is a full-featured messaging system, but does not define anything special about the content of messages. Thus, communication protocols need to be (well) defined in order for applications to communicate with one another. That's why many such protocols have emerged all through the years.
This messaging system design also implies that applications are responsible for supporting the various communication protocols that are relevant to them. The drawback is that older applications can't support newer protocols until they are modified in order to do so.