Testit   Sivukartta
Kokeilussa AROS - Avoimen lähdekoodin AmigaOS
Janne Sirén <janne.siren@helsinki.fi>
Kuvat: Janne Sirén ja AROS Development Team (luvalla)

Muistan kuulleni AROSista ensimmäistä kertaa joskus kun Commodore vielä pyöritti bisnestä. Historiankirjoihin tutustuminen paljastaakin AROS-projektin alkaneen vuonna 1993 eli Commodoren konkurssia edeltäneenä vuotena. Yllätys oli suuri, kun huomasin hiljattain AROSin kehitystyön jatkuvan edelleen - lähes kymmenen vuotta myöhemmin.

Yllätys oli vielä suurempi, kun kuulin sen kehitystyön osia käytetyn jopa kahdessa tunnetummassa kilpakumppanissa: AmigaOS:ssä ja MorphOS:ssä. Kun sitten päivitetty binäärilevityspaketti paukahti Source Forgeen heinäkuussa, oli tähän kummajaiseen viimeinkin pakko tutustua tarkemmin. Mikä oikein on AROS? Tutustu myös projektikoordinaattori Aaron Digullan haastatteluun tässä Sakussa!

alkuun
Amiga Research OS

AROS muistetaan nimestä Amiga Replacement OS, joka kuvastaa hyvin projektin luonnetta. Yksinkertaistaen AROSin tarkoitus on korvata AmigaOS. Tausta on kuitenkin hieman monimutkaisempi. AROSin suunnittelu aloitettiin aikana, jolloin Commodoren alamäki kiihtyi, ja se on jatkunut läpi myöhempien aikojen omistussotkujen, konkurssien ja takinkääntöjen. Kun muut lähinnä puhuivat, AROSin tekijät koodasivat.

Projekti AROS aloitettiin vuonna 1993 tavoitteena parantaa Amigan asemia tietokonemarkkinoilla. Ajat olivat toiset, mutta tavoite kokolailla tuttu nyky-amigisteillekin: saada Amigaa leviämään laajemmalle. Ja ellei emoyhtiöstä ole siihen, niin tehdään homma sitten itse. AROSin tavoitteena oli korjata AmigaOS:n bugeja ja tuoda käyttöjärjestelmä 90-luvun tasolle. Tekijöinä olivat ahkerat amigistit Internetissä, ja silloin idea kulki nimellä AOS.

Kuten tällaisissa projekteissa yleensä, ensimmäiset kuukaudet käytettiin kinasteluun siitä mihin suuntaan projektia pitäisi viedä. Toinen halusi muistinsuojausta, toinen jotain muuta. Pari vuotta myöhemmin riviäkään koodia ei vielä ollut kirjoitettu, ja pelkkä speksauskin oli vaiheessa. Lopulta, vuoden 1995 talvella, kaveri nimeltä Aaron Digulla tuskastui tilanteeseen ja keräsi yhteen pohjalle tasaantuneet ajatukset siitä mitä AOSin vähintään tulisi olla.

Ryhmä tuli siihen tulokseen, että vähintäänkin pitäisi luoda AmigaOS 3.1 -yhteensopiva käyttöjärjestelmä ja vasta sen jälkeen olisi syytä katsella eteenpäin. AOS vaihtoi nimensä AROSiin ja matkan varrella puhe Amiga Replacement OS:stä on vaihtunut trendikkäämpään Amiga Research OS:ään. AROSin välietappi on edelleen sama: AmigaOS 3.1 -yhtensopiva käyttöjärjestelmä. Kehitystä on silti tapahtunut. 77% AmigaOS-funktioista on valmiina ja vain 15% täysin avoimena.

AROS-tiimi on siis toiminto kerrallaan ohjelmoinut AmigaOS:n ohjelmia ja ohjelmointirajapintoja Commodoren ohjelmointidokumenttien pohjalta uudestaan. Tuloksena on kokolailla AmigaOS:n kanssa yhteensopiva käyttöjärjestelmä, jossa ei ole tippaakaan alkuperäistä koodia ja jonka siten pitäisi olla laillinen etenkin Euroopassa, jossa jenkkilän ohjelmistopatentit eivät päde ja ohjelmistojen välisen yhteensopivuuden tavoittelulle on lain suoja. Amiga Inc. on antanut ymmärtää, että niin kauan kuin AROS pysyy ilmaisena, he eivät murise asiasta. Mukaan on tullut myös joitain toimintoja, joita AmigaOS:ssä ei ole, kuten erikoisen muotoiset ikkunat.

