Windows on ARM – Windows 8:n olemassaolon oikea syy

Olen katsellut mielenkiinnolla Microsoftin kehitystyötä Windows 8:n parissa ja nyt kun uuden Windows 8:n Consumer Preview’n (eli suomeksi betan) aika alaa olla käsillä, on hyvä vetää yhteen mitä tulossa onkaan.

Tärkein syy Windows 8:n rakentamiseen ei suinkaan ole ollut Metro-käyttäliittymä tai vuosipäivitys. Windows 8:n tärkein syy olemassaololleen on ARM.

ARM on taulutietokoneissa ja kännnyköissä käytetty vähän virtaa käyttävä prosessoritekniikka. Se tekee suurin piirtein samaa kuin mitä Intelin x86/64 -prosessoritkin, mutta paljon tehokkaammin ja vähemmällä sähkönkulutuksella. ARMin prosessorit hallitsevatkin lähes suvereenisti kaikkia mobiililaitteita ja Intelin Atomin yritykset astua tälle alalle ovat epäonnistuneet pahemman kerran.

ARM-perustaiset laitteet eroavat tavallisesta PC:stä myös tekniikassa nimeltä SoC. SoC tulee sanoista ”System on a Chip” ja se vastaa karkeasti sanoen PC:n prosessoria, emolevyä, muistia, näytönohjainta ja laajennusväyliä. ARM-laitteet myydään nimenomaan SoC-kokoonpanoina.

Vaikka SoC muistuttaa PC:tä paljon, eroavaisuuksiakin löytyy. SoCit eivät esimerkiksi tue PCI- tai SATA-väyliä, niiden ihmisohjauslaitteet eivät ole PC:stä tuttuja näppäimistöä ja hiirtä ja USB-tuki on erilainen. Lisäksi BIOS:n sijasta nämä laitteet käyttävät UEFI:ä.

Windows 8:n tärkein uudistus on se, että Microsoft on portannut Windowsin ARM-laitteille.

Porttaus ei ole ollut mikään helppo juttu. Windows 8:n hankepäällikkö Steven Sinofsky kertoo jutusta juurta jaksain pitkässä MSDN:n blogauksessa. Porttaustyö on olllut selvästi suuri urakka. Ja sen kuluessa ARM-pohjaisten piirisarjavalmistajien on pitänyt tehdä muun muassa omien piirisarjojensa näytönohjainten DirectX-näytönohjainajurit ARM-Windowsia varten.

Kaiken kaikkiaan Windows on ARM (WOA) on täysin uusi käyttöjärjestelmä. Se on hyötynyt merkittävästi Intel-Windowsin olemassaolosta ja pystyy hyödyntämään monia tämän olemassa olevia apuja. Silti tämä ei poista sitä tosiasiaa, että WOA ja ”normaali” Windows 8 ovat eri otuksia.

Helpottaakseen ohjelmistonkehittäjien tuskaa Microsoft on kehittänyt uuden API-kollaasin, WinRT:n. WinRT kapseloi taakseen kaikki järjestelmäpalvelut kuten esimerkiksi tietoliikenteen, grafiikan, multimedian, laitteistot ja tulostimet. WinRT:n tarkoitus korvata ikiwanha Win32-API ja sitä voi käyttää yhtä lailla Intel- ja ARM-sovellusten kehittämiseen Windows 8:lle. Se on myös ainoa API, jolla saa aikaiseksi Metro-käyttöliittymälle sopivia sovelluksia.

On kohtuullisen tärkeää ymmärtää, että WinRT ei ole Win32:n päälle rakennettu API, vaan sen rinnakkainen. Toisin kuin vain .Net ja Silverlight-kehittäjille tarjolla ollut WPF, WinRT on tarjolla kaikille kehittäjille, olipa heidän työkalunsa sitten C++, HTML 5 tai .Net. WinRT tulee olemaan myös täysin asynkroninen ja pyrkii näin parantamaan kaikkien ohjelmien käytettävyyttä ja käyttäjälle vastaamista.

Miguel de Icaza on kirjoittanut WinRT:stä hyvän ja tyhjentävän blogauksen, joten tässä on tarpeetonta toistaa kaikkia sen pointteja.

Windows on ARM on tarkoitettu selvästi kilpailemaan Googlen Androidia vastaan. Tulevan vuoden aikana tulemme taatusti näkemään monia sapelinkalisteluita Microsoftin ja Googlen välillä, kun käyttöjärjestelmät ottavat toisistaan mittaa lähes samanlaisella raudalla.

