Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >“C语言之父”40年前搞的操作系统复活!Linux、Windows都借鉴过它

“C语言之父”40年前搞的操作系统复活!Linux、Windows都借鉴过它

作者头像
量子位
发布于 2023-03-10 05:48:49
发布于 2023-03-10 05:48:49
3700
举报
文章被收录于专栏:量子位量子位
贾浩楠 发自 凹非寺  量子位 报道 | 公众号 QbitAI

Plan 9操作系统?没听说过….

但事实是,连LinuxWindows都得叫它一声“老大哥”!

没错,这套40年前由“C语言之父”开发的操作系统,如今仍然在深刻影响着Linux、Windows。

最新消息的消息是,拥有Plan 9版权的美国贝尔实验室,刚刚宣布下放版权给开发者社区。

就是说,Plan 9这个在幕后默默影响行业40年的分布式操作系统,要正式“复活”了。

Plan 9系统是干什么的?

大名鼎鼎的贝尔实验室,是C语言,以及Linux系统的前身Unix诞生地。

当然,这里也诞生了晶体管、激光器、太阳能电池、发光二极管、数字交换机 、通信卫星、电子数字计算机、蜂窝移动通信设备、长途电视传送、仿真语言、有声电影、立体声录音等等重大发明。

而Unix和C语言核心开发者,大家肯定不陌生,Ken ThompsonDennis Ritchie,都是如雷贯耳的big name,且都获得因为这两项成就获得图灵奖。

但是外界鲜有人知的是,他俩80年代在贝尔实验室还开发了另外一套操作系统Plan 9

其实,Plan 9一开始并不是这个系统的名字,只是这个项目的代号,名字来源于电影史上因为“烂到极致”而备受追捧的科幻片《外星9号计划》。

看来,C语言之父们,也是骨灰级科幻影迷~

之后,贝尔实验室因为种种原因停止了对这个项目的投资,早期研发工作完成后,这个项目就搁置了起来,“Plan 9”渐渐就变成了这个系统的名字。

为什么要开发这样一套系统?当时,Ken和Dannis意识到,分布式的数据存储调用方式日后会成为主流,所以需要做一套简洁优雅实用的系统来服务这种需求。

Plan 9的开发,没有依赖任何Unix已有的基础,而是完全另起炉灶

以当时的眼光来看,Plan 9十分先进超前,模式与传统操作系统完全不同。

Plan 9的结构是一个松散耦合的服务集合,这些服务可能被托管在不同的机器上。

设计的关键概念是每个进程的名称空间:即服务可以映射到固定的本地名称上,因此,即使当前的服务被提供相同功能的其他服务所取代,使用这些服务的程序也不用改变。

Plan 9是真正的分布式操作系统,而不仅仅是集成了几个Unix功能这么简单。你可以毫不费力地在网络上的多台主机上执行任何程序,可以使用网络上任何主机的任何资源,包括文件、进程、图形、网络、磁盘。

如果Linux也能这样工作,那么就没人需要Kubernetes了。

通俗的说,如果Unix或Linux中 “一切都是文件”,那么Plan 9则是 “一切都是网络文件系统”。

如果你有一台笔记本和一台台式机,而连接了打印机的却只有台式机,那使用笔记本能不能直接打印?

在Linux中,你必须设置CUPS,打开网络端口,下载驱动程序,设置两台机器都能和打印机通信。

而在在Plan 9中,你的笔记本电脑只需要通过网络打开桌面的打印机文件就可以打印了。

Plan 9到底有多先进?尽管他本身被贝尔实验室雪藏起来,但是,Plan 9中的很多经典设计和思路,一直沿用至今。

Linux、Windows、5G,都借鉴Plan 9

Eric S. Raymond在他的著作中分析了为何Plan 9最终下马。

他认为,Plan 9最后会失败单纯只是因为它的完善程度不够大。当时,虽然Unix看来破破烂烂又有明显缺失,但是它还是能把工作完成,这就足以保住它的地位了。

开创性的Plan 9最终没能“起飞”,但它的创新却被许多商业操作系统所采用。

比如,Linux中广泛普及的通过文件系统提供操作系统服务的概念就出自Plan 9。

此外,Plan 9极简主义窗口系统设计已经被无数系统借鉴,包括Windows:

而今天在浏览器中普遍使用的UTF-8字符编码,最初就是为Plan 9发明的,并在Plan 9中首次实现。

Plan 9的分布式设计也在诺基亚-贝尔实验室的项目中得以延续,比如World Wide Streams,这套流处理程序今天部署在地理上相隔甚远的多个5G边缘云和核心云的计算节点上。

可以说,今天流行的微服务架构,早在几十年前,Plan 9就已经提出了。

从这个角度来看,Plan 9其实从来没有真正“隐退”过。

几十年来,一直有民间的爱好者自发组成社区对Plan 9进行开发,而最近,贝尔实验室则官宣完全“复活”Plan 9,直接将版权下放给开发者社区。