Myös AROSin tavoite on hioutunut tarkemmaksi. Tällä hetkellä tavoite on nelijakoinen:

  • mahdollisimman yhteensopiva AmigaOS 3.1:n kanssa
  • voidaan portata eri suorittimille, esimerkiksi Intel x86, PowerPC, Alpha, Sparc, HPPA jne.
  • binääriyhteensopiva Amigalla ja lähdekoodiyhteensopiva muilla alustoilla
  • toimii yksinään suoraan kiintolevyltä, emulaationa toisen käyttöjärjestelmän ikkunassa tai kirjastona, jonka avulla voi tehdä natiivisovelluksia AmigaOS:n ohjelmointimenetelmin

Kirjoitushetkellä AROSin tekijöiden lista oli 178 nimeä pitkä. Tiimi käyttää kehitystyöhön Internetiä, esimerkiksi Source Forgea. Kuka tahansa on tervetullut ottamaan projektiin osaa ja AROSin lähdekoodi on saatavilla Mozillan lisenssiä muistuttavalla avoimen lähdekoodin APL-lisenssillä. AROSin lähdekoodia voi käyttää lisenssiehtojen mukaisesti myös omissa projekteissaan, ja kuten ylhäällä mainitsinkin, muutamat tahot ovat näin jo tehneet.


alkuun
Monenlaisia käyttötapoja

Kuten uudempi AmigaOS:n korvaajakandidaatti MorphOS, myös AROS tuntuu projektina melko nurinkuriselta. Jos Amiga-yhteisö, yritykset ja omistajat mukaan lukien, olisi vuosien saatossa lyönyt päänsä viisaammin yhteen, olisi kaikki nämä energiat voitu suunnata yhden ja saman Amiga-ympäristön kehittämiseen. Näin ei valitettavasti kuitenkaan ole käynyt, ja niinpä meillä on tänä päivänä kokolailla kolme Amiga-yhteensopivaa käyttöjärjestelmää: AmigaOS, AROS ja MorphOS (joka olisi ihan oman artikkelinsa arvoinen).

Näiden kilpakumppaneiden välille on kuitenkin syntynyt mielenkiintoisia linkkejäkin. Avoimen lähdekoodin periaatteita noudattava AROS on toiminut osana sekä AmigaOS:n että MorphOS:n kehitystyötä. AROSin tiimin mukaan Haage & Partner käytti AmigaOS 3.9:ssä jostain syystä AROSin color wheel -käyttöliittymäelementtiä. MorphOS:n AmigaOS-emulaatio puolestaan viimeisteltiin AROSin lähdekoodeja hyödyntäen.

Näin ollen pari odottamatonta käyttötarkoitusta AROSille on löytynyt jo kauan ennen sen valmistumista. AROSin on suunniteltu myös nopeuttavan UAE-emulaattoria. UAE voisi korvata joitakin Amigan omia kirjastokutsuja ja -toimintoja AROSin natiivitoteutuksilla, mikä nopeuttaisi emulaatiota.

AROS toimii toki myös omana käyttöjärjestelmänään niin PC:llä kuin Amigallakin. Tällä hetkellä sitä voi ajaa itsenäisten toteutusten lisäksi sekä PC:n että Amigan Linuxilla ikkunassa ja PC:n FreeBSD:llä. AROSia on yritetty kääntää myös Sparcille ja PowerPC:lle, mutta toistaiseksi näistä projekteista ei ole tullut mitään - harrastelijapohjaisen ohjelmistokehityksen haittapuolena kun on tekijöiden mielenkiinnon ja aikataulujen ailahtelut. Vain 68k-pohjaiset toteutukset ovat tällä hetkellä binääriyhteensopivia, muille ympäristöille ohjelmat pitää kääntää lähdekoodista uudelleen.


alkuun
AROS testipenkkiin
Periaatteellisella tasolla AROSista on lueskeltu jo vuosia, mutta itse olen toistaiseksi välttynyt sen kokeilemiselta käytännössä, vaikka versioita on kyllä ollut saatavilla jo aikaisemminkin. Lähdekoodit päivittyvät jatkuvasti ja satunnaisesti käyttöjärjestelmästä julkaistaan myös valmiiksi käännettyjä binääriversioita meille laiskemmille yksilöille. Hain Source Forgen AROS-sivulta Files-kohdasta tiedoston AROS-20020703-i386-pc-floppies.tar.gz, joka on levykejakelu AROSista PC:lle. Tarjolla on myös muita versioita.

TGZ-paketin sain purettua WinZipillä ja sisältä paljastui kolme IMG-tiedostoa, kukin kooltaan täsmälleen PC:n HD-levykkeen verran. Nämä siirretään levykkeille rawritellä tai vastaavalla ohjelmalla. Itse käytin RawWrite for Windows -ohjelmaa. Prosessin päätteeksi minulla oli kädessäni yksi AROS-käynnistyslevyke ja kaksi kontribuutiolevykettä. Laitoin käynnistyskorpun PC:n levykeasemaan, sammutin Windowsin ja käynnistin koneen uudelleen.

