Här är tekniken i nästa generations operativsystem

2019-08-29 06:00  

Både Google och Huawei vill lämna arvet från Linux och börja från noll. Med Fuchsia och Harmony OS vill teknikjättarna använda mikrokärnor och distribuerad teknik för att göra sakernas internet mer kraftfullt än någonsin.

”Rosa + lila = Fuchsia (Ett nytt operativsystem)”.

Det är mitt i augusti 2016 och Google har med bara den kryptiska beskrivningen ovan släppt källkoden till ett helt nytt operativsystem på utvecklarplattformen Github.

Det är knäpptyst från teknikföretaget, men experter börjar skärskåda koden och gör genast intressanta fynd. Till skillnad från Android, Chrome OS och många av dagens andra populära operativsystem så bygger Fuchsia inte på Linux, vilket snart 30 år efter att Linus Torvalds skrev de första raderna blivit ett slags standard.

I stället har Googles utvecklare börjat om från noll och skrivit allt själva. Och det ska gå att köra på i princip vilken typ av enhet som helst. Från stationära datorer och mobiler till små uppkopplade sensorer och inbäddade iot-system.

– Ur ett tekniskt perspektiv känns det intressant. Det är ett nytt sätt att designa ett operativsystem, där man plockat med sig erfarenheterna från Linux men bygger det på en helt annan arkitektur, säger den frilansande utvecklaren Erik Hellman, som har lång erfarenhet av mobilutveckling och har följt utvecklingen Fuchsia sedan projektet offentliggjordes.

Läs mer: Här är Huaweis nya operativsystem Harmony OS

Knappt tre år senare kliver Huaweis konsumentchef Richard Yu upp på scenen i Dongguan. Där Google valde att smyga ut sitt nya operativsystem valde konkurrenten att slå på stora trumman. Den pressade kinesiska teknikjätten sparkar igång sin utvecklarkonferens med att med dunder och brak presentera sitt Harmony OS.

Rubrikerna dagarna därpå kallar operativsystemet en ersättare till Android på företagets mobiler. En flotte som kan hålla Huawei flytande om USA gör verklighet av att komplett kapa banden till världens näst största telefontillverkare.

Men, som Richard Yu också betonade under sin presentation, ambitionerna med Harmony OS är större än så.

Från monolit till mikrokärna

I likhet med Google Fuchsia har Harmony byggts upp från grunden. Här finns alltså inga spår av Linux eller andra operativsystem med öppen källkod. En annan likhet är designvalet att använda en mikrokärna i stället för en monolitisk kärna. Kärnan är den del i operativsystemet som sköter kommunikationen mellan mjukvara och hårdvara.

Som en jämförelse innehåller kärnan i Linux i dag runt 15 miljoner rader kod. Mikrokärnorna i Fuchsia och Harmony OS verkar i stället ha siktet inställt på några tusen kodrader.

Läs mer: Så blev Microsoft världens största företag

– Det är ingen ny idé, mikrokärnor har funnits sedan 80-talet, men varför Huawei och Google gör det nu verkar vara för att kunna ta de här operativsystemen till riktigt små enheter. Som sensorer eller inbyggda system som inte har kapacitet att köra ett fullskaligt operativsystem, säger Karl Andersson, som är biträdande professor i distribuerade datorsystem vid Luleå tekniska universitet.

Samtidigt har båda teknikjättarna deklarerat att deras nya operativsystem ska gå lika bra att köra på mobiler, surfplattor och datorer.

Ur säkerhetssynpunkt finns också fördelar med mikrokärnorna. Dels blir det rent arbetsmässigt enklare att kamma igenom den mindre omfattande källkoden i jakt på buggar och sårbarheter. Dels finns fördelar i själva upplägget. Ingen annan mjukvara på datorn har så mycket behörighet att påverka processer på datorn som operativsystemets kärna.

– Jag tror själv på tanken att försöka minimera koden som körs med full behörighet. Det blir ett säkrare system med färre fel. Dels betyder färre kodrader att färre fel kan smyga sig in, dels kan problemen med skadlig kod minimeras, säger Karl Andersson.

För en del av principen är att hålla kärnan minimalistisk. Tjänster som inte behöver kommunicera direkt med hårdvaran läggs i ett lager ovanpå kärnan, och har därmed lägre behörighet. Därför behöver färre applikationer prata direkt med kärnan, och risken att skadlig kod kan ställa till problem på högsta nivå blir mindre.

Läs mer: Därför köper IBM öppen källkod för 300 miljarder

– Kärnan behöver faktiskt inte veta allt. Den behöver bara göra de grundläggande sakerna, sammanfattar Erik Hellman.

Mer effektiva operativsystem

Han tillägger att det är en trend som går igen i annan mjuk- varuutveckling. När stora applikationer eller webbtjänster byggs delas de allt oftare upp i så kallade mikrotjänster. Tänk dig ett nätverk av små program där varje nod har sin egen väldigt specialiserade uppgift. Då blir det enklare att underhålla, utveckla och uppdatera en del av systemet utan att påverka de andra.

