ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

操作系统的鼻祖unix和linux那点“过去事”,你都清楚吗?

2026/8/19 17:03:36 拓冰建站 浏览量
操作系统的鼻祖unix和linux那点“过去事”,你都清楚吗? 20世纪40-50年代的计算机是用户独占式的批处理式(一个步骤一个步骤地批量处理)的低效和不易维护的。Dartmouth学院与M.I.T(麻省理工学院)发明了分时系统但它只能运行basic经历了短暂的商业成功后就消失了。M.I.T的系统CTSS(兼容分时系统)用途广泛在科学界取得了巨大成功。后来Bell实验室通用电器的研究者和M.I.T合作开始设计第二代系统MULTICS多路复用信息与计算服务。后来Bell实验室撤出了这个项目仅留下一位研究人员Ken Thompson。Ken Thompson决定在一台废弃的PDP-7小型机上自己写一个精简版的MULTICS当时是使用汇编语言。这个系统确实能正常运行并能支持他的开发工作。Bell实验室的另一位研究者Brian Kernighan开玩笑地把它叫做UNICS单路信息与计算服务。没想到这个名字留了下来后来变成了UNIX。很快Dennis Ritchie加入进来。UNIX系统有两个重大的发展。第一UNIX移植到PDP-11当时算是容量很大的物理内存256K与2M,同时它有内存保护硬件。支持多个用户。但是它是16位的机器单个进程只有64k的指令空间和64k的数据空间。第二为每台机器重写整个系统显然是一件很无趣的事情Tompson决定自己设计一个高级语言B重写UNIXB的种种缺陷尤其是缺乏数据结构使得这次尝试不成功。Ritchie设计了C语言为C写了一个编译器Tompson和Ritchie一起工作用C重写了UNIX从此统治了操作系统编程。1974年Tompson和Ritchie发表了一篇UNIX的里程碑的论文获得了图灵奖。Bell实验室的母公司ATT受监管不允许经营计算机业务但愿意通过向大学出售UNIX获得适度的费用。PDP-11正好是几乎所有大学的计算机系选择的计算机它预装的操作系统使老师和学生望而生畏UNIX很快填补了这个空白因为UNIX提供了全部的源代码。UNIX7是第一个可移植版本培养了整整一代的学生他们促进了它的传播。很多公司购买源代码开发自己的UNIX版本其中有一家年轻小公司微软它以XENIX的名义出售版本7好几年了。可移植的UNIX移植首先要为新机器写一个C编译器为新机器的I/O设备如显示器打印机磁盘等编写设备驱动C写的但没有两个磁盘按照同样的方式工作不能移植。导致了一小部分依赖于机器代码如中断处理或内存管理程序必须重写通常使用汇编语言。Bell实验室的Steve johnson设计并实现了可移植的C编译器只需要适量的修改工作。“为什么不把两台机器用电线连接起来”UNIX网络诞生了。1984年ATT被美国政府拆分后不久就发布了第一个商业化的UNIX产品-system 3在一年后被System 4取代。ATT最后决定在1993年把它卖给了。那时候谁拥有UNIX的生意已经无关紧要了因为主要的计算机公司都已经拥有了其许可。Berkeley UNIX加州大学伯克利分校对UNIX 6系统进行了充分的修改。4BSD版本应用了虚拟内存和分页允许文件名长14个字符网络的引入。TCP/IP成为Internet的实际标准。Berkeley 也为UNIX添加了很多其他的应用程序。标准UNIXUNIX世界的分裂没有标准化阻碍了UNIX的商业成功。IEEEPOSIX委员会定制了一个1003.1的标准。它规定了每一个符合标准的UNIX系统必须提供的库函数大多数库函数会引发系统调用典型的库函数包括openread和fork。IEEE委员会并没有采用System 4和BSD的特性的并集作为标准的起始点而是采用了两者的交集。他们和共同的祖先UNIX7很相似。MINIX所有现代的UNIX系统共有的一个特点是它们大又复杂。这于UNIX的初衷背道而驰。Andrew编写了一个新的类UNIX系统它足够小容易理解。它的所有源代码公开可以用于教学目的。在功能上于UNIX7几乎相同。MINIX是采用微内核设计的它的思想是在内核中只提供最少的功能从而使其可靠和高效。内存管理和文件系统被做为用户进程实现。内核只负责进程间的信息传递。Linux一位芬兰的学生Linus决定编写另外一个类UNIX系统称为linux。它是一个整体式设计将整个操作系统包含在内核中非MINIX的微内核设计。Linux是linus对MINIX的一次重写当时他也只能得到MINIX的系统源码了。当加入了虚拟内存这样一个更加复杂的文件系统后linux大小急速增长。linux和UNIX之间还是有一个很明显的不同linux利用了gcc编译器的很多特性需要做大量的工作才使linux能够被ANSI标准C编译器编译。到这个时候linux已经和UNIX充分兼容大量的UNIX软件被移植到了linux上。linux的一个特征就是它的商业模式它是自由软件。但是它的这个许可GPL,比微软windows的许可更长主要的限制是以linux内核为基础开发的产品其源码必须要么和产品一起发送要么可以随意获取。很多linux用户放弃了互联网上免费分发的版本转而购买众多商业公司的版本。