Ceci est une version archivée de
TosDesign à 2009-10-10 11:32:04.
TOS Design
The
TOS is designed as a layered architecture.
Basics hardware support : BioS and XbioS
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
VdI) 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
GemDos introduce abstractions, based on facilities offered by the
BioS.
GemDos 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
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
AeS offers high level abstraction to applications. Many modules offer different type of facilities, ranging from menu, forms and windows, to 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.
See Also