Quali aspetti di Plan 9 si sono fatti strada in Unix?


28

Plan 9 è stato sviluppato da Bell Labs come successore di Unix. Sebbene per vari motivi non si sia mai materializzato come tale, una buona parte dello sviluppo è ancora entrata nel Piano 9.

La mia domanda è: cosa - semmai - dal Plan 9 si è fatto strada nel moderno Unix?



1
dall'articolo: "il nemico più pericoloso di una soluzione migliore è una base di codice esistente che è abbastanza buona".
rahmu,

Risposte:


18

Si dice che laclone (2) chiamata di sistema in linux sia stata modellata sul Plan 9 . (Personalmente non vedo come funzionano i tempi.)rfork()

Questo documento afferma che Plan 9 ha ispirato lo "spazio dei nomi mount / filesystem".

Il /procfilesystem sembra essere arrivato a Plan 9 dall'ottava edizione di Unix, piuttosto che viceversa.


Sembra che sempre più pezzi continuino ad arrivare ma non abbastanza per il porting di applicazioni plan9 native con funzionalità originale al 100%.
Joe,

17

Quello ovvio è probabilmente UTF-8. Ma questo è probabilmente troppo ovvio.

La grande re-architettura di Al Viro di Linux VFS è fortemente ispirata da Plan9. Soprattutto il passaggio da "Tutto è un file" a "... E ogni file è un punto di montaggio".


4
Potresti spiegare brevemente (o indicarmi una risorsa che spiega) cosa si intende per "... e ogni file è un punto di montaggio"?
Mr. Shickadance,

3
@Sig. Shickadance: tradizionalmente, puoi montare solo filesystem e puoi montarli solo su directory. Su Linux, puoi anche montare directory su directory e file su file. Quindi, in un certo senso, ogni directory e ogni file è un filesystem e ogni file (e non solo ogni directory) è un mountpoint. Esempio:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Jörg W Mittag


8

I file system dell'Unione, come unionfs e aufs , sono stati ispirati dai montaggi di directory sindacali Plan9 .

Ad esempio, vengono utilizzati su CD live per unire /usr/bindal CD un file system scrivibile, in modo che sia possibile apportare modifiche /usr/bin, anche se il CD è di sola lettura.

File system dell'Unione: implementazioni, parte I su lwn.net

Ad esempio, se capisco correttamente i documenti, su Plan9, potresti fare:

bind -b /usr/bin /bin
bind -b /usr/local/bin /bin
bind -b /home/username/bin /bin

E tutti i file in tutte e tre le directory appariranno /bin(in caso di nomi duplicati, vince quello dell'ultima directory specificata, grazie -ball'opzione).

Non sono sicuro se questo sia ciò che Bruce intende per "spazio dei nomi mount / filesystem", o è qualcosa di diverso.


Probabilmente potresti anche dire che sshfs è stato ispirato dal ftpfs di Plan9 .


3

Nel piano 9, ogni "filesystem" è implementato da un demone spazio utente. (Pensa a FUSE.) Tutti questi demoni parlano di 9P (in particolare 9P2000, la seconda revisione del protocollo). 9P è essenzialmente ciò che tiene insieme le diverse parti del sistema.

Il progetto v9fs implementa un driver del kernel Linux per il protocollo 9P. Secondo la pagina wiki Plan 9 , è nel kernel mainline a partire dal kernel 2.6.14.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.