OthersideANDREJ BUNTA
Binary Translation: Stranger than a fiction?
Aj tak sa dá pomenovať technológia, od úspechu ktorej závisí budúcnosť
Amigy. Práve tento proces je kľúčový pre multiplatformný operačný systém
Elate od Tao Group, ktorý sa stal základom pre novú Amiga platformu (AmiE).
Jadrom Elate je Virtuálny Procesor (VP), ktorého vstupom je assembler virtuálneho
procesora a ktorý je pre všetky platformy rovnaký. Výstupom je natívny kód
špecifický pre konkrétny procesor, na ktorom je Elate spustený. To umožňuje
naprogramovať a skompilovať (do VP asm) určitú aplikáciu len raz a bez ďalších
zásahov ju spúšťať na každej platforme, ktorú Elate podporuje.
Na prvý pohľad je zvláštnosťou, že celý Elate je taktiež napísaný v
asembleri VP, vrátane efektívneho, malého a rýchleho J-enginu. Cieľom tohto
snaženia je toľkokrát omieľaný sen digitálnej konvergencie, pretože pre túto
víziu je multiplatformnosť nevyhnutnou a elementárnou vlastnosťou.
Myšlienka binárneho prekladu nie je nová. V roku 1987, keď v Hewlett Packard
(ďalej HP) navrhli novú HP-PA RISC architektúru, stáli pred problémom, čo
so starším, s novou platformou nekompatibilným softvérom. Predvídaví ľudia
z HP riešenie našli bola to práve binárna translácia. V skutočnosti to
bola integrálna súčasť prechodu na nové procesory PA RISC. Dnes binárna
translácia zažíva renesanciu v prestížnom časopise Computer od IEEE
Computer Society to bola téma marcového čísla. Hovorí sa o nej najmä v súvislosti
s novými procesormi (napr. Crusoe od Transmeta) schopnými pracovať s inštrukčnými
sadami iných procesorov a to rýchlosťou porovnateľnou s vykonávaním natívneho
kódu.
Binárna translácia (code-morphing v termínoch fy Transmeta) je proces, pri
ktorom za chodu (runtime) dochádza k prekladu binárneho súboru aplikácie do
inštrukčnej sady cieľovej platformy.
Hlavná nevýhoda je zjavná: prekladá sa binárne zakódovaný program, pričom
*runtime kompilátor*, ktorý preklad vykonáva, nemá k dispozícii zdrojový
text programu, čím prichádza o veľké množstvo informácií dôležitých
pre optimalizáciu.
Na strane druhej, dnešné aplikácie využívajú rôzne objekty a komponenty,
ktoré sa k nim naviažu až po kompilácii, teda za chodu programu sú to najmä
dynamicky nahrávateľné knižnice. Naviac, klasický kompilátor nevie, ktoré
konkrétne úseky programu sa budú vykonávať často, ktoré menej často a
ktoré skoro vôbec, pretože to závisí od situácie v čase behu programu. Tu
sa ukazuje výhoda runtime kompilátoru, ktorý ma o týchto skutočnostiach
dokonalý prehľad: nielenže presne vie, ktoré dynamické knižnice a
komponenty program používa, ale vie aj ako často.
Na základe týchto štatistických informácií uloží už preložené a často
používané úseky kódu aplikácie a ostatných objektov do svojho bufferu.
Tieto úseky navzájom optimalizuje (najmä skoky a volania), čím sa kód
podstatne linearizuje. Ďalšou vlastnosťou tohto procesu je, že čím dlhšie
určitá aplikácia beží, tým je výsledná optimalizácia lepšia a vykonávanie
rýchlejšie.
V spojení so špecializovaným hardvérom (napr. vysoko paralelným VLIW
procesorom a špeciálnou logikou optimalizujúcou prístup do pamäte ako v riešení
Crusoe od Transmeta), ale aj bez neho (prípad Tao Group, ktorá uprednostňuje
bežné superskalárne procesory) je možné dosiahnuť (podstatné) zrýchlenie
činnosti programu. Povrchnou odpoveďou, ako je to vôbec možné, je skutočnosť,
že skoky a vetvenia v programe výrazne obmedzujú paralelné spracovanie, ktoré
je kľúčom k rýchlosti.
Amiga Classic: Bad Religion?
Druhou kritickou vlastnosťou novej Amigy je možnosť, aby AmiE/Elate mohol
bežať ako vrstva nad inými (rozšírenými) operačnými systémami. Prečo?
Zázraky sa neudejú za jednu noc. Aby nová Amiga mala vôbec šancu, je treba
uvažovať reálne.
Vtrhnúť na trh len tak s novou a uzavretou platformou je samovražda. Je rok
2000, nie 1985, kedy len zmienka o domácom počítači so 4-kanálovým zvukom
a 4096 farbami na obrazovke spôsobila masívny rozruch. Situácia vtedy bola úplne
odlišná, v 1985 nebol trh osobných počítačov zďaleka nasýtený tak ako
dnes, keď si každý polrok môžete kúpiť o triedu lepšiu grafickú kartu a
za rovnakú cenu. Toto tempo by nezvládol ani Commodore.
Preto taktika Amiga Inc., ak chce uspieť a investori ešte chcú vidieť svoje
peniaze, musí byť zásadne iná. Príklad: mnoho Amigistov asi nemá Maca ale
vzhľadom na všeobecne známy záujem o Shapeshiftera a Fusion je reálny
predpoklad, že mnoho Amigistov ho aspoň vyskúšalo. Mnohí ho majú aspoň kvôli
hrám a webu. Tak isto vo svete Windows: Jim Drew bol s Fusionom pre PC veľmi
úspešný, záujem o Fusion s emuláciou PPC je enormný, pretože zatiaľ nič
podobné neexistuje. Aj preto nemá Jim Drew s Apple problémy, pretože
jednoducho robí Applu dobrú službu.
Je dôležité dostať sa do povedomia ľudí tak, ako sa to darí Applu
(onedlho predstavia MacOS X aj pre x86 procesory) a práve preto je taktika
"hosted" operačného systému v dnešnej situácii asi tá jediná
správna. Ak bude úspešná, nájde svoje marketingové opodstatnenie aj natívna
verzia, prípadne samostatná platforma.
Je reálny predpoklad, že potom, ako Be Inc. a QSSL ponúkli svoje platformy
BeOS 5 a QNX Realtime Platform zdarma pre nekomerčné účely, urobí tak aj
konkurencia. Súperenie týchto troch platforiem sa bude stupňovať, pretože
spolu s embedded Linuxom všetky štyri bojujú o dominantné postavenie na trhu
*Netpliances* (Be Inc. ponúka špeciálnu verziu BeOS určenú pre netpliances:
BeIA). Skrytou stratégiou tohto plánu je dostať sa cez trh internetových
zariadení aj na trh desktopov, pretože trend digitálnej konvergencie to
jednoducho vyžaduje.
Častou námietkou voči novému ponímaniu Amigy je, že budúca Amiga nebude
mať s Amigou ako takou nič spoločné. To je pravda. Dnešná (včerajšia)
Amiga je mŕtva. Architektúra AmigaOS je mŕtva. Bez štandardných vlastností,
ako ochrana pamäte, virtuálna pamäť, čistá a unifikovaná architektúra
ovládačov, RTG a RTA, podpora iných procesorov ako 68k, na Amige nikdy
nevzniknú konkurencie schopné aplikácie a nikdy nebudú prenesené uznávané
aplikácie z iných platforiem. Platforma bez aplikácií je odsúdená na neúspech.
S tým sa treba zmieriť. Čo nie je mŕtve, je filozofia Amigy. Malý, modulárny,
rýchly, efektívny systém, najlepšie s realtime charakteristikou. Nová Amiga
môže byt taká. QNX Realtime OS je taký už teraz.
Its time to live in the present.
QSSL: Voodoo people
Koncom apríla spoločnosť QSSL oznámila, že svoj nový operačný systém
ONX Realtime Platform sprístupní vývojárom zdarma. Bežní užívatelia ho
budú môcť tiež získať zdarma na stránke get.qnx.com, kde sa objaví v
priebehu leta. QSSL taktiež uvolní zdrojové kódy aplikácií, ovládačov a
knižníc, mikrokernel a niektoré ďalšie elementárne komponenty ostanú
proprietárne.
Cieľom QSSL je získať dominantné miesto na trhu operačných systémov pre
inteligentné digitálne zariadenia (ako napr. iOpener) a určovať štandardy
digitálnej konvergencie. Ich priamym protivníkom bude Be Inc. so svojím systémom
BeIA.
QNX Realtime Platform je vďaka svojej rigidnej mikrokernelovej architektúre
maximálne modulárny a stabilný systém, jeho základom je kernel Neutrino
2.0. Za behu a bez reštartu je možné pridať alebo odstrániť ovládač,
filesystém alebo hocijaký iný systémový komponent. Spĺňa normu POSIX a je
kompatibilný s Linuxom, čo prinesie od začiatku dostatok aplikácií.
Svojou integráciou a minimálnymi nárokmi pripomína AmigaOS, svojimi ďalšími
vlastnosťami by mu bol viac ako dôstojným nástupcom. Je viac ako
pravdepodobné, že sa na QNX objaví inovatívna emulácia Amigy Classic spolu
s PPC (PPCLib) podporou (len systémy s PPC) a CyberGFX od Ralpha Schmidta, člena
konzorcia Phoenix a bývalého šéfa Phase5, ktorý sa teraz venuje svojmu
projektu MorphOS, čo je samostatný OS v rámci ktorého spomínaná emulácia
beží.
Súčasťou QNX Realtime Platform bude aj oceňovaný Photon microGUI 2.0, čo
je samostatný mikrokernel pre GUI. Jeho súčasťou je aj RUI (Remote User
Interface), ktoré umožní ovládať QNX na diaľku, napr. z okna vo Windows.
Pomocou utility XPhoton je možné pod Photonom spúšťať XWindows aplikácie. Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|