Plan 9'un hangi yönleri Unix'e girmiştir?


28

Plan 9 , Bell Labs tarafından Unix'in halefi olarak geliştirilmiştir. Her ne kadar çeşitli nedenlerden ötürü hiç bu kadar ciddi bir şekilde gerçekleşmemiş olsa da, adil bir miktarda gelişme halen Plan 9'a girmiştir.

Sorum şu ki, eğer - eğer bir şey - Plan 9'dan modern Unix'e girmişse?



1
Kağıttan: "Daha iyi bir çözümün en tehlikeli düşmanı, yeterince iyi olan mevcut bir kod tabanıdır."
rahmu

Yanıtlar:


18

cloneLinux (2) sistem çağrısı olduğu söylenir Plan 9 yıllardan örnek alarak kurulmuştur rfork(). (Şahsen zamanlamanın nasıl çalıştığını göremiyorum.)

Bu makale , Plan 9'un "mount / filesystem namespace" e ilham verdiğini iddia ediyor.

/procDosya sistemi 8th Edition Unix yerine başka bir yol dan Plan 9 gelmiş görünmektedir.


% 100 orijinal işlevselliğe sahip yerel plan9 uygulamalarını taşımak için gittikçe daha fazla sayıda parça gelmeye devam ediyor gibi görünüyor.
Joe,

17

Açık olanı muhtemelen UTF-8'dir. Ama bu muhtemelen çok açık.

Al Viro'nun büyük Linux VFS'yi yeniden inşa etmesi, Plan9'dan büyük ölçüde ilham aldı. Özellikle "Herşey Dosya" dan "..." Her Dosya Bir Montaj Noktası "dır.


4
"... ve her dosya bir bağlama noktasıdır" ile ne ifade edildiğini kısaca açıklayabilir misiniz (veya beni açıklayan bir kaynağa yönlendirir misiniz?)?
Bay Shickadance,

3
@Bay. Shickadance: Geleneksel olarak, yalnızca dosya sistemlerini bağlayabilir ve bunları yalnızca dizinlere bağlayabilirsiniz. Linux'ta, dizinleri dizinlere ve dosyalardaki dosyalara da bağlayabilirsiniz. Yani, bir anlamda, her dizin ve her dosya bir dosya sistemidir ve her dosya (ve sadece her dizin değil) bir bağlantı noktasıdır. Örnek:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Jörg W Mittag


8

Gibi Birlik dosya sistemleri, unionfs ve aufs , plan9 esinlenmiş sendikası dizin bağlar .

Örneğin /usr/bin, CD'den yazılabilir bir dosya sistemiyle birleştirmek için canlı CD'lerde kullanılırlar ; böylece /usr/binCD salt okunur olsa bile değişiklik yapabilirsiniz .

Union dosya sistemleri: Uygulamalar, Bölüm I, lwn.net

Örneğin, dokümanları doğru anlarsam, Plan9'da şunları yapabilirsiniz:

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

Ve üç dizindeki tüm dosyalar görünecektir /bin(çift isimler olması durumunda, son belirtilen dizindeki dosya , -bseçenek nedeniyle kazanır ).

Bruce'un "mount / filesystem namespace" ile ne anlama geldiğinden veya farklı bir şey olduğundan emin değilim.


Muhtemelen de diyebiliriz sshfs plan9 en esinlenerek ftpfs .


3

Plan 9'da, her "dosya sistemi" bir kullanıcı alanı arka plan programı tarafından uygulanır. (FUSE'i düşünün.) Bu ödemlerin hepsi 9P'den (özellikle de protokolün ikinci revizyonu olan 9P2000'den) bahsediyor. 9P esasen sistemin farklı kısımlarını bir arada tutan şeydir.

V9fs uygular 9P protokolü için bir Linux çekirdek sürücüsü proje. Plan 9 wiki sayfasına göre , çekirdek 2.6.14'ten itibaren çekirdek çekirdek içerisindedir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.