什么是Plan 9

Plan9 是一个操作系统。由贝尔实验室开发的,其主要的负责人是Rob Pike(现在在google工作,负责Go语言的开发)。当然这个操作系统的参与者还有几个大名鼎鼎的人:包括Ken Thompson(C语言和Unix创始人),Dennis Ritchie(C语言和Unix创始人),Brain Kernighan(awk之父),Doug Mcllroy(Unix管道提出者,Unix开发参与者)。

为什么有了Unix还需要有Plan9呢?

Plan9中最本质的思想是“一切皆是文件”,CPU是一个文件,内存是一个文件,网络是一个文件,任何的东西都是一个文件。

Unix是一个多用户分时操作系统,就是多个用户共享一个操作系统资源。不管是CPU,内存,网络,都需要通过Unix进行分配调度。但是这样的问题就导致了多个机器之间的信息传输必须通过网络来进行了。比如A机器的文件需要使用B机器的CPU来处理,方法就只有通过某种协议,将A机器的文件下载到B机器中,然后B机器处理完以后再回传到A机器中。

Plan 9的“一切皆是文件”就很好的解决了这个问题,A机器想要使用B机器的CPU,只需要将B机器的CPU挂载到A机器的CPU的文件中,就能完成这个需求了。当然两个机器之间也有一个协议9P来进行文件挂载表示的。但是这个对上层的操作系统来说已经是透明的了。

Plan9是一个分布式操作系统,它能把网络上一切的资源当作文件来进行使用,这其实就是云的概念了。

Unix上不能实现跨网络分布式的操作系统吗?

首先是“一切皆是文件”的概念当然在Unix上也有很好体现。这点这些牛掰的作者已经运用在Unix上了,比如/sys/devices/system/cpu/cpu0下的CPU文件代表的就是当前CPU的状态。但是由于Unix发展太快了,导致后面有很多功能已经超出贝尔实验室的控制了。比如引入了ioctl,而不是使用文件的read/write命令。也是因为这些原因,贝尔实验室的这些人就想着能创建一个超越Unix的操作系统,从而有了plan9。

Plan9的后续

Plan9的全部代码都是由C写的。后来Rob Pike又开始写了一门语言:Limbo。Limbo语言是一种专门写分布式系统的编程语言。这种语言运用最多的就是Inferno操作系统上。

Inferno操作系统

这个操作系统是Plan9的姐妹操作系统。它的思想和Plan9基本相同,都是基于文件的。但是它只有内核是C编写,其他的应用程序都是Limbo编写的。所以它和Plan9不同的地方就是在这个系统上运行的程序都是Limbo程序而不是C或C衍生程序了。更多关于Inferno的资料可以看:http://zh.wikipedia.org/wiki/Inferno

后来Rob Pike又开发出的Go语言有一些地方的思想就是借鉴于Limbo语言。

Plan9 操作系统的截图

本文转自轩脉刃博客园博客,原文链接:http://www.cnblogs.com/yjf512/archive/2013/01/07/2849636.html,如需转载请自行联系原作者