Microsoft lähtee kisaan jälkijunassa, mutta ei lainkaan heikosti varustettuna. ARM-Windowsien mukana tulee täysi versio Microsoft Officesta (Office 15), Visual Studio julkaistaan kohta ja laitteiden mukana tulee  setti Googlen pilvipalvelujen kanssa kilpailevia tuotteita – esimerkiksi Skydrive.

Nokian kannalta Microsoftin voimakas ARM-panostus tietää hyvää. Sitä mukaan kun SoC:t kehittyvät ja alkavat tukea WOA:a, saa Nokiakin uusia alustoja, joille rakentaa puhelimia.

Aiheet: Yleiset
Tilaa RSS-syöte
Takaisin ylös

Kommentit 10 kommenttia

lol

Kyllähän Windows NT-rakenne on periaatteessa ollut alustariippumaton ennenkin, NT 3.1:n sai ties kuinka monelle. NT 4.0:ssakin oli vielä tuki Alphalle.

Zarr on periaatteessa oikeilla jäljillä. Mutta Alphan tapauksessa riitti pelkän kernelin porttaaminen. Muu pc-puolen rauta pysyi hyvin samassa kunnossa.

Lisäksi jos muistan Windows internalini oikein, Windows oli vielä rakennettu niin että prossuporttausta edellyttäneet osuudet oli eriytetty jo suunnitteluvaiheessa.

Samantyyppisestä asiasta on siis kyse. Mutta lukemani ja ymmärtäväni perusteella tämä ARM-porttaus olisi ollut paljon isompi juttu.

Windows on ARM on käsitteenä ikivanha juttu, WinCE on ollut olemassa jo vaikka miten pitkään. Se mikä nyt muuttuu, on käyttöliittymä kosketusnäytöille sopivaksi. Nähtäväksi sitten jää, että onko yet another API sitten miten käänteentekevä oikeasti. WinCE:nkin voi tehdä .NET sovelluksia jotka pyörivät myös työpöytä-Winkussa, joten siinä suhteessa ei ole mitään uutta.

Hyvä avaus Operaalta. Windows CE oli kuitenkin eri pohjalta syntynyt kuin työpöytä-Windowsit. Windows kasin x86/64- ja ARM-koodien välillä on selvä yhteys ja ne tulevat samasta putkesta.

Ossi on nyt hieman väärässä. Porttaus on yksinkertainen juttu, ja jokaisessa ammattimaisesti kehitetyssä softassa prosessoririippuvaiset jutut on eriytetty jo suunnitteluvaiheessa.

Se, miksi porttaus oli nyt perustavalla tavalla iso juttu on johtunut siitä, että Microsoft viimeisen 15v aikana sitonut Windowsia siihen x86 arkkitehtuuriin ja mistään laiteajureista yms. ei ollut tietoakaan muualle.

Windows 8 ARM on kyllä oikeastaan sama käyttis, Microsoft tosin haluaa varustella sen eri tavalla ja myydä erillisena ”editionina” johtuen siitä, että sovelluksia ei sille oikein ole.

Itse en kyllä siitä WinRT:stä ole niin paljoa innostunut kun tuntuu niin rajoittavalta. Taisi olla jopa niin rajoittunut, että ei pysty tekemään serviceä sillä, eli on ominaisuuksiltaan kuin täysiverisen käyttöjärjestelmä API:n kevytversio.

Toisekseen, miksi TAAS uusi API? Nokiakytköstä ajatellen olisi ollut paljon parempi jos olisivat rakentaneen Windowsin Qt:n pohjalta. Kehittäjillä on luottoa tekniikkaan jota on kehitetty vuosikymmeniä, Nokialla olisi ollut kivuttomampi siirtyminen, kehittäjiä olisi jo eikä tarvisi opetella taas uutta yms.

Nyt tuntuu vähän siltä, että Windows 8:lle saadaan natiivisti vain niitä muutamia .NET sovelluksia, Javasovellukset sitten kun Oracle vaivautuu porttamaan Javan ja sitten jotain pierusovelluksia ja muuta mobiililaitteista tuttuja pikkusovelluksia, ja tilanne pysyy tälläisenä pitkän aikaa. Käytännössä softaa kai alkaa tulla sitten kun yleisesti toimivat sovellusframeworkit kuten Javat yms. saadaan toimimaan WinRT:n päällä.

