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 Bell Labsin omistaja Nokia siirsi tekijänoikeudet Plan 9 Foundationille. Siirron myötä lähdekoodit tulivat 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 == Luokka: Käyttöjärjestelmät Luokka:Bell Labs