Plan9操作系统基本概念相关推荐

  1. IBM蓝色基因超级计算机运行Plan9操作系统

    2019独角兽企业重金招聘Python工程师标准>>> IBM蓝色基因超级计算机运行Plan9操作系统 IBM蓝色基因贴上了Plan 9的太空宾尼兔标识,这是研究人员的诙谐表达 贝尔 ...

  2. Autosar模块介绍:AutosarOS_2(操作系统基本概念)

    上一篇 | 返回主目录 | 下一篇 AutosarOS_2:操作系统基本概念 1 任务管理(Task Management) 1.1 任务基本概念及分类 1.1.1 基础任务(Basic Task, ...

  3. 深入理解Linux内核(一)——Linux操作系统基础概念

    文章目录 前言 操作系统基本概念 多用户系统 用户和组 进程 内核体系结构 Unix文件系统概述 文件 硬链接和软链接 文件类型 文件描述符与索引节点 访问权限和文件模式 文件操作的系统调用 打开文件 ...

  4. (二.Windows7操作系统基本概念 三.字处理软件Word 2010 四.电子表格系统Excel 2010 五. 演示文稿文件PowerPoint 2010)

    ※▲计算机文化基础知识 二.Windows7操作系统基本概念 1.操作系统概述 2.Windows7基础 3.Windows7 的文件夹和文件夹管理 4.Windows7控制面板 5.Windows7 ...

  5. 操作系统 地址 概念

    逻辑地址(Logical Address) 是指由程序产生的与段相关的偏移地址部分.例如,你在进行C语言指针编程中,可以读取指针变量本身值(&操作),实际上这个值就是逻辑地址,它是相对于你当前 ...

  6. (五)操作系统安全概念和设计思想

    1.     访问控制思想:1969年,B. W. Lampson首次运用了主体.客体和访问控制矩阵的思想对访问控制问题进行了抽象:在一个操作系统中,每一个实体组件都必须或者是主体,或者是客体,或者既 ...

  7. 操作系统————P1 概念、功能和目标

    概念 用户 人 软件 QQ.微信.英雄联盟 操作系统 windows.Linux 硬件 CPU.GPU.内存 操作系统(Operation System, OS): 控制和管理整个计算机系统的硬件和软 ...

  8. (一)操作系统基本概念(任哲版嵌入ucos和linux笔记)

    1.操作系统的功能: ①对计算机硬件的封装和功能的扩充:HAL层(计算机硬件抽象层)是OS的最底层,是对计算机硬件的第一次软件封装.API中与硬件相关的那些函数就是对计算机硬件的第二次抽象和封装.所以 ...

  9. 【操作系统】概念、功能、特征、分类、运行机制、内核、体系结构、中断和异常、系统调用简介

    文章目录 一.概念 二.功能及目标 2.1 系统资源管理者 2.2 用户与计算机硬件之间的接口 2.2.1 命令接口 联机命令接口 脱机命令接口 2.2.2 程序接口 2.2.3 图像用户界面 2.3 ...

最新文章

  1. Nacos 集群部署模式最佳实践
  2. 距离度量:闵氏、欧式、马氏、余弦、汉明等
  3. python视频人脸检测_Python基于OpenCV实现视频的人脸检测
  4. pause容器作用_容器编排之战(四)连载
  5. python和lisp学哪个好_五位专家跟你讲讲为啥Python更适合做AI/机器学习
  6. 新的一年,谈谈我对技术架构的理解
  7. 对于未定义为 System.String 的列,唯一有效的值是(引发异常)。
  8. 康德的道德观与哲学观
  9. 学习进度(2016.4.10)
  10. MySQL安装包MySQL Installer下载地址
  11. PS颜色校正(Photoshop颜色显示偏色)
  12. LiteOS学习笔记-8LiteOS SDK oc流程之LwM2M
  13. 成品app直播源码,fragment切换 常用写法
  14. 利用python如何进行数据挖掘
  15. STM32_OLED显示
  16. C/C++多线程面试题
  17. 关于穿越机FPV视频果冻效应的讨论
  18. 豆瓣排名前500的电视剧
  19. kmplayer 修改快捷键——以倍速播放为例
  20. python数据处理用什么软件_数据分析都会用到哪些工具?

热门文章

  1. 14 个写 Java 的习惯
  2. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?
  3. 这样讲 SpringBoot 自动配置原理,你应该能明白了吧
  4. ELK教程3:logstash的部署、SpringBoot整合ELK+Filebeat
  5. Spring Cloud第八篇:Spring Cloud Bus刷新配置
  6. 数据项目总结:王者荣耀总决赛预测!
  7. 2022新冠两大毒王合体?印媒炒作高危变异毒株缝合怪「Delmicron」
  8. 25岁Nature狂魔八连杀!曹原再次“一作+通讯”发Nature!
  9. 21个Transformer面试题的简单回答
  10. 清华团队曝光「新冠病毒」3D高清结构照!这个恶魔已感染1亿地球人