Technologie v propadlišti dějin 7: A/ROSE
I dnes se podíváme na jednu velmi zajímavou a velmi mrtvou softwarovou technologii.
Inteláci to asi nebudou vědět, ale Apple kdysi dávno, říkejme té době třeba osmdesátá léta, dělal pořádné počítače. Jedním z těchto počítačů byl Macintosh II. Celá dvojková řada byla narozdíl od Jobsova dítěte Macintoshe poněkud seriózněji orientovaná, takže přibyla sběrnice NuBus a počítač měl být rozšiřitelný pomocí karet třetích stran. Apple ale musel kvuli tomuto zdánlivě triviálnímu problému začít řešit neduhy samotného Systému. Až do verze 6 bylo totiž to, co později vešlo ve známost jako MacOS, čistě jednouživatelským operačním systémem, který si s obsluhou zařízení nedělal žádné zásadní vrásky. I když jsme se od verze 6 výše mohli oblažovat kooperativním multitaskingem, možnost zakázat přerušení a velké latence dané vysokou prioritou GUI znamenaly pro vývoj rozšiřujícího hardware nepředstavitelný problém.
Pokud by stejná situace nastala dnes, pravděpodobně by se v Apple s kompatibilitou nikdo dvakrát nezabýval. V roce 1987 ale v Apple nerozhodoval Steve Jobs, a tak přišlo na svět vskutku zajímavé řešení, zvané Macintosh Coprocessor Platform (MCP). Podstatou MCP je inteligentní rozšiřující karta s vlastním procesorem. Tím procesorem nebylo nic menšího, než samotná Motorola 68000 (taktovaná na 10MHz), tj. čip který v té době kraloval v Amigách a Atari ST jako hlavní procesor. Každá karta disponovala standardně i 512kB RAM, která se mapovala do adresového prostoru počítače.
Co je ale nejpodstatnější, na každé kartě běžela instance operačního systému A⁄ROSE (Apple Real-time Operating System Environment), což je velmi efektivní distribuovaný realtimový operační systém s preemptivnám multitaskingem. Jádro zabíralo v paměti pouhých 6kB, celý systém i s buffery pak zabral méně než 100kB. Multitasking počítal s 32 úrovněmi priority, přepnutí kontextu bylo garantováno do 110 mikrosekund s 20 mikrosekundovou latencí. Systém navíc mohl běžet autonomně na více kartách a komunikovat s ostatními pomocí zpráv.
Jedna z instancí systému běžela přímo v paměti počítače na hlavním procesoru a ta zajišťovala komunikaci s kartami v NuBus slotech (to je ten známý doplňek A⁄ROSE, který můžete znát). Je tedy možné i kartu "zaúkolovat" nějakým výpočtem a zajistit, aby výsledek předala systému až bude hotový.
Součástí vývojářského kitu pro producenty rozšiřujících karet byla univerzální karta, na které bylo možné si odladit veškerý software napsaný pro A⁄ROSE.
Karty vybavené A⁄ROSE se bohužel díky vysoké ceně příliš nerozšířily. Zejména se jednalo o TokenRingové a ethernetnetové síťové karty. Definitivně MCP odzvonilo s nástupem PowerPC procesorů a PCI slotů, technologie to ale bezesporu byla velmi zajímavá.
Pokud se chcete do tématu zanořit více, přečtěte si anglický článek, který mně inspiroval k tomuto stručnému blogpostu. Jsou v něm rozebírány i jednotlivé syscally systému A⁄ROSE.
Mrtvým technologiím zdar!
Pokud by stejná situace nastala dnes, pravděpodobně by se v Apple s kompatibilitou nikdo dvakrát nezabýval. V roce 1987 ale v Apple nerozhodoval Steve Jobs, a tak přišlo na svět vskutku zajímavé řešení, zvané Macintosh Coprocessor Platform (MCP). Podstatou MCP je inteligentní rozšiřující karta s vlastním procesorem. Tím procesorem nebylo nic menšího, než samotná Motorola 68000 (taktovaná na 10MHz), tj. čip který v té době kraloval v Amigách a Atari ST jako hlavní procesor. Každá karta disponovala standardně i 512kB RAM, která se mapovala do adresového prostoru počítače.
Co je ale nejpodstatnější, na každé kartě běžela instance operačního systému A⁄ROSE (Apple Real-time Operating System Environment), což je velmi efektivní distribuovaný realtimový operační systém s preemptivnám multitaskingem. Jádro zabíralo v paměti pouhých 6kB, celý systém i s buffery pak zabral méně než 100kB. Multitasking počítal s 32 úrovněmi priority, přepnutí kontextu bylo garantováno do 110 mikrosekund s 20 mikrosekundovou latencí. Systém navíc mohl běžet autonomně na více kartách a komunikovat s ostatními pomocí zpráv.

Jedna z instancí systému běžela přímo v paměti počítače na hlavním procesoru a ta zajišťovala komunikaci s kartami v NuBus slotech (to je ten známý doplňek A⁄ROSE, který můžete znát). Je tedy možné i kartu "zaúkolovat" nějakým výpočtem a zajistit, aby výsledek předala systému až bude hotový.
Součástí vývojářského kitu pro producenty rozšiřujících karet byla univerzální karta, na které bylo možné si odladit veškerý software napsaný pro A⁄ROSE.
Karty vybavené A⁄ROSE se bohužel díky vysoké ceně příliš nerozšířily. Zejména se jednalo o TokenRingové a ethernetnetové síťové karty. Definitivně MCP odzvonilo s nástupem PowerPC procesorů a PCI slotů, technologie to ale bezesporu byla velmi zajímavá.
Pokud se chcete do tématu zanořit více, přečtěte si anglický článek, který mně inspiroval k tomuto stručnému blogpostu. Jsou v něm rozebírány i jednotlivé syscally systému A⁄ROSE.
Mrtvým technologiím zdar!
Komentáře
[1] (z00m ) Vloženo 21.04.2010, 12:57:08
Obcas sa i z hovna upliest bic da :-) Suhlasim, ze to bola velmi zaujimava technologia, take nieco uz sa dnes bezne nevidi...Všechna pole jsou nepovinná.
Vaše IP adresa nebude veřejně zobrazena.
Číslo v hranatých závorkách vytvoří odkaz na daný komentář.
Avatar friendly.
Vaše IP adresa nebude veřejně zobrazena.
Číslo v hranatých závorkách vytvoří odkaz na daný komentář.
Avatar friendly.


