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重写UNIX,B的种种缺陷,尤其是缺乏数据结构,使得这次尝试不成功。Ritchie设计了C语言,为C写了一个编译器,Tompson和Ritchie一起工作,用C重写了UNIX,从此统治了操作系统编程。

1974年,Tompson和Ritchie发表了一篇UNIX的里程碑的论文,获得了图灵奖。
Bell实验室的母公司AT&T受监管(不允许经营计算机业务),但愿意通过向大学出售UNIX获得适度的费用。

PDP-11正好是几乎所有大学的计算机系选择的计算机,它预装的操作系统使老师和学生望而生畏,UNIX很快填补了这个空白,因为UNIX提供了全部的源代码。

UNIX7是第一个可移植版本,培养了整整一代的学生,他们促进了它的传播。很多公司购买源代码开发自己的UNIX版本,其中有一家年轻小公司(微软),它以XENIX的名义出售版本7好几年了。

可移植的UNIX

移植首先要为新机器写一个C编译器,为新机器的I/O设备,如显示器,打印机,磁盘等编写设备驱动(C写的),但没有两个磁盘按照同样的方式工作,不能移植。导致了一小部分依赖于机器代码,如中断处理或内存管理程序,必须重写,通常使用汇编语言。

Bell实验室的Steve johnson设计并实现了可移植的C编译器,只需要适量的修改工作。

“为什么不把两台机器用电线连接起来”,UNIX网络诞生了。

1984年,AT&T被美国政府拆分后,不久就发布了第一个商业化的UNIX产品-system 3,在一年后被System 4取代。


AT&T最后决定,在1993年把它卖给了。那时候谁拥有UNIX的生意已经无关紧要了,因为主要的计算机公司都已经拥有了其许可。


Berkeley UNIX

加州大学伯克利分校对UNIX 6系统进行了充分的修改。4BSD版本应用了虚拟内存和分页,允许文件名长14个字符,网络的引入。TCP/IP成为Internet的实际标准。

Berkeley 也为UNIX添加了很多其他的应用程序。

标准UNIX

UNIX世界的分裂(没有标准化),阻碍了UNIX的商业成功。

IEEE,POSIX委员会定制了一个1003.1的标准。它规定了每一个符合标准的UNIX系统必须提供的库函数,大多数库函数会引发系统调用,典型的库函数包括open,read和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用户放弃了互联网上免费分发的版本,转而购买众多商业公司的版本。
 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