Plan 9

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

Plan 9
Kehittäjä Bell Labs
Ohjelmointikielet C[1][2][3]
Julkaistu 1992
Viimeisin vakaa versio
Suoritintuki ARM, x86, x86-64, MIPS, Alpha, SPARC, PowerPC
Käyttöliittymä rio / rc
Lähdekoodimalli avoin lähdekoodi
Lisenssi GPLv2
Aiheesta muualla
Verkkosivusto
Plan 9 -käyttöliittymä, jossa avoinna acme-tekstieditori ja drawterm.

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

Historia

Ensimmäinen julkaisu toimitettiin vuonna 1992 yliopistoille.[4]

Toinen julkaisu vuonna 1995 oli saatavilla kaupallisen lisenssin alla.[4]

Kolmas julkaisu vuonna 2000 on avoimen lähdekoodin lisenssillä.[4]

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

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

Maaliskuussa 2021 Bell Labsin omistaja Nokia siirsi tekijänoikeudet Plan 9 Foundationille.[6] Siirron myötä lähdekoodit tulivat MIT-lisenssille.[7]

Suoritintuki

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

Myös NeXTstation (Motorola 68000 -sarja) ja BeBox tietokoneita on tuettu varhaisissa versioissa.[4][8][9]

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ä.[1]

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

Linux-ydin tukee protokollaa.[11][10]

Protokollan määritelmästä on luonnos sen standardoimiseksi.[12]

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.[13]

Nimiavaruudet

Nimiavaruudet (engl. namespace) mahdollistavat käyttäjäkohtaiset näkymät tiedostojärjestelmään.[1]

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

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.[15]

Unicode

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

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 ikkunointijärjestelmän.[1]

Ikkunointijärjestelmän on toteutettava yhtä aikaa kolmea asiaa ilmeisimpien lisäksi:[18]

  • 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.[18] Plan 9:ssä lähes kaikki on tiedostopalveluina tai ainakin esitetty sellaisena.[18]

Ohjelmointi

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

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.[19][20]

Kritiikki

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

Lähteet

  1. Plan 9 operating-system.org. Viitattu 14.2.2017.
  2. Gagliardi, Pietro: C Programming in Plan 9 from Bell Labs doc.cat-v.org. Viitattu 15.2.2017.
  3. Pike, Rob: How to Use the Plan 9 C Compiler plan9.bell-labs.com. Viitattu 15.2.2017. [vanhentunut linkki]
  4. Plan 9 from Bell Labs plan9.bell-labs.com. Arkistoitu . Viitattu 14.2.2017.
  5. Plan 9 moves out from Lucent licence space The Register. Viitattu 14.2.2017.
  6. Plan 9 from Bell Labs in Cyberspace! Nokia Bell Labs. Viitattu 23.3.2021.
  7. Transfer of Plan 9 to the Plan 9 Foundation 9fans. Viitattu 23.3.2021.
  8. Other hardware plan9.bell-labs.com. Arkistoitu 5.2.2015. Viitattu 14.2.2017.
  9. Pike, Rob: How to Use the Plan 9 C Compiler plan9.bell-labs.com. Arkistoitu 5.2.2015. Viitattu 20.2.2017.
  10. A filesystem from Plan 9 space lwn.net. Viitattu 15.2.2017.
  11. v9fs: Plan 9 Resource Sharing for Linux kernel.org. Viitattu 15.2.2017.
  12. Plan 9 Remote Resource Protocol ericvh.github.io. Viitattu 15.2.2017.
  13. The Overlay Filesystem windsock.io. Arkistoitu 14.2.2017. Viitattu 14.2.2017.
  14. Namespaces in operation, part 5: User namespaces lwn.net. Viitattu 14.2.2017.
  15. Fossil, an Archival File Server (PDF) scs.stanford.edu. Viitattu 11.7.2021. (englanniksi)
  16. Hudson, Andrew: Investigating the Plan 9 Operating System OS News. Viitattu 14.2.2017.
  17. Pike, Rob: UTF-8 history cl.cam.ac.uk. Viitattu 14.2.2017.
  18. Rob Pike: Rio: Design of a Concurrent Window System (PDF) doc.cat-v.org. 4.2.2000. Viitattu 27.3.2021. (englanniksi)
  19. Plan 9 from Bell Labs plan9.bell-labs.com. Arkistoitu 5.2.2015. Viitattu 15.2.2017.
  20. Winterbottom, Phil: Alef Language Reference Manual doc.cat-v.org. Viitattu 15.2.2017.
  21. Roscoe, Timothy: The Structure of a Multi-Service Operating System people.inf.ethz.ch. Viitattu 20.2.2017.
    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.