인터넷 프로토콜 스위트 |
---|
응용 계층 |
전송 계층 |
인터넷 계층 |
링크 계층 |
9P(플랜 9 파일 시스템 프로토콜 또는 Styx)는 플랜 9 운영 체제용으로 개발된 네트워크 프로토콜로, 플랜 9 시스템의 구성 요소들을 연결해 준다. 파일들은 플랜 9의 중요한 객체들이다. 이들은 창, 네트워크 연결, 프로세스 등 운영 체제에서 이용할 수 있는 모든 것을 표현한다. NFS과는 달리 9P는 캐시 처리를 강화하고 합성 파일도 제공한다. (이를테면 프로세스를 표현하는 /proc)
9P는 플랜 9의 4번째 판을 위해 9P2000라는 이름으로 개정되었으며 다양하고도 중요한 개선 사항이 포함되었다. 인페르노 운영 체제의 최신 버전도 9P2000을 이용한다. 인페르노 파일 프로토콜은 원래 Styx로 불렸으나 기술적으로 늘 9P의 변종으로 취급되어왔다.
다른 변종인 9p2000.u는 유닉스 환경을 더 잘 지원하는 개정판이며 자세한 사항을 보려면 v9fs 9p2000.u를 참고하라. 유닉스용 9P의 서버 기능은 u9fs라고 부르며 플랜 9 배포판에 포함되어 있다. 리눅스용 커널 클라이언트 드라이버는 v9fs 프로젝트의 일부이다. 9P와 파생판들은 Styx on a Brick project와 같은 임베디드 환경에 응용하여 쓰이는 것을 볼 수 있다.
수많은 플랜 9 응용 프로그램들은 9P 서버의 형태를 지닌다. 눈에 띄는 예는 다음과 같다:
9p는 다음의 메시지를 클라이언트와 서버 사이에서 내보낸다.[1] 이 메시지들은 9p 서버에 포함되어야 하는 플랜 9 vfs 계층의 시작점(엔트리 포인트)과 일치한다.