Plan9操作系统基本概念

什么是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 操作系统的截图

时间: 2024-11-10 07:56:42

Plan9操作系统基本概念的相关文章

操作系统基本概念

操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行. 操作系统是管理计算机硬件的程序,它还为应用程序提供基础,并且充当计算机硬件和计算机用户的中介.操作系统完成这些任务的方式多种多样.大型机的操作系统设计的主要目的是为了充分优化硬件的使用率,个人计算机的操作系统是为了能支持从复杂游戏到商业应用的各种事物,手持计算机的操作系统是为了给用户提供一个可

畅谈2013企业IT:Linux成为云操作系统 PaaS将成主流

企业IT在2012年以闪电般的速度得到了快速的发展.混合环境和云操作系统等概念已经从讨论中的热门词汇变成了实实在在的计划,而且在很多情况下,甚至进入了大规模的实施.同时,其它的趋势也在逐步明朗起来 - 这些趋势会对企业在明天和更远未来的IT道路产生深远的影响. Linux成为云操作系统 操作系统的作用一直就有两个:使软件和开发者能够消费和利用最新的硬件创新,以及提供一个让应用软件稳定运行的基础.在未来,操作系统将继续沿这两条道路前进,为云注入动力.以Linux为例,Linux是基于互联网开发的并

国产操作系统销比产难

喊破嗓子不如甩开膀子,被用滥了的说辞依旧解救不了国产操作系统.最近几天,行业元老.中国工程院院士倪光南屡有令人震惊的观点曝出,核心思想可以归纳为"国产操作系统两年内可以取代Windows". 这是一个颇为较真的话题,对错很难定论.毕竟,以"够用就好"的标准看,国产操作系统确实与Windows差距不大,目前大部分Windows用户替换掉也不会有太大问题. 但上述梦想只是建立在逻辑层面,"四处巡讲"并不能拿下市场.可能会有人不同意这种观点,认为&qu

Unix 的缺陷 - 王垠

我想通过这篇文章解释一下我对 Unix 哲学本质的理解.我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣.虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力).但是如果开始正视这个问题,我们也许就可以缓慢的改善系统的结构,从而使得它用起来更加高效,方便和安全,那又未尝不可.同时也希望这里对 Unix 命令本质的阐述能帮助人迅速的掌握 Unix,灵活的应用它的潜力,避免它的缺点. 通常所说的"U

Java高级软件工程师面试考纲

当前,市面上有<Java XX宝典>类似的图书,而且图书中的内容都着重在讲解Java最为基础的部分,最严重的是,里面有着大量错误的内容,极具误导性.另外,网上也有各种各样的Java面试题, 很多也是着重在Java语言基础上.实际上,如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构.算法.网 络.操作系统等知识.因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人.

什么是全栈呢(转)

背景 自从2013年离开北京后,就没有在固定单位上班了.期间捣鼓过一些东西,也挣了点小钱,日子也没有到过不下去非要找工作的地步. 只是觉得自身仍有不足,作为技术,还是想再开阔一点,再深刻一点,再专业一点. 也没有去刻意地投递简历,本来老婆怀孕,自己在家,时间比较多,所以就写写博客,所以会有一些来自私信的机会. 既然有机会,那就愉快地去追一下,本篇,就记录一下最近几个月的一些经历. 云XX 这个公司招聘全栈,要求精通编译.操作系统.计算机网络,要精通一门底层语言,比如汇编或者C,要精通一门高级语言

程序员谈学习:我为什么要学习Linux?

今天这篇博客不是写关于具体技术的,而是我对程序员怎样学习和提高自己能力的一些感悟.我是今年7月初毕业的,离开学校后就直接进入之前实习的公司上班了.现在算来工作了也将近半年了,算上实习的时间,将近一年了.在这期间,参与了几个android项目的开发,也维护过别人写的项目,虽然都不是很大的项目,但也学习了不少东西.在这其间,我亲身经历了一个设计拙劣的项目,是怎么样一步步趋于混乱而最终变的完全不可维护.从这件事情我了解到优秀的程序员是多么可贵,而"不优秀"的程序员是怎样把项目一步步的搞砸搞烂

下一代云计算模式:Docker掀个性化商业革命

从2008年开始进入公众视野,到亚马逊与微软于近期获得1亿美元的美国联邦管理局云计算合同,云计算整整走过了7年.7年间,以第一代云计算技术为基础的移动计算.社交网络.大数据等新信息技术在全球商业领域掀起了一场新商业运动,这场商业运动创造出以消费者和用户为核心的个性化商业模式. 从去年开始席卷云计算领域的Docker技术风潮,恰恰就是推动企业走近消费者和用户的一大步.本文通过深入分析,带你了解什么是Docker以及Docker将如何改变云计算,进而孵化出能够工业化生产个性化产品与服务的下一代商业模

谷歌与微软的博弈

2009年7月中旬,Google正式宣布将开发基于上网本和PC的云操作系统,该系统将于2010年正式上市,并于同年底对外公布源码.此次消息一出,Google再次进入了IT业界新闻的焦点位置.对于用户而言,除了Windows操作系统以外又多一种选择,无疑是很不错的事情.但对于微软而言,Google此举若是取得成功,无疑将在很大程度上削弱微软对于业界的影响力. 本次Google公布的这款操作系统名为Chrome OS,主要面向上网本和PC端的用户.这也是Google在和微软之间互相打入对方的核心业务