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 파일 서버
「 」를 참조해 주세요.
- 분산 파일 시스템
- 모든 것이 하나의 파일– Unix 계열 운영 체제의 기능
- IL – Bell Labs에서 Plan 9 운영체제용으로 설계된 트랜스포트 레이어 프로토콜
레퍼런스
- ^ "Plan 9 from Bell Labs — Overview". 9p.io.
- ^ "research: u9fs.tgz is the source code tarbal". www.netlib.org.
- ^ "Plan 9 /sys/man/4/u9fs". 9p.io.
- ^ benavento (April 19, 2019). "9P for Mac" – via GitHub.
- ^ "Styx-on-a-Brick". Cat-V Doc.
- ^ "What's new for WSL in Windows 10 version 1903?". Windows Command Line Tools For Developers. February 16, 2019.
- ^ "Running Custom Containers Under Chrome OS". Chromium OS Docs. Retrieved 2019-03-28.
- ^ Jujjuri, Venkateswararao; Van Hensbergen, Eric; Liguori, Anthony; Pulavarty, Badari (July 13–16, 2010). "VirtFS—A virtualization aware File System pass-through" (PDF). Linux Symposium.
- ^ "Documentation/9psetup". QEMU Docs. Retrieved 2019-03-28.