Cohabitation and Cooperation of Chorus and MacOS
Christian Bac
Institut National des Tlcommunications
rue Charles Fourier, 91000 Evry, France
Edmond Garnier
Alcatel Alsthom Recherche
Route de Nozay, 91460 Marcoussis, France
Abstract
This paper describes experimental work on cohabitation and cooperation
between a distributed operating system (Chorus1) and an event driven
operating system (MacOS2). Our aims were to exploit the graphical and
the musical capabilities of Macintosh hardware and software directly
from Chorus applications, while minimizing our efforts in the field of
device drivers and hardware interfaces. The work was carried out in
four major stages. The first stage was to port the Chorus kernel on
the Macintosh hardware. In the second stage we changed the way Chorus
managed the hardware in order to keep the MacOS system
alive. Conversely, we modified slightly the way Chorus was booted so
as to present it as an application to MacOS. This led us to the third
stage, which was to share system events (e.g. hardware interrupts)
between the two systems. The Chorus system allows one to have multiple
functions connected to an interrupt. This feature was used to connect
both an internal Chorus driver and a low level function to an
interrupt. The low level function leads to the MacOS interrupt
driver. The fourth stage is currently being carried out. It consists
in the design and implementation of an interface permitting user level
events (as system calls) to cross the borders of the two systems.
This paper describes each stage and draws lessons about system
software cohabitation and reusability.
Download the full text of this paper in
ASCII form (28,198 bytes).
To Become a USENIX Member, please see our
Membership Information.