Plan 9 dikembangkan oleh Bell Labs sebagai pengganti Unix. Meskipun karena berbagai alasan hal itu tidak pernah terwujud, sejumlah perkembangan yang wajar masih masuk ke dalam Rencana 9.
Pertanyaan saya adalah, bagaimana - jika ada - dari Plan 9 telah masuk ke Unix modern?
Jawaban:
The
clone
(2) system call di linux dikatakan telah dimodelkan setelah Plan 9 inirfork()
. (Saya pribadi tidak melihat bagaimana pengaturan waktunya.)Makalah ini mengklaim bahwa Plan 9 menginspirasi "mount / filesystem namespace".
Sistem
/proc
file tampaknya datang ke Plan 9 dari 8th Edition Unix, bukan sebaliknya.sumber
Yang jelas mungkin adalah UTF-8. Tapi itu mungkin terlalu jelas.
Arsitektur ulang besar-besaran Al Viro untuk Linux VFS sangat terinspirasi oleh Plan9. Terutama pergeseran dari "Semuanya adalah File" ke "... Dan Setiap File Adalah Titik Gunung".
sumber
cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Sistem file / proc di Linux adalah ide Plan 9.
sumber
Sistem file Union, seperti unionfs dan aufs , terinspirasi oleh mount direktori union Plan9 .
Misalnya, mereka digunakan pada live CD untuk bergabung
/usr/bin
dari CD dengan sistem file yang dapat ditulis, sehingga Anda dapat membuat perubahan/usr/bin
, bahkan jika CD itu hanya baca.Sistem file gabungan: Implementasi, Bagian I di lwn.net
Misalnya, jika saya memahami dokumen dengan benar, pada Plan9, Anda dapat melakukan:
Dan semua file di ketiga direktori akan muncul
/bin
(dalam kasus duplikat nama, yang ada di direktori yang ditentukan terakhir menang, karena-b
opsi).Saya tidak yakin apakah ini yang dimaksud Bruce dengan "mount / filesystem namespace", atau sesuatu yang berbeda.
Anda mungkin juga bisa mengatakan bahwa sshfs terinspirasi oleh ftpfs Plan9 .
sumber
Dalam Plan 9, setiap "filesystem" diimplementasikan oleh daemon userspace. (Pikirkan FUSE.) Daemon ini semuanya berbicara 9P (khususnya 9P2000, revisi kedua dari protokol). 9P pada dasarnya adalah apa yang menyatukan bagian-bagian berbeda dari sistem.
Proyek v9fs mengimplementasikan driver kernel Linux untuk protokol 9P. Menurut halaman wiki Plan 9 di dalamnya , ia berada di kernel garis utama pada kernel 2.6.14.
sumber