Plan 9のどの側面がUnixに取り入れられましたか?


28

Plan 9は、Unixの後継としてBell Labsによって開発されました。さまざまな理由により、そのように完全に実現することはありませんでしたが、かなりの量の開発が依然としてプラン9に入りました。

私の質問は、もしあれば-Plan 9が現代のUnixに進出したことは何ですか?



1
紙から:「より良いソリューションの最も危険な敵は、十分に良い既存のコードベースです。」
rahmu

回答:


18

cloneLinux の(2)システムコールは、プラン9をモデルにしたと言われていrfork()ます。(個人的には、タイミングがどのように機能するかわかりません。)

このペーパーは、プラン9が「マウント/ファイルシステム名前空間」に影響を与えたと主張しています。

/procファイルシステムは、第8版のUnixではなく、他の方法で回避からプラン9に来ているように見えます。


ますます多くのピースがやって来ますが、100%の元の機能を備えたネイティブのplan9アプリケーションを移植するには不十分です。
ジョー

17

明らかなものはおそらくUTF-8です。しかし、それはおそらくあまりにも明白です。

Al ViroによるLinux VFSの壮大な再構築は、Plan9に大きな影響を受けています。特に、「すべてがファイル」から「…そしてすべてのファイルがマウントポイント」への移行。


4
「...そして、すべてのファイルがマウントポイントである」とはどういう意味ですか?
Mr.シカダンス

3
@氏。Shickadance:従来、ファイルシステムのみをマウントでき、ディレクトリにのみマウントできます。Linuxでは、ディレクトリにディレクトリをマウントし、ファイルにファイルをマウントすることもできます。そのため、ある意味では、すべてのディレクトリとすべてのファイルがファイルシステムであり、すべてのファイル(すべてのディレクトリだけでなく)がマウントポイントです。例:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
ヨルグWミットタグ


8

unionfsaufsなどのユニオンファイルシステムは、Plan9 ユニオンディレクトリマウントに触発されました。

たとえば/usr/bin、CDから書き込み可能なファイルシステムにマージするためにライブCDで使用され/usr/bin、CDが読み取り専用であっても、に変更を加えることができます。

Unionファイルシステム:実装、lwn.netのパートI

たとえば、Plan9でドキュメントを正しく理解していれば、次のことができます。

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

そして、3つすべてのディレクトリ内のすべてのファイルが表示されます/bin(名前が重複している場合、-bオプションにより、最後に指定したディレクトリ内のファイルが優先されます)。

これがブルースが「マウント/ファイルシステム名前空間」によって意味するものなのか、それとも何か違うのかはわかりません。


おそらく、また、と言うことができsshfsのは Plan9の者に触発されたftpfs


3

プラン9では、すべての「ファイルシステム」はユーザースペースデーモンによって実装されます。(FUSEを考えてください。)これらのデーモンはすべて9P(特に、プロトコルの2番目のリビジョンである9P2000)を話します。9Pは、基本的にシステムのさまざまな部分をまとめたものです。

v9fsは実装9PプロトコルのためのLinuxカーネルドライバを投影します。Plan 9のwikiページによると、カーネル2.6.14の時点ではメインラインカーネルにあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.