Plan 9

Plan 9 on Bell Labsin kehittämä hajautettu käyttöjärjestelmä, jonka kehitys aloitettiin 1980-luvun lopulla. Alkuperäiset suunnittelijat ja kehittäjät ovat Ken Thompson, Rob Pike, Dave Presotto, ja Phil Winterbottom.

Käyttöjärjestelmän kehittäjiä ovat useat samat henkilöt jotka kehittivät Unix-käyttöjärjestelmän. Käyttöjärjestelmä on kehitetty tutkimuskäyttöön.

Historia 

Ensimmäinen julkaisu toimitettiin vuonna 1992 yliopistoille.

Toinen julkaisu vuonna 1995 oli saatavilla kaupallisen lisenssin alla.

Kolmas julkaisu vuonna 2000 on avoimen lähdekoodin lisenssillä.

Neljäs julkaisu vuonna 2002 on uudella vapaan ohjelmiston lisenssillä. 

Helmikuussa 2014 käyttöjärjestelmä on julkaistu uudelleen GNU GPLv2 lisenssillä.

Maaliskuussa 2021 Nokia siirsi tekijänoikeudet Plan 9 Foundationille. Siirron myötä lähdekoodit tulevat MIT-lisenssille.

Suoritintuki 

Käyttöjärjestelmä tukee ARM, x86, x86-64, MIPS, Alpha, SPARC ja PowerPC suorittimia.

Myös NeXTstation (Motorola 68000 -sarja) ja BeBox tietokoneita on tuettu varhaisissa versioissa.

9P protokolla 

9P protokolla on kehitetty vähentämään erikoistarkoitukseen tehtyjä ohjelmointirajapintoja. 

9P protokolla tarjoaa useimmat ominaisuudet tiedostojärjestelmän kaltaisena rajapintana palvelin- ja asiakassovelluksien välillä.

Protokolla mahdollistaa tiedostojärjestelmien etäkäytön Network File Systemin (NFS) tapaan (ks. hajautettu levyjärjestelmä).

Linux-ydin tukee protokollaa.

Protokollan määritelmästä on luonnos sen standardoimiseksi.

Yhdistelmähakemistot 

Yksi Plan 9 ominaisuuksista on tiedostojärjestelmä, joka sallii muodostaa yhdistelmähakemistoja, joissa saman hakemiston alla näkyy käyttäjälle useiden muiden sijaintien sisältö.

Linux sisältää nykyään vastaavan mekanismin nimellä overlayfs.

Nimiavaruudet 

Nimiavaruudet () mahdollistavat käyttäjäkohtaiset näkymät tiedostojärjestelmään.

Vastaavanlainen ominaisuus on lisätty Linux ytimeen versiossa 3.8 (ks. Linux-nimiavaruudet).

Fossil 
Fossil on Plan 9:lle tehty tiedostojen arkistopalvelin, joka tyypillisesti pitää perinteistä tiedostojärjestelmää paikallisella levyllä ja säännöllisesti arkistoi tilannekuvia Venti-palvelimelle.

Unicode 

Käyttöjärjestelmä käyttää kauttaaltaan Unicoden UTF-8 merkistökoodausta, joka kehitettiin Plan 9:ää varten.

Graafiset sovellukset 

Plan 9 kehitettiin käytettäväksi graafisella käyttöliittymällä. 

Käyttöliittymänä toimii rio ikkunointijärjestelmä, joka korvasi aikaisemman 8½ ikkunointijärjestelmän.

Ikkunointijärjestelmän on toteutettava yhtä aikaa kolmea asiaa ilmeisimpien lisäksi:
 järjestelmärajapinta (laitteistokäsittely)
 ohjelmarajapinta (ikkunoiden hallinta)
 käyttöliittymä (hiiri, näppäimistö, valikot..)

Rio on epätavallinen ikkunointijärjestelmien keskuudessa koska se on toteutettu tiedostopalvelimena. Plan 9:ssä lähes kaikki on tiedostopalveluina tai ainakin esitetty sellaisena.

Ohjelmointi 

Plan 9 on ohjelmoitu C-kielen muunnoksella, jossa on eräitä eroavaisuuksia ANSI C -standardiin verrattuna.

Osa Plan 9:stä on ohjelmoitu C-kielen kaltaisella rinnakkaisohjelmointiin tarkoitetulla Alef -kielellä. Alefin käyttö on kuitenkin jäänyt vähäiseksi vuoden 1995 toisen julkaisun jälkeen.

Kritiikki 

Plan 9:n "everything is a file" -konseptia on kritisoitu koska tyyppijärjestelmä on ajonaikainen eikä helposti määriteltävissä tai dokumentoitavissa.

Lähteet 

 Käyttöjärjestelmät
Bell Labs