Microsoft med helt nytt operativsystem

Forskere ved Microsoft har utviklet et helt nytt operativsystem som ikke er Windows-basert.

Forskere ved Microsofts forskningsavdeling har de siste fem årene jobbet med et helt nytt operativsystem som har fått navnet Singularity.

Ifølge Microsoft Research kan de fleste av dagens operativsystemer, inkludert Windows, Linux og andre Unix-lignende systemer, spores lineært tilbake til Multics, et operativsystem som tok form på midten av 1960-tallet, og designes på mye av den samme måten. Dette til tross for at datamaskinene har endret seg mye siden den tid.

Forskerne ved Microsoft Research, i første rekke Galen Hunt og Jim Larus, spurte seg selv i 2003:

- Hvis vi skulle starte helt på nytt, hvordan ville vi lage systemer mer pålitelige og robuste?

Ifølge Larus mente man ikke at man skulle lage et perfekt system, men man hadde et ønske å at de skulle bli mer forutsigbare, mer stabile og at brukerne skulle oppleve færre avbrytelser under bruken av systemet.

    Les også:

- Hvis vi skulle starte helt på nytt, hvordan ville vi lage systemer mer pålitelige og robuste? Forskerne bestemte seg for å designet et enkelt, minimalistisk system. Det var aldri tanken at Singularity skulle erstatte Windows. Derimot skulle operativsystemet være egnet for forskningsmiljøet og være egnet for å demonstrere nye teknologier og arkitektur-forandringer i praksis.

- Målet vårt var å gjøre Singularity liten nok, enkel nok og veldesignet nok, slik at du raskt kan prøve ut radikalt nye ideer, sier Hunt i en uttalelse.

- Tanken vår er at en forsker med en ny idé om å forbedre operativsystemer skal kunne gå fra idéstatiet til å ha utgitt en forskingsartikkel om dette på under ett år ved å benytte Singularity.

Singularitys arkitektur tar i bruk tre sentrale teknikker som skal forbedre driftssikkerheten.

Operativsystemet skal være det første som tar i bruk programvare-isolerte prosesser for å bidra til å beskytte programmer og systemtjenester. Teknikken gjør det mulig å bryte programmer ned i komponenter som er isolert fra andre programvare-komponenter som kjøres på den samme enheten. Dette gjør at deler av systemet kan feile uten risiko for at man skal få en total systemfei. Forskerne kommer med denne analogien: Bremsene i en bil feiler ikke, selv om radioen slutter å virke.

Forskerne gjør dette mulig, uten spesiell maskinvarestøtte, ved å ta i bruk en metode som kalles statisk analyse. Denne inspiserer kildekoden til programmer på forhånd for å sikre at en prosess adlyder visse regler som sikrer at den er isolert fra resten av systemet.

Bremsene i en bil feiler ikke, selv om radioen slutter å virke. Den andre teknikken er knyttet til det faktum at et programs mange programvare-isolerte prosesser har behov for å kommunisere og dele informasjon fordi de jobber mot et felles mål. For å sikre feilkommunikasjon som kan føre til feil og sammenbrudd, har forskerne utviklet det de kaller «kontraktsbaserte kanaler» for kommunikasjon.

Hunt forklarer at ved hjelp av statisk analyse og en beskrivelse av hva slags kommunikasjon som skal kunne finne sted mellom to prosesser, kan man allerede før koden kjøres bekrefte at prosessene kommuniserer på korrekt måte.

Den tredje, unike teknikken kalles for «manifestbaserte programmer». Tradisjonelt har ikke operativsystemer hatt noen kjennskap om et programs sammensetning, hensikt eller ressursene det benytter. Operativsystemet kjører bare det settet med bits som det blir presentert.

Singularity skal derimot ha en tilnærming som sikrer at et nytt program ikke ødelegger for programmer som allerede er installert.

- Helt grunnleggende sier vi at dersom du ønsker å installere et program for å kjøres på et Singularity-system, må du tilby noe informasjon om programmet, slik at vi kan bevare visse egenskaper som vil gjøre systemet mer pålitelig. Du må tilby et manifest over programdelene og hvordan de passer sammen, og så kommer vi til å sjekke dem. Enda viktigere er det at vi reserveres oss retten til å si «nei». Dersom et gitt program ikke følger regelsettet til systemet, kan du ikke installere eller kjøre det, sier Larus.

Singularity er i all hovedsak skrevet ved hjelp av høynivåspråket C#. Dette skal ifølge forskerne gi bedre sikkerhet enn operativsystemer skrevet i lavnivåspråk som C eller C++, blant annet fordi bruk av C# skal hindre at programvare inneholder overflytsfeil i buffere.

Kildekoden til Singularity er nå tilgjengelig på Microsoft CodePlex-nettsted til akademisk og ikke-kommersiell bruk. Lisensen er gjengitt her. Forskerne håper at prototypen vil bli brukt som et laboratorium for ekseperimentering og innovasjon.

Til toppen