อ่าน 3 นาที
9P (โปรโตคอล)
9P (หรือ Plan 9 Filesystem Protocol หรือ Styx ) เป็น โปรโตคอลเครือข่าย ที่พัฒนาขึ้นสำหรับ Plan 9 ซึ่งเป็น ระบบปฏิบัติการแบบกระจายศูนย์ ของ Bell Labs...
9P (โปรโตคอล)
| โปรโตคอลการสื่อสาร | |
| วัตถุประสงค์ | ส่วนประกอบที่เชื่อมต่อกัน |
|---|---|
| นักพัฒนา | เบลล์แล็บส์ |
| การแนะนำ | 1992 |
| ได้รับอิทธิพล | 9P2000 |
| ชุดโปรโตคอลอินเทอร์เน็ต |
|---|
| ชั้นแอปพลิเคชัน |
| ชั้นการขนส่ง |
| ชั้นอินเทอร์เน็ต |
| เลเยอร์เชื่อมโยง |
9P (หรือPlan 9 Filesystem ProtocolหรือStyx ) เป็นโปรโตคอลเครือข่ายที่พัฒนาขึ้นสำหรับ Plan 9 ซึ่งเป็น ระบบปฏิบัติการแบบกระจายศูนย์ของ Bell Labs โดยใช้เป็นวิธีการเชื่อมต่อส่วนประกอบต่างๆ ของระบบ Plan 9 ไฟล์เป็นวัตถุสำคัญใน Plan 9 โดยไฟล์จะแทนหน้าต่างการเชื่อมต่อเครือข่ายกระบวนการทำงานและเกือบทุกอย่างที่มีอยู่ในระบบปฏิบัติการ
9P ได้รับการแก้ไขสำหรับ Plan 9 ฉบับที่ 4 ภายใต้ชื่อ9P2000ซึ่งประกอบด้วยการปรับปรุงต่างๆ การปรับปรุงบางส่วนได้แก่ การลบข้อจำกัดเกี่ยวกับชื่อไฟล์บางประการ การเพิ่มฟิลด์เมตาเดตา 'last modifier' สำหรับไดเร็กทอรี และไฟล์การตรวจสอบสิทธิ์[ 1 ]ระบบปฏิบัติการ Infernoเวอร์ชันล่าสุดยังใช้ 9P2000 ด้วย โปรโตคอลไฟล์ Inferno เดิมเรียกว่า Styx แต่ในทางเทคนิคแล้วมันเป็นรูปแบบหนึ่งของ 9P มาโดยตลอด
การใช้งานเซิร์ฟเวอร์ของ 9P สำหรับ Unix ที่เรียกว่า u9fs [ 2 ] [ 3 ]รวมอยู่ใน Plan 9 ส่วนขยายเคอร์เนลไคลเอ็นต์ 9P สำหรับ OS Xมีให้โดย Mac9P [ 4 ]ไดรเวอร์ไคลเอ็นต์เคอร์เนลที่ใช้งาน 9P พร้อมส่วนขยายบางส่วนสำหรับLinuxเป็นส่วนหนึ่งของ โครงการ v9fs 9P และอนุพันธ์ของมันยังพบการใช้งานในสภาพแวดล้อมแบบฝังตัว เช่น โครงการ Styx-on-a-Brick สำหรับLego Mindstorms Bricks [ 5 ]
แอปพลิเคชันเซิร์ฟเวอร์
แอปพลิเคชันจำนวนมากของ Plan 9 มีรูปแบบเป็นเซิร์ฟเวอร์ไฟล์ 9P ตัวอย่างเช่น:
- acme : โปรแกรมแก้ไขข้อความ/สภาพแวดล้อมการพัฒนา
- rio : ระบบจัดการหน้าต่าง Plan 9
- ช่างประปา : การสื่อสารระหว่างกระบวนการ
- ftpfs: ไคลเอนต์ FTPที่แสดงไฟล์และไดเร็กทอรีบนเซิร์ฟเวอร์ FTP ระยะไกลในเนมสเปซ ท้องถิ่น
- wikifs: เครื่องมือแก้ไข วิกิที่แสดงวิกิระยะไกลในรูปแบบไฟล์ในเนมสเปซภายในเครื่อง
- webfs: เซิร์ฟเวอร์ไฟล์ที่ดึงข้อมูลจากURLและแสดงเนื้อหาและรายละเอียดของการตอบกลับในรูปแบบไฟล์ในเนมสเปซภายในเครื่อง
นอกเหนือจาก Plan 9 แล้ว โปรโตคอล 9P ยังคงถูกใช้งานเมื่อต้องการระบบไฟล์ระยะไกลที่มีน้ำหนักเบา:
- NixOS : ระบบปฏิบัติการลินุกซ์ที่ใช้ตัวจัดการแพ็กเกจ Nix NixOS สามารถสร้างตัวเองขึ้นมาใหม่ภายในเครื่องเสมือนได้โดยที่ไคลเอ็นต์ใช้ 9P ในการเมานต์ไดเร็กทอรีที่เก็บแพ็กเกจของเครื่องโฮสต์
- GNU Guix : ตัวจัดการแพ็กเกจที่สามารถสร้างและจัดการ ระบบปฏิบัติการ แบบ Unixได้ สามารถสร้างระบบภายในเครื่องเสมือน ได้ ในลักษณะเดียวกับNixOS
- Windows Subsystem for Linux (WSL): ตั้งแต่ Windows 10 เวอร์ชัน 1903 เป็นต้นไป ระบบย่อยนี้ใช้ 9P เป็นเซิร์ฟเวอร์ และระบบปฏิบัติการ Windows โฮสต์ทำหน้าที่เป็นไคลเอ็นต์[ 6 ]
- Crostini : เซิร์ฟเวอร์ 9P แบบกำหนดเองถูกใช้เพื่อให้สามารถเข้าถึงไฟล์ภายนอกเครื่องเสมือน Linux [ 7 ]
- QEMU : อุปกรณ์ VirtFS ช่วยให้สามารถแชร์ระบบไฟล์ผ่าน 9P ซึ่งเร่งความเร็วด้วยไดรเวอร์เคอร์เนลและหน่วยความจำที่ใช้ร่วมกัน[ 8 ] [ 9 ]
- DIOD : Distributed I/O Daemon – เซิร์ฟเวอร์ไฟล์ 9P
- ZeroFS : เซิร์ฟเวอร์ 9P ที่มีระบบจัดเก็บข้อมูลแบบอ็อบเจ็กต์เป็นแบ็กเอนด์
ดูเพิ่มเติม
- ระบบไฟล์แบบกระจาย
- ทุกสิ่งคือไฟล์ – ปรัชญาของยูนิก
- IL – โปรโตคอลระดับการขนส่งที่ออกแบบโดย Bell Labs สำหรับระบบปฏิบัติการ Plan 9
ลิงก์ภายนอก
- หน้า แหล่งข้อมูล 9Pที่ cat-v.org
- คู่มือ 9P
- สถาปัตยกรรม Styx สำหรับระบบกระจายโดยRob PikeและDennis Ritchie
- การจัดระเบียบเครือข่ายใน Plan 9โดย Dave Presotto และ Phil Winterbottom
- ความปลอดภัยในแผน 9