9P(프로토콜)

9P (protocol)

9P(또는 Plan 9 Filesystem Protocol 또는 Styx)는 Plan 9 시스템의 구성 요소를 연결하는 수단으로 Bell Labs 분산 운영 체제에서 Plan 9용으로 개발된 네트워크 프로토콜입니다.파일은 계획 9의 주요 객체입니다.이들은 창, 네트워크 연결, 프로세스 및 운영 체제에서 사용할 수 있는 기타 거의 모든 것을 나타냅니다.

9P는 9P2000이라는 이름으로 플랜9 제4판을 위해 개정되었으며 다양한 개선사항을 포함하고 있습니다.일부 개선된 기능으로는 특정 파일 이름 제한 삭제, 디렉토리에 대한 '마지막 수정자' 메타데이터 필드 추가 및 인증 [1]파일 등이 있습니다.최신 버전의 Inferno 운영 체제도 9P2000을 사용합니다.Inferno 파일 프로토콜은 원래 Styx라고 불렸지만, 엄밀히 말하면 항상 9P의 변형이었습니다.

u9fs라고 불리는 Unix용 9P [2][3]서버 실장은 Plan 9 배포판에 포함되어 있습니다.Mac9P는 9P [4]OS X 클라이언트 커널 확장을 제공합니다.Linux용 확장 기능을 갖춘 9p를 구현하는 커널 클라이언트 드라이버는 v9fs 프로젝트의 일부입니다.또한 9P와 그 파생 모델은 Styx on a Brick [5]프로젝트와 같은 임베디드 환경에서도 응용 프로그램을 찾을 수 있습니다.

서버 응용 프로그램

Plan 9 어플리케이션의 대부분은 9P 파일서버의 형태를 취하고 있습니다.예를 들어 다음과 같습니다.

  • acme: 텍스트 에디터/개발 환경
  • rio: Plan 9 윈도우 시스템
  • 배관공: 프로세스 간 통신
  • ftpfs: 로컬네임스페이스 리모트 FTP 서버상의 파일과 디렉토리를 표시하는 FTP 클라이언트
  • wikifs: 리모트 Wiki를 로컬 이름 공간에 파일로 표시하는 Wiki 편집 도구
  • webfs: URL에서 데이터를 가져와 로컬 이름 공간 내의 파일로 응답의 내용과 상세 내역을 표시하는 파일서버

플랜 9 이외에서는 경량 리모트파일 시스템이 필요한 경우에도 9P 프로토콜이 사용됩니다.

  • NixOS: 순수하게 기능하고 선언적인 Linux 디스트리뷰션에서는 클라이언트가 9P를 사용하여 호스트의 패키지 스토어 디렉토리를 마운트하는 가상 머신 내에 자신을 재구축할 수 있습니다.
  • Linux용 Windows 서브시스템: Windows 10 버전1903 이후, 서브시스템은 서버로서 9P를 실장해, 호스트 Windows operating system은 [6]클라이언트로서 기능합니다.
  • Crostini: 커스텀 9P 서버를 사용하여 Linux VM 외부의 파일에 액세스 가능
  • QEMU: 가상 환경FS 디바이스에서는 9P를 통한 파일 시스템 공유가 가능.커널 드라이버와 공유 메모리로 고속화
  • DIOD: 분산 I/O 데몬 - 9P 파일 서버

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Plan 9 from Bell Labs — Overview". 9p.io.
  2. ^ "research: u9fs.tgz is the source code tarbal". www.netlib.org.
  3. ^ "Plan 9 /sys/man/4/u9fs". 9p.io.
  4. ^ benavento (April 19, 2019). "9P for Mac" – via GitHub.
  5. ^ "Styx-on-a-Brick". Cat-V Doc.
  6. ^ "What's new for WSL in Windows 10 version 1903?". Windows Command Line Tools For Developers. February 16, 2019.
  7. ^ "Running Custom Containers Under Chrome OS". Chromium OS Docs. Retrieved 2019-03-28.
  8. ^ Jujjuri, Venkateswararao; Van Hensbergen, Eric; Liguori, Anthony; Pulavarty, Badari (July 13–16, 2010). "VirtFS—A virtualization aware File System pass-through" (PDF). Linux Symposium.
  9. ^ "Documentation/9psetup". QEMU Docs. Retrieved 2019-03-28.

외부 링크