Plan 9
Plan 9 from Bell Labs is een gedistribueerd besturingssysteem, ontwikkeld door Bell Labs in New Jersey, als opvolger van UNIX. De eerste versies van Plan 9 werden ontworpen door (onder anderen) Ken Thompson, Rob Pike, Dave Presotto, and Phil Winterbottom.[1] De mascotte van Plan 9 heet Glenda[2], en de naam is afgeleid van de cultfilm Plan 9 from Outer Space.
Plan 9 | ||||
---|---|---|---|---|
rio, de gebruikersinterface van Plan 9
| ||||
Ontwikkelaar(s) | Bell Labs | |||
OS-familie | Unix (geen variant, wel afgeleid) | |||
Voorganger | Unix | |||
Bronmodel | Opensource | |||
Uitgebracht | 1992 | |||
Recentste uitgave | 4e (2015) | |||
Kerneltype | Hybride kernel | |||
Programmeertaal | C, Assembleertaal, Shell script | |||
Licentie(s) | MIT | |||
Status | Inactief | |||
Website | http://p9f.org/ | |||
|
Het doel van Plan 9 is om een netwerk van verschillende computers, te laten functioneren als één samenhangend systeem.
Architectuur
bewerkenIn grote lijnen bestaat Plan 9 uit een kernel, en een collectie servers, die zichzelf presenteren als bestandssystemen binnen een namespace[3]. Deze servers draaien niet noodzakelijk op dezelfde machine als de kernel. Maar kunnen via het 9P[4] protocol hun functionaliteit aanbieden. Elk proces heeft zijn eigen bewerkbare namespace, hierdoor kunnen twee processen totaal verschillende inzichten op het systeem hebben.
Een primair voorbeeld van een 9P server: Cwfs[5]. Deze server koppelt een opslag medium (zoals een harde schijf, of ssd), en stelt de data (via 9P) beschikbaar als een bestandssysteem. Hierdoor kunnen bestanden persistent gelezen en geschreven worden.
Devices
bewerkenDe Plan 9 kernel biedt toegang tot een aantal virtuele apparaten (devices).[6] Sommige devices bieden toegang tot een fysiek randapparaat, zoals een harde schijf, of toetsenbord; andere bieden systeem functionaliteit aan, zoals het beheren van processen[7], en netwerken[8]. Ook deze devices presenteren zichzelf als bestandssystemen.
Het is ook mogelijk om deze devices tussen computers te importeren en exporteren. Hierdoor kunnen randapparaten, en functionaliteiten; van een computer, gebruikt worden op de andere computer, en vice versa.
Union directories
bewerkenMet zogenoemde union directories kunnen verschillende delen van de namespace, op een transparante manier, aan elkaar gebonden worden.[9]
Compilers
bewerkenPlan 9 is primair geschreven in een dialect van C, die standaard meegeleverd wordt. Het is ook mogelijk een Go compiler te verkrijgen[10]; omdat twee van de originele Go auteurs (Ken Thompson en Rob Pike) ook de mede-auteurs zijn van Plan 9.
Versies
bewerkenPlan 9 heeft vier officiële uitgaven gehad. Deze zijn sinds maart 2021 opnieuw gelicenseerd onder de opensource licentie van MIT. Deze versies zijn hier te verkrijgen.
Editie | Jaartal |
---|---|
1e | 1992 |
2e | 1995 |
3e | 2000 |
4e | 2002 |
4e, Finale | 2015 |
Distributies & Varianten
bewerkenPlan 9 heeft een aantal distributies en varianten die actief onderhouden worden.
Compatibiliteit met UNIX
bewerkenHoewel Plan 9 voortborduurt op concepten uit UNIX, is het geen UNIX variant. Plan 9 kan echter wel een POSIX-omgeving simuleren.
Bronnen
bewerken- ↑ (en) Plan 9 from Bell Labs: Overview.
- ↑ Glenda, the Plan 9 Bunny.
- ↑ (en) The Use of Name Spaces in Plan 9.
- ↑ (en) Introduction to the Plan 9 File Protocol, 9P.
- ↑ (en) Cwfs: Cached–worm file server.
- ↑ (en) Intro: Introduction to the Plan 9 devices.
- ↑ (en) Proc: Running processes.
- ↑ (en) Network protocols over IP.
- ↑ (en) Bind, mount, unmount: Change name space.
- ↑ (en) 9legacy: Downloads.