[Tillbaka till UppLYSningar som varit]

Plan 9

Historia

1987 bestämde sig Bell för att ersätta den Unix de själva utvecklat eftersom den inte längre motsvarade de krav som ställdes.

Under tiden hade det inom Bell utvecklats en intern Unix som så småningom blivit "the 10th edition". Målet med Plan 9 var nu att göra något som var bättre än "the 10th edition", men som samtidigt skulle se ut på traditionellt Unix-system. Därav kommer det sig att många vanliga Unix-verktyg är återimplementerade i Plan 9 och en Unix-hacker känner snabbt igen sig i Plan 9. Plan 9 skulle också bli ett distribuerat operativsystem.

Utveckling

Man utvecklade ursprungligen Plan 9 för datorer med processor <= 68020 och <= 8 MB komihåg. Därför är kärnan väldigt liten, ungefär 60 KB för en 68020 -- med tjänster för filsystem inkluderat! Då kärnan är väldigt liten har man valt att låta varje processor ha en kopia av kärnan. Det finns inga lättviktsprocesser och inga riktiga trådar i Plan 9.

Organisering

I ett Plan 9 system finns det tre entiteter:

Terminalerna är typiskt ganska enkla, men dock mer avancerade än en vanlig textterminal. De ligger någonstans mellan en arbetsstation och en vanlig terminal: de kör editorer och fönstersystem men inga tunga tillämpningar.

CPU-servrarna används för mer krävande tilämpningar, såsom kompileringar.

Filservrarna har alla filer och program. Kommunikationslänken mellan CPU- och filservrar är typiskt ganska snabb. På filservrarna körs inga användarprogram alls. Det går visserligen att logga in på en filserver men endast på en console. På så vis når man en fysisk säkerhet för filservern. Ytterligare en fördel är att backupper kan tas på alla användares filer, något som kanske inte alltid händer ifall man har möjlighet att spara filer på sin egen dator eller arbetsstation.

Allt är filer

I Plan 9 är allt filer.

Det skulle inte gå att låta alla datorer skulle montera alla andras filsystem. Därför kan man låta varje process få en egen namnrymd. Man kan tala om vilka filer som ska synas, var roten ligger o.s.v. Processens namnrymd ärvs av alla barn till processen.

Man kan även montera en union av olika filsystem på samma monteringsplats i biblioteksträdet och på något sätt specificera en prioritetsordning mellan dem.

Säkerhet

Säkerheten i Plan 9 fungerar ungefär som med kerberos. Man skriver lösenordet endast en gång. Därefter får man biljetter av en signaturserver för att kunna logga in på andra ställen. På så vis skickas aldrig några lösenord i klartext genom nätverket, till skillnad från t.ex. en vanlig telnet under Unix.

Endast vid ftp skickas lösenordet oskyddat över nätet, men det finns ett par olika lösningar på det problemet.

Naturligtvis skickas lösenordet i klartext också när man via gateways tar sig till externa system, som t.ex. kör Unix. Då använder man ju vanligen en telnetsession av klassiskt snitt om inte annat ordnats.

Verktyg

Plan 9 finns att ladda hem från nätet (se nedan). Här är några av de verktyg och program som följer med:

Distributionen

Bell har valt att göra likadant som med Unix (vilket är dumt, säger Mikael). De säljer inte Plan 9. Istället litar de på att "någon annan" ska göra det. Precis som med Unix kan man bara köpa källkodslicenser för dyra pengar från AT&T.

Man köpa källkoden på en CD för $350. Den finns för en mängd olika arkitekturer såsom:

Om man köpt källkodsdistibutionen får man använda den privat eller inom organisationen för forskning och utbildning.

Vad man inte får göra är att sälja något program som man länkat med ett Plan 9-bibliotek eller som överhuvudtaget är utvecklat i Plan 9. Det går heller inte att släppa källkod man själv skrivit som litar på att det finns en Plan 9-miljö att kompilera i till andra än licensägare utan att bryta mot lagen.

Vill man utveckla program kommerciellt får man köpa Plan 9-källkoden för $200 000. Avsikten är att AT&T ska sälja till storföretag som sedan kan sälja användarlicenser av Plan 9 för ett betydligt lägre pris.

Frågor under föredraget

Q: Användare i filsystemet... hur fungerar det?
A: who använder det, (who finns inte med i demodistributionen).

Q: Finns det fler verktyg i demodistributionen? Kompilatorer?
A: Det finns C, Alef, assembler, länkare (förståss) och två debuggrar: db och acid.

Q: Hur lätt är det att porta Unixprogram?
A: Om programmet följer POSIX-standarden ska det vara enkelt att porta. Det finns även BSD-bibliotek med t.ex. sockets som man kan länka med.

Demo

Härvid följde en demonstration av Plan 9 på den dator som Mikael tagit med sig. Han startade fönstersystemet, ändrade lite i namnrymden för en process så att den trodde att något visst fönster var /dev/cons och startade fönstersystemet på nytt i det fönstret. Han demostrerade även Acme och datorn lämnades sedan till nyfikna åskådare.

För den som vill prova hur fönsterhanteraren i Plan 9 känns så finns en sådan på Lysator som man kan köra på X-windows. (/usr/local/bin/9wm)

Demodistributionen

En gratis demodistribution för PC finns på ftp://plan9.att.com/. (4 diskar) Prova även http://plan9.att.com/. Mikael Cardell kan nås på mkc@bull.se.

Ture Pålsson påpekade att man måste vara lite försiktig när man ska installera den ifall man kör Linux. Det är viktigt att den första partitionen på hårddisken är en DOS-partition. I annat fall kan installationsprogrammet glatt skriva över Linuxpartitionen. Läs mer om problemen här.

Det rekommenderas varmt att ta en backup på disken innan du börjar leka. Läs för övrigt noga igenom install.html och errata.html före installationen.

"Intrycket av det här är att det är så kraftfullt att det är livsfarligt", tyckte Daniel Johansson efter föredraget.


Nedtecknat av Tomas Abrahamsson <tab@lysator.liu.se>, som gärna tar emot rättelser och förbättringsförslag.