Principen kan också göra operativsystemet mer effektivt och snabbt. I Android och andra Linux-baserade operativsystem kan kommunikationen mellan hårdvara, underliggande ramverk och applikationer lätt bli krånglig och omständlig.

– När en app vill använda bluetooth måste den prata med processen som styr bluetooth. I Fuchsia har Google gjort mycket för att optimera det flödet jämfört med Android. Det är en stor fördel som förhoppningsvis gör operativsystemet både snabbare och säkrare, säger Erik Hellman.

Ser du några nackdelar med att bygga operativsystemen så?

– Nackdelarna kommer nog att uppmärksammas när vi väl börjar bygga appar. Då ser vi om alla pusselbitarna passar. Oftast dyker bristerna upp i kommunikationerna med ett operativsystem. När du vill visa en notis på hemskärmen eller öppna en viss sorts filer, sådana funktioner som ligger utanför själva appen.

Läs mer: Processorer i tre dimensioner – så ska Intel rädda Moores lag

En skillnad mot Fuchsia, som Huawei betonade flitigt under sin presentation, är att Harmony är byggt som ett distribuerat operativsystem.

– Det betyder att operativsystemet körs på flera enheter samtidigt, och de olika enheterna kommunicerar med varandra enligt ett speciellt schema. Det går att bygga väldigt intressanta applikationer ovanpå det och utvecklaren behöver inte veta så mycket om hur kommunikationen sker eller var noderna sitter, det sker mer eller mindre automatiskt, säger Karl Andersson.

Din telefon skulle till exempel kunna be en dator i samma nätverk om hjälp med kraftfulla beräkningar. Redan i dag fungerar många system så. Smarta högtalare som Google Home och Amazon Echo har minimal prestanda, och skickar dina röstkommandon vidare till molnet för att få hjälp med att tolka dem. Men med ett distribuerat operativsystem kan samma princip tilllämpas mycket mer effektivt och ske helt lokalt på det egna nätverket.

Dessutom lovar Huawei att processen för att utveckla appar för olika typer av enheter som kör Harmony OS ska vara lekande lätt. Utvecklarna ska bara behöva skriva en version som sedan automatiskt kan anpassas till olika kraftfulla enheter och olika skärmtyper.

Men återigen skiljer sig lanseringen markant från Googles. Än så länge finns ingen källkod att ta del av, även om Huawei lovat öppen källkod, så det är svårt att verifiera hur väl Harmony OS lever upp till förväntningarna.

Läs mer: Apple och Huawei har nått drömgränsen med 7-nanometerchip – kan transistorer ens bli mindre nu?

– Huruvida det tekniskt sett är bättre återstår att se. Allt de säger låter helt rätt, men det är synd att de presenterade Harmony OS utan att lägga ut något som går att testa. Fuchsia har vi ju kunnat testa på riktigt, säger Erik Hellman.

Då lanseras de nya operativsystemen

För Huaweis del vet vi redan att Harmony OS kommer att göra debut i smarta tv-apparater från dotterbolaget Honor senare i år. Sedan sägs planen vara att successivt rulla ut stöd till fler och fler typer av enheter.

Tre år efter släppet är Fuchsia fortfarande delvis höljt i dunkel, även om nyfikna entusiaster har lyckats köra tidiga versioner både på bärbara datorer och på mobiltelefoner.

En av få gånger som Google officiellt har kommenterat systemet var vid utvecklarkonferensen I/O tidigare i år. Vid ett framträdande berättade Googles plattformschef Hiroshi Lockheimer att han ser det som en investering i framtidens operativsystem.

– Det handlar om att vi vill lära oss att utveckla ny teknik, och kanske kan Fuchsia också lanseras på vissa formfaktorer. Det finns alla möjliga sorters enheter som kräver operativsystem. Inte bara telefoner och datorer, sa Hiroshi Lockheimer då.

Läs mer: Här är spelnördarna som knäckte Moores lag

Han trycker också på att Google inte ser Fuchsia som en ersättare till vare sig Android eller Chrome OS. Det är något nytt, och helt eget.

– Får jag spåna helt fritt så tror jag att vi kommer att ha kvar Android en bra tid framöver. Det är så väl spritt utanför Google. Inte bara på telefoner, utan i alla typer av skärmar. Självskanningsutrustningen på Ica och Coop kör ju Android, säger Erik Hellman.

– Jag tror snarare att de ser värdet i att kontrollera hela kedjan själva, det har fungerat bra för Apple. Huruvida det betyder att nästnästa generation smartphones kommer att köra Fuchsia är osäkert. Men i produkter som ingen utvecklar nativeappar för, som Google Home, Nest och liknande, tror jag att de kan kapa kostnaderna genom att bygga ett operativsystem som är mer effektivt och inte kräver lika mycket minne.

Simon Campanello

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

  Kommentarer

Debatt