Nyt jäi sellainen maku, että WinRT tehtiin erilaiseksi siksi, että sille natiivisti tehdyt softat olisi mahdollisimman huonosti siirrettäviä ja oikein mitään teknistä syytä tälläisen tekemiselle ei ole. Nykypäivänä kun softat halutaan toimimaan laajalle yleisölle jonkun Windows Phonen markkinaosuus on promilleluokassa niin tuollainen on lähinnä on teknologian fragmentoitumista kehittäjille.

”Windows CE oli kuitenkin eri pohjalta syntynyt kuin työpöytä-Windowsit. Windows kasin x86/64- ja ARM-koodien välillä on selvä yhteys ja ne tulevat samasta putkesta.”

Oli ja on edelleen, mutta jos nyt puhutaan käyttäjän vinkkelistä.. Kasi on tietysti edistysaskel joka suhteessa, mutta fundamentaalisesti onko siinä sittenkään niin suura eroa?

Vähän vanhemmista Windowseista tuttu työpöytä löytyy CE:stä ja .NET CE ohjelmat voi pyöriä myös perinteisellä Windows-puolella. Ja kasiin verrattuna kumpaakaan ei voi ARM:lle asentaa kuluttaja ihan tuosta vaan, kuten x86 maailmassa. Tai näin minä ainakin voisin kuvitella 8:n arm-puolen kanssa käyvän.

Teknisesti CE:n ja kasin välillä on tietysti ällyttömän iso ero, mutta käyttäjän vinkkelistä minä en näe muuta ihmeellistä kuin käyttöliittymän. Sekä sen ehkä, että kumpaa sovelluskehittäjät tulevat tukemaan.

CE:lle ei ihan hirveästi softaa löydy, mutta voisin kuvitella Metrolle syntyvän ihan kiitettävästi.

Mielenkiintoista on nähdä, miten kysyntä lähtee käyntiin tämän teknologian kohdalla. Etenkin siksi, että laitevalmistajat sylkevät täydellä höyryllä Androidia markkinoille ja mobiili-Windowsissa ei Office -lukolla ole oikein merkitystä.

Uskon kovasti Windowsiin työsuhdekännykässä. Saadaan hyvä yhteensopivuus läpäreihin, tabuihin ja muihin. Edelleen MS ei (toivoakseni) ole vaikoilufirma, niinkuin jotkut. Siitä kannattaa maksaakin.

En oikein tiedä menikö tässä jutussa mitään oikein.

SoC-palikoissa voi olla ihan samat väylät kuin ”PC” kokoonpanoissa. (kg. Marvell Armada XP). Riippuu paljon kuka paketoinnin on tehnyt. Mikä on hidastanut Windowsin ARMia version saapumista eniten, on kehityskentän hajanaisuus. Ratkaisuja tulee ja menee riippuen tuotteen elinkaaresta. Jokaiselta ARM-paketoijalta tulee omannäköinen ratkaisu, joka vaatii omannäköisen softatoteutuksen. Siksi nuo tarjotaankin lähes poikkeuksetta Linux-paketilla, jossa on jo valmiit kehitysympäristöt ja työkalut, joka mahdollistaa nopean kehityksen. Valmistaja voi myös näillä eväillä määrittää itse raudan sovelluksen tasolle, ilman että MS:n kaltainen taho määrittää ne. (SoC:sta voi mm. sulkea lohkoja joita ei tarvitse ja käyttää väyläratkaisuja jotka sopivat sovellukselle.)
No anyways…Mösö on lähtenyt perinteisellä linjalla, jossa raudantekijän on kuljettava vahvassa liekassa tai ei ollenkaan. Esimerkiksi WP:n HW:ta ei juurikaan tuunata suuntaan tai toiseen.

Kommentoi kirjoitusta

Kirjoitusohjeita

  • Huomioi toisten mielipiteet ja ymmärrä, etteivät kaikki voi olla samaa mieltä kanssasi.
  • Ole kohtelias ja huomaavainen, äläkä tarkoituksella provosoi tai loukkaa muita kirjoittajia.
  • Muista, että kirjoittajana olet rikos- ja vahingonkorvausoikeudellisessa vastuussa viestiesi sisällöstä.

Toimitus varaa oikeuden poistaa sopimattomat viestit keskusteluista. Voit ilmoittaa sopimattomat viestit "ilmoita"-linkeistä.

Katso myös keskustelun ja kommentoinnin säännöt.

Takaisin ylös
RSS

Selaa blogikirjoituksia

Aiheet
Arkistot
TTL ry
Pieni kirjapuoti
Takaisin ylös