Plan 9复活后要做什么?

获得贝尔实验室官方认可的开发者社区,名字叫Plan 9基金会,是爱好者们自下而上组织起来的,2020年9月刚刚成立。

基金会的主页上,只写明了将来会致力于Plan 9的开发和应用,具体的工作计划还没有出台。

而贝尔实验室对于Plan 9能日后能发挥多大作用似乎也没有把握。

他们在官方声明中说:

贝尔实验室十分支持开源社区,而Plan 9可能使全球软件开发社区受益。 谁知道呢,也许Plan 9会成为新兴的分布式云基础设施的一部分,支撑着即将到来的工业革命。

好吧,看来贝尔实验室打算彻底“放生”Plan 9。

只是不知道,假如日后Plan 9真的能成气候,变成有巨大影响力的操作系统,贝尔实验室会不会后悔今天的决定呢?

最后,献上彩蛋一枚。

Plan 9的开发者之一,同时也是C语言最主要的发明者Dennis Ritchie,是一个十分传奇的计算机科学家。

有多传奇?在一众计算机大佬中,他是独一份没有博士学位的。

并且,他是出于一个“十分任性”的原因,自己放弃了博士学位。

想看他的故事,在后台回复“想看”,我们马上安排!

参考链接: https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

点这里👇关注我,记得标星,么么哒~

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
操作系统介绍
操作系统(Operating System,简称OS),是管理和控制计算机硬件与资源的计算机程序,是直接运行在“裸机”上的最基础的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
胡齐
2019/11/22
8960
操作系统介绍
【Python全栈100天学习笔记】Day31 操作系统发展史
只有硬件没有软件的计算机系统被称之为“裸机”,我们很难用“裸机”来完成计算机日常的工作(如存储和运算),所以必须用特定的软件来控制硬件的工作。最靠近计算机硬件的软件是系统软件,其中最为重要的就是“操作系统”。“操作系统”是控制和管理整个计算机硬件和软件资源、实现资源分配和任务调配、为系统用户以及其他软件提供接口和环境的程序的集合。
天道Vax的时间宝藏
2022/04/01
3890
【Python全栈100天学习笔记】Day31 操作系统发展史
图灵奖得主、Unix之父 39年前的密码终于被破解了!
最近,一则消息在程序员圈引起热议:Unix 之父 Ken Thompson 的旧密码被破解了!
新智元
2019/10/15
1.2K0
图灵奖得主、Unix之父 39年前的密码终于被破解了!
操作系统的最强入门科普(Unix/Linux篇)
说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统。
鲜枣课堂
2023/08/21
1K1
操作系统的最强入门科普(Unix/Linux篇)
初识C语言
C 语言是一种通用的高级语言,最初是由丹尼斯·里奇在贝尔实验室为开发 UNIX 操作系统而设计的。C 语言最开始是于 1972 年在 DEC PDP-11 计算机上被首次实现。 在 1978 年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一个公开可用的描述,现在被称为 K&R 标准。 UNIX 操作系统,C编译器,和几乎所有的 UNIX 应用程序都是用 C 语言编写的。由于各种原因,C 语言现在已经成为一种广泛使用的专业语言。
C语言中文社区
2022/05/30
2680
初识C语言
「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日
很多人可能听说过 Dennis Ritchie 这个人。上世纪 60 年代末,他从哈佛大学应用数学系毕业并「子承父业」加入贝尔实验室,在那里度过了他的整个职业生涯。加入贝尔实验室不久,他就和 Ken Thompson 一起开发了 Unix 操作系统和经久不衰的 C 语言。Thompson 领导了系统的开发,Ritchie 则主导了 C 语言的创造。在 C 语言问世之后,Thompson 又用它重写了 Unix。1983 年,Dennis Ritchie 和 Ken Thompson 共同获得图灵奖。
机器之心
2020/07/23
4670
操作系统极简入门
1940,1950 年代的电脑,每次只能运行一个程序,程序员在打孔纸卡上写程序,然后拿到一个计算机房间, 交给操作员。等计算机空下来了,操作员会把程序放入,然后运行,输出结果,停机。以前计算机慢,这种手动做法可以接受,运行一个程序通常要几小时,几天甚至几周。但上节说过,计算机越来越快,越来越快,指数级增长。
硬核编程
2019/09/17
8910
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
oeasy
2024/09/09
1140
[oeasy]python0033_先有操作系统还是先有编程语言_c语言是怎么来的
48岁的C语言,你知道它背后的历史吗?
C语言作为一个人尽皆知的语言,甚至没有学过编程语言的人也知道它的大名。经历沧桑岁月的它,已经陪伴我们走过了48个年头。回望当年,C语言还在襁褓之中……
GorgonMeducer 傻孩子
2020/09/21
6430
Go语言是否会取代Python和Java?
一、Go语言出现之前的编程痛点 (1)为什么会设计Go语言? 我们先来了解一下Go语言的作者和主要核心开发者们: Rob Pike:曾是贝尔实验室(Bell Labs)的Unix团队,和Plan 9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8 字元编码。 Ken Thompson:主要是B语言、C语言的作者,Unix之父。1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis
博文视点Broadview
2023/05/19
9680
Go语言是否会取代Python和Java?
c语言之父是谁-第一章 C语言概述 - 1.2 C语言的前世今生?
  按照惯例,编程语言一般都会有一个或霸气(python:蟒蛇),或犀利(Go),或文艺范(java)的名字,至少是一个看上去像单词的名字-不论是否之前就有这个现成的单词,抑或是人为拼凑的一个单词或缩写。
