Aspek apa dari Plan 9 yang telah berkembang di Unix?

28

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?

Justin Ethier
sumber
1
dari kertas: "musuh paling berbahaya dari solusi yang lebih baik adalah basis kode yang sudah ada yang cukup baik."
rahmu

Jawaban:

18

The clone(2) system call di linux dikatakan telah dimodelkan setelah Plan 9 ini rfork(). (Saya pribadi tidak melihat bagaimana pengaturan waktunya.)

Makalah ini mengklaim bahwa Plan 9 menginspirasi "mount / filesystem namespace".

Sistem /procfile tampaknya datang ke Plan 9 dari 8th Edition Unix, bukan sebaliknya.

Bruce Ediger
sumber
Tampaknya semakin banyak potongan yang datang tetapi tidak cukup untuk mem-port aplikasi native plan9 dengan fungsionalitas asli 100%.
Joe
17

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".

Jörg W Mittag
sumber
4
Bisakah Anda menjelaskan secara singkat (atau mengarahkan saya ke sumber yang menjelaskan) apa yang dimaksud dengan "... dan setiap file adalah titik pemasangan"?
Tn. Shickadance
3
@Bapak. Shickadance: Secara tradisional, Anda hanya dapat me-mount sistem file dan Anda hanya bisa me-mount pada direktori. Di Linux, Anda juga dapat memasang direktori pada direktori dan file pada file. Jadi, dalam arti tertentu, setiap direktori dan setiap file adalah sistem file dan setiap file (dan bukan hanya setiap direktori) adalah sebuah mountpoint. Contoh:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Jörg W Mittag
8

Sistem file Union, seperti unionfs dan aufs , terinspirasi oleh mount direktori union Plan9 .

Misalnya, mereka digunakan pada live CD untuk bergabung /usr/bindari 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:

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

Dan semua file di ketiga direktori akan muncul /bin(dalam kasus duplikat nama, yang ada di direktori yang ditentukan terakhir menang, karena -bopsi).

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 .

Mikel
sumber
3

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.

strugee
sumber