Testikoneina toimivat Hewlett-Packardin kannettava XE3-mikro 700 megahertsin Pentium III:lla ja 320 megatavulla muistia sekä AMD K6-2 -pohjainen kloonimikro 333 MHz:lla ja 384:llä megatavulla muistia. Ensimmäinen käynnistysyritys AMD:llä ei ollut kovin lupaava. Heti käynnistyksessä kone ilmoitti lukuvirheestä. Ongelmaksi osoittautui kuitenkin vain viallinen levyke, ja uuden yrityksen jälkeen homma lähti rullaamaan.
 
 
Tämä AROS-versio koukkasi ensitöikseen GURB-käynnistysvalikon kautta, ja sen jälkeen ruudulle alkoi valua lähinnä Linuxin käynnistymistä muistuttavaa informaatiota käynnistysprosessista. Lähinnä Amiga Research OS -teksti ja tutut nimitykset tyyliin ExecBase muistuttavat Amigasta. Tämän jälkeen kaikki on kuitenkin kovin tuttua. Tekstien kadottua ruudun vasempaan ylänurkkaan ilmestyy AmigaOS 3.1:stä tuttu hiiren vakio-osoitin - low-res-karmeudessaan. Pian käyttäjää tervehtii harmaa ruutu, jonka valkoisessa yläpalkissa lukee "Workbench Screen". Levykeversiossa ilmestyy pakatun tiedon purkamista ilmaiseva palkki ja purkuoperaation valmistuttua CLI.

AROSille ei vielä ole Workbenchin korviketta, joten ensituntumaa järjestelmään täytyy hakea komentorivikehotteen kautta. Onneksi se toimii aivan kuten Amigan vastaava, mitä nyt muutamia eroavaisuuksia ilmenee käytössä. Windowsin turruttamalle mielelle ei heti ensimmäisenä juolahtanut ihmetellä, kun CLI-ikkunan pystyi siirtämään osittain ulos ruudulta - tällaista ominaisuutta ei kuitenkaan AmigaOS:ssä ennen uumoiltua 4.0-päivitystä ole ollut. Valikot toimivat MagicMenun tapaan eli aukeavat hiiren kohdalle. Demokansiosta löytyy myös esimerkkiohjelma pyöreästä ikkunasta, mikä kieltämättä näytti melkoisen hassulta.
 
 
Pikkueroista viis. Tämä näyttää ja tuntuu vähän liiankin paljon Amigalta.

alkuun
AROS käytännössä
Ensikokemukset AROSista AMD:llä olivat vakuuttavia, joskin vakiokonfiguraation muistutus 640x480-tarkkuudesta 16 värillä ja 60 hertsillä ei ollut suurinta mahdollista herkkua. Kaikki toimi kuitenkin erittäin jouhevasti, eikä samaisella koneella Amiga Foreverin ja UAE:n yhdistelmällä tuttua tahmomista ilmennyt. Hiiri, teksti ja demo-ohjelmat liikkuivat sulavasti ruudulla, tosin näin alhaisella tarkkuudella ja värimäärällä ei muuta toki sovi odottaakaan. AROS kun ei ole emulaattori.

Kontribuutiolevykkeeltä löytyi joitakin Aminet-ohjelmia, mm. Backgammon vuodelta 1987 on käännetty AROSille. Memspeed puolestaan ilmoitti muistin luku/kirjoitusnopeudeksi HP:lla 2133/2560 megatavua sekunnissa.
 
 
Käytännön vauhdissa merkittävää nopeuseroa ei AMD:n ja HP:n välillä ei ollut näillä ohjelmilla havaittavissa. Suurimman hitauden aiheutti AROSin lataaminen levykkeeltä, mutta latausaikoja lukuun ottamatta kaikki toimi kutakuinkin välittömästi. AROSin voi toki asentaa kiintolevyllekin, itse asiassa sen mukana tulee versio HDToolBoxista, mutta tämän pikakokeen puitteissa en siihen ryhtynyt. Käyttöjärjestelmä on saatavilla myös cd-r-imagena niille jotka eivät viitsi korppujen kanssa tapella.
 
 
Jos AROS kiinnostaa, lähettäkää ihmeessä projektia koordinoivalle Aaron Digullalle terveisiä osoitteeseen digulla@aros.org. Mies ei varmasti pistä pahakseen myöskään uusia kehittelijöitä. :-) Lue myös Aaron Digullan haastattelu toisaalta tästä Sakusta!
 
 
Testit   Sivun alkuun   Sivukartta