世界上著名的操作系统是用什么语言编写的?
Unix 与 C 语言的关系
在服务器领域,最著名的系统莫过于Unix了,即便Linux也是类Unix的操作系统。Unix 是用 C 语言编写的,而且是世界上第一个用 C 语言编写的操作系统。但是 Unix 是怎么产生的?C 语言又是怎么产生的?Unix 为什么要用 C 语言来编写?相信看完这篇文章你很快就会有了答案。
Multics 和 Unix
1964年,在 Unix 诞生之前,美国贝尔实验室、通用电气、和麻省理工学院联合开发了一个项目,叫做 Multics操作系统。Multics 在当时取得了巨大的成功,因为它给了人们一个真正可用并且很稳定的操作系统。当时从学校到政府机关,到处都在安装 Multics。
但是时间到了 1969年,因为种种原因,贝尔实验室的 Ken Thompson 和 Dennis Ritchie 决定放弃Multics,于是贝尔实验室退出了这个项目。Ken Thompson 和 Dennis Ritchie 决定开发一个更为简单并且高效的操作系统,并把它命名为 Unix,于是他们俩就成为了 Unix 之父。
和 Unix 相比,Multics 有两个比较致命的缺点,一是需要安装在非常昂贵的机器上,普通的计算机没有办法安装。二是设计非常复杂,这也是贝尔实验室的工程师退出的主要原因。不过 Ken Thompson 和 Dennis Ritchie 还是从 Multics 上得到很多启发,可以说 Unix 是 Multics 的简化以及更新。
说到这里,C 语言还没有出场,因为它在那个时候还没有被发明出来。Unix 操作系统的第一个版本是纯粹用汇编语言编写出来的。一直到了 1974年,第四个版本才改用 C 语言进行开发。在讲 C 语言之前,我们还不得不先说一下 BCPL 和 B 语言。
BCPL 与 B 语言
Ken Thompson 和 Dennis Ritchie 最初用汇编语言来开发 Unix,因为在那个时候,所有的操作系统都是用汇编语言来开发的。不过当时 Multics 是一个例外,Multics 项目组使用了 PL/1 来进行开发。它的价值就在于向世人展示了用一门高级语言也可以开发出一套操作系统。Ken Thompson 和 Dennis Ritchie 也受到了鼓舞,他们决定用汇编之外的语言重新开发 Unix。他们最初的选择是 BCPL。BCPL 最早是由 Martin Richards 发明用来开发编译器的语言。但是 Ken Thompson 和 Dennis Ritchie很快发现,如果他们想在小型计算机 DEC PDP-7 上使用 BCPL,就需要对这个语言本身进行一些修改。于是就产生了后来的 B 语言。
B 语言作为系统开发语言,也存在很多的缺点,于是后来它又被改进为 NB 语言 (New B)。可是 NB 还是有很多的问题,于是 Dennis Ritchie 就又发明了 C 语言,最终在 1974年,Ken Thompson 和 Dennis Ritchie 一起用 C 语言重新编写了第四版的 Unix 系统。现在,C 语言已经成为了操作系统开发最常用的编程语言。
通往 C 语言与 Unix 之路
Dennis Ritchie 曾经解释过自己为什么要发明 C 语言,以及使用 B 语言过程中遇到的一些困难:
- 只能处理计算机字:B语言所有的操作都是通过计算机字来处理的,在那个时候,能够处理字节的编程语言对工程师们来说是一个梦。
- 没有类型:准确的说,B语言只有一种类型,计算机字。如果你有一个字符串,可能你需要把它分成多个变量来保存,比如一个21个字符的字符串,就需要 6 个变量。
- 不支持浮点类型运算:在那个时候,大部分硬件已经都可以开始支持浮点运算了,但是 B 语言还不支持这种操作。
B 语言的这些问题,开发低效,在机器上运行缓慢等等,都迫使 Dennis Ritchie 发明一种新的编程语言。最开始被称为 New B,后来逐渐演化成了 C 语言。
C 语言解决了 B 语言的很多缺陷,并很快成为了开发操作系统最流行的一种编程语言。新版本的 Unix 以及今天很多类 Unix 的操作系统都是用 C 语言开发出来的。
好了,讲到这里,我想大家都清楚了 Unix 和 C 语言是怎么来的了,以及为什么要用 C 语言来编写 Unix。现在有很多非常流行的语言比如 Java 和 Python,它们是一种更高级的编程语言,是在 C 语言这一层之上的。但是如果大家想做设备驱动或者系统内核模块的修改,还是离不开 C 语言这把利器。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
绝望的受害者:“虚假”勒索软件解密器的陷阱导致双重加密
一个伪造的STOP Djvu勒索软件解密器正在传播,但实际上,但这只是诱使已经绝望的人们再度感染的陷阱。 虽然诸如Maze、REvil、Netwalker和DoppelPaymer这样的勒索软件因勒索金额高昂而受到了媒体的广泛关注,但名为STOP Djvu的勒索软件正在感染更多的人。 据了解,STOP勒索软件是过去一年中最活跃的勒索软件,每天要向ID-勒索软件勒索软件识别服务提交600多个文件。而Emsisoft和Michael Gillespie先前已发布了较旧的STOP Djvu变种的解密器,但较新的变种目前还不能免费解密。而最近出现的伪装的解密器,承诺可以免费解密,但却让受害者再感染了另一种勒索软件,把情况变得更糟糕。 至于勒索软件如此普遍,为什么仍然缺乏关注?原因很简单,因为大多勒索软件会伪装破解版软件包感染家庭用户,而受到感染后,家庭用户又负担不起500美元的解密器费用。 Zorab双重加密受害者的数据 为STOP Djvu勒索软件受害者带来二度打击的就是名为Zorab的新勒索软件。Zorab勒索软件的创建者发布了一个伪造的STOP Djvu解密器,该解密器不会免费恢复任何文...
- 下一篇
微软遭遇新麻烦,措手不及,网友:这就是我们坚持Windows7的原因
由于微软在移动互联网方面落后,其变将希望都放在了Windows 10系统,希望让Windows 10设备的市场份额方面与苹果IOS和谷歌安卓系统设备的市场份额相当。 于是,为了让更多用户都升级到Windows 10系统。 微软不仅开启了免费升级至今,至今用户都能免费升级到Windows 10,甚至还采用诱导、强制等方式让用户升级。 不仅如此,微软还推出不同分支的Windows 10系统,让这些系统出现不同设备上。 像普通版的windows 10设备、教育版的Windows 10 S设备以及双屏版的windows 10X等。 可以说,在微软的努力之下,Windows 10设备实现了10亿装机量,并成功超越windows7成为全球第一大操作系统。 即便如此,微软仍在不断完善Windows 10系统,并将新版系统推送给用户,让其获得更好地体验。 日前,微软正式推出Windows 10 V2004版,作为微软今年重磅系统更新,在Windows 10V2004版中,微软加入了很多新特性。 像优化后的开始菜单UI、不再卡顿、新版小娜、缩小化的搜索框以及GPU显示温度等,可以说,Windows 10...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长