宜轩
2022/12/26
5280
操作系统Unix、Windows、Mac OS、Linux 的那些故事
我们熟知的操作系统大概都是Windows系列,近年来Apple的成功,让MacOS也逐渐走进普通用户。在服务器领域,恐怕Linux是无人不知无人不晓。他们都是操作系统,也在自己的领域里独领风骚。这都还得益于另外一个古董级别的操作系统--Unix。虽然说古董级别,只是他年纪大了,性能和功能,Unix依然有着顽强的生命力。
用户6543014
2019/10/25
2.3K0
操作系统Unix、Windows、Mac OS、Linux 的那些故事
C的巨大影响【Programming】
Command Line Heroes本季最后一期告诉我们一小群开源爱好者是如何改变世界的。
Potato
2019/11/10
4830
C的巨大影响【Programming】
Hello World!—— 属于我们的第一个C语言程序
C语言最早是由贝尔实验室的Dennis Ritchie为了UNIX的辅助开发而编写的,它是在B语言的基础上开发出来的。尽管C语言不是专门针对UNIX操作系统或机器编写的,但它与UNIX系统的关系十分紧密。由于它的硬件无关性和可移植性,使C语言逐渐成为世界上使用最广泛计算机语言。
楞头覃
2023/12/02
3500
Hello World!—— 属于我们的第一个C语言程序
C 语言的诞生,竟然是一个失败的项目?
整理 | Carol 出品 | CSDN(ID:CSDNnews) 很多人认为 ,C 语言是一门“古董”语言。也有不少人认为,它没有 Python 简洁,没有 Java 安全,甚至有可能要退出历史舞台。而事实上,时至今日,C 语言凭借其在不同编译环境的稳定性、可移植性、快速的运行速度,仍在多个领域发挥着重要作用。 首先,Unix 就是用 C 语言编写的。虽然最初 Unix 采用的是汇编语言,但是 Unix 早在 1973 年就用 C 语言进行重写,这使得 Unix 在不同的机器上更具可移植性,并有助于其变
博文视点Broadview
2023/05/06
3230
C 语言的诞生,竟然是一个失败的项目?
Linux 是怎么演进来的?
最近在系统性重新整理下关于 Linux 的一些知识。Linux 对于所有的开发工程师来说都不算是陌生的东西,但往往在面对它时,却又显得那么生疏。关于生疏,对于初入门的同学来说,其过多发行版和指令已经够吃一壶的了。这篇文章主要是看看 Linux 自身的一些故事。
磊叔的技术博客
2025/06/07
810
Linux 是怎么演进来的?
Linux系统的前世今生
上世纪六十年代,人们还在用批处理计算机,也就是一次性给一批任务到计算机,然后等待结果,中途不能和计算机进行交互,而且准备作业需要耗费大量时间。于是1965年,贝尔实验室(Bell),麻省理工学院(MIT)和通用电气(GE)准备联手开发“分时多任务处理系统”,即300台以上终端机可以同时连接一台大型计算机进行作业,并取名为Multics(Multiplexed Information and Computing System,多路信息计算系统)。但由于项目进度落后,资金短缺,1969年,贝尔实验室放弃了这个项目,决定退出(后来Multics成功开发完成,尽管没有再被重视)。
谭庆波
2018/08/10
1.3K0
Linux学习笔记——ubuntu必会背景知识及系统目录结构详解
使用统一的目录树结构。每个用户一个目录。但是存在特例:超级用户root,其用户目录为/root
timerring
2022/07/20
9220
Linux学习笔记——ubuntu必会背景知识及系统目录结构详解
历史上12位伟大的程序员
所谓程序员,是指那些能够创造、编写计算机程序的人。不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西。然而,有些程序员的贡献却超过了一个普通人一辈子能奉献的力量。这些程序员是先驱,受人尊重,他们贡献的东西改变了我们人类的整个文明进程。下面就让我们看看历史上12位伟大的程序员。
苏易北
2018/09/29
1.1K0
历史上12位伟大的程序员
淡说Linux 的发展史
本文主要介绍了Linux操作系统的起源、发展和现状,以及Torvalds如何利用GNU/Linux系统在个人电脑上构建出一个自由的操作系统。同时,还介绍了其他Linux发行版以及相关的操作系统。
CN_Simo
2017/12/26
2K0
淡说Linux 的发展史
相关推荐
操作系统介绍
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档