계획 9의 어떤 측면이 유닉스로 들어갔습니까?


28

Plan 9 는 Bell Labs에 의해 Unix의 후계자로 개발되었습니다. 여러 가지 이유로 그렇게 구체화되지는 않았지만 상당한 양의 개발이 여전히 계획 9에 들어갔습니다.

제 질문은, 계획 9의 어떤 것이라도 현대 유닉스로 발전한 것입니다.



1
종이에서 : "더 나은 솔루션의 가장 위험한 적은만큼 충분히 좋은 기존 코드베이스입니다."
rahmu

답변:


18

clone리눅스 (2) 시스템 호출이되고 있다고 계획 (9 개)의 모델로되었다 rfork(). (개인적으로 타이밍이 어떻게 작동하는지 알지 못합니다.)

이 문서 는 계획 9가 "마운트 / 파일 시스템 네임 스페이스"에 영감을 주 었음을 주장합니다.

/proc파일 시스템은 8 판 유닉스가 아닌 다른 방법으로 주위에서 계획 9 올 것으로 보인다.


100 % 독창적 인 기능으로 네이티브 plan9 애플리케이션을 포팅하기에는 점점 더 많은 부분이 계속 등장하고있는 것 같습니다.
Joe

17

명백한 것은 아마도 UTF-8입니다. 그러나 그것은 아마도 너무 분명합니다.

Al Viro의 Linux VFS에 대한 웅장한 재구성은 Plan9에서 많은 영향을 받았습니다. 특히 "모든 것은 파일입니다"에서 "… 그리고 모든 파일은 마운트 포인트"로 전환됩니다.


4
"... 그리고 모든 파일은 마운트 포인트"의 의미를 간략하게 설명하거나 설명해 줄 수 있습니까?
Mr. Shickadance

3
@씨. Shickadance : 전통적으로 파일 시스템 만 마운트 할 수 있으며 디렉토리에만 마운트 할 수 있습니다. Linux에서는 디렉토리에 파일을 마운트하고 파일에 파일을 마운트 할 수도 있습니다. 따라서 모든 디렉토리와 모든 파일은 파일 시스템이며 모든 파일 (및 모든 디렉토리가 아닌)은 탑재 지점입니다. 예 :cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Jörg W Mittag


8

unionfsaufs 와 같은 유니온 파일 시스템 은 Plan9 union 디렉토리 마운트에서 영감을 얻었습니다 .

예를 들어 /usr/binCD는 쓰기 가능한 파일 시스템과 CD에서 병합하기 위해 라이브 CD에서 사용 되므로 /usr/binCD가 읽기 전용 인 경우에도를 변경할 수 있습니다 .

연합 파일 시스템 : 구현, lwn.net의 1 부

예를 들어, Plan9에서 문서를 올바르게 이해하면 다음을 수행 할 수 있습니다.

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

그리고 세 디렉토리 모두의 모든 파일이 나타납니다 /bin(중복 이름의 경우 -b옵션 으로 인해 마지막으로 지정된 디렉토리의 파일이 승리 함 ).

이것이 Bruce가 "마운트 / 파일 시스템 네임 스페이스"가 의미하는 것이거나 다른 것인지 확실하지 않습니다.


sshfs 가 Plan9의 ftpfs 에서 영감을 받았다고 말할 수도 있습니다 .


3

계획 9에서 모든 "파일 시스템"은 사용자 공간 데몬으로 구현됩니다. (FUSE를 생각하십시오.)이 데몬은 모두 9P (구체적으로 프로토콜의 두 번째 개정판 인 9P2000)와 통신합니다. 9P는 본질적으로 시스템의 다른 부분을 함께 유지하는 것입니다.

v9fs는 구현 9P 프로토콜에 대한 리눅스 커널 드라이버를 전망이다. 계획 9 위키 페이지에 따르면 , 커널 2.6.14부터 메인 라인 커널에 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.