*Tämä artikkeli kertoo käyttöjärjestelmästä. Elokuvasta kertoo sivu Plan 9 from Outer Space*

Plan 9 -käyttöliittymä, jossa avoinna acme-tekstieditori ja drawterm.
**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 (engl. *namespace*) 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
-------

1. 1 2 3 4 5  Plan 9 *operating-system.org*. Viitattu 14.2.2017.
2. 1 2  Gagliardi, Pietro: C Programming in Plan 9 from Bell Labs *doc.cat-v.org*. Viitattu 15.2.2017.
3. 1 2  Pike, Rob: How to Use the Plan 9 C Compiler *plan9.bell-labs.com*. Viitattu 15.2.2017. [vanhentunut linkki]
4. 1 2 3 4 5 6 7 8 9 10 11  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. 1 2  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. 1 2 3  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.

Käännös suomeksiKäännös suomeksi Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.   
Alkuperäinen artikkeli: en:Plan 9 from Bell Labs