9P(九号项目文件系统协议)
9P是一个为贝尔实验室9号项目(一个分布式操作系统)所制定的网络协议,用于这个分布式操作系统的不同部件。文件是这个操作系统的关键要素,代表的是窗口、网络链接、进程以及任何操作系统中有效的东西。
9P计划的第四版叫做9P2000,有如下改进:删除了某些文件名的限制,为目录添加了最后修改元数据域,添加了认证文件。
u9fs是基于Unix的9P服务器版实现
实现
9P在客户端和服务器端传送以下信息:
- 版本:协商协议版本
- 错误:返回错误
- flush:终止一个消息
- 连接:建立一个连接
- walk:下降一个目录层次
- 创建/打开:为现有文件或已经存在的文件I/O准备fid
- 读/写:转移数据进/出文件
- 旧的:遗忘一个fid
- 移除:从服务器端删除一个文件
- stat:获取或者改变文件属性