Plan B操作系统 第四版 #
Plan B is an operating system designed to work in distributed environments where the set of available resources is different at different points in time. Its 4th edition is implemented as a set of user programs to run on top of Plan 9 from Bell Labs.
主要涉及准则:
- All resources are perceived as volumes. A volume is a file tree exported to the network together with a name and constraints.
- The system operates on both local and remote boxes through the same protocol. Any implementor of such protocol can be used as part of a Plan B system.
- Each application has its own name space and can customize it. Customization is done by defining names for volumes and specifying the desired order and constraints to tailor automatic import of network volumes.
- Applications try to avoid connections to resources, by using calls that accept file names instead of file descriptors.
- Volumes can be advertised as they become available to be automatically bound to pre-specified names in the name spaces of applications that care about such resources.
The design owes much to Plan 9 and to Off++. For a description of the system, you may read some of the papers listed in the papers page.
PlanB系统屏幕截图
And you can see the code for an example application, the player we use to listen to music within our smart space shown in the screenshot. The player is similar to one implemented for a single machine, but Plan B makes it adapt to device availability and distribute its UI among available screens.
该系统的手册包含在发行版中。
一些PlanB相关的系统使用演示可以参考 LS 页。
The distribution is available with a set of files that can be unpacked on top of a Plan 9 installation to obtain a Plan B. The file /sys/src/README.PlanB reports the files changed in Plan B with respect to Plan 9.