NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Linux 内核发展史(二):Unix 操作系统

  • 2020-03-04
  • 本文字数:2313 字

    阅读完需:约 8 分钟

Linux内核发展史(二):Unix操作系统

Linux 是由赫尔辛基大学的 Linus Torvalds 开发的,在系统开发期间得到了因特网上广大 UNIX 程序员的帮助。它最初只是受 Andy Tanenbaum 教授的 Minix (—个小型的类 UNIX 系统)启发而开发的一个程序,纯属个人爱好,但后来它逐步发展成为一个完整的系统。Linux 的成功来源于其之前操作系统和应用软件——主要是 Unix 和 GNU——的已有工作,本小结我们将介绍一下 Unix 的发展简史。

一、Unix 操作系统发展历史

UNIX 操作系统最初是由贝尔实验室开发的,当时的贝尔实验室是电信业巨头 AT&T (美国电报电话公司)旗下的一员。UNIX 是在 20 世纪 70 年代为 DEC (数字设备公司)的 PDP 系列计算机设计的,它现在已成为一种非常流行的多用户、多任务操作系统。UNIX 操作系统可以运行在大量不同种类的硬件平台上,其适用范围从 PC 工作站一直到多处理器服务器和超级计算机。


Unix 系统的主要特点有[1]:


  1. 简单性:许多很有用的 UNIX 工具是非常简单的,因此也是很小并易于理解的。

  2. 集中性:在 UNIX 中,当用户出现新的需求时,我们通常是把小工具组合起来以完成更复杂的任务,而不是试图将一个用户期望的所有功能放在一个大程序里。

  3. 可重用组件:将应用程序的核心实现为库。具有简单而灵活的编程接口、文档齐备的库可以常助其他人开发出同类程序,或者把这些技术应用到新的应用领域。

  4. 过滤器:许多 UNIX 应用程序可用作过滤器。也就是说,它们对输入进行转换并产生输出。

  5. 开放的文件格式:比较成功并流行的 UNIX 程序都使用纯 ASCII 码的文本文件或 XML 文件作为配置文件和数据文件。

  6. 灵活性:你不能期待用户都能非常正确地使用你的程序。所以,你在編程时应尽景考虑到灵活性,尽量避免随意限制字段长度或记录数目。


最初的 Unix 是用汇编语言编写的,一些应用是由叫做 B 语言的解释型语言和汇编语言混合编写的。B 语言在进行系统编程时不够强大,所以汤普逊和里奇对其进行了改造,并与 1971 年共同发明了 C 语言。1973 年汤普逊和里奇用 C 语言重写了 Unix。在当时,为了实现最高效率,系统程序都是由汇编语言编写,所以汤普逊和里奇此举是极具大胆创新和革命意义的。用 C 语言编写的 Unix 代码简洁紧凑、易移植、易读、易修改,为此后 Unix 的发展奠定了坚实基础。


1974 年,汤普逊和里奇合作在 ACM 通信上发表了一篇关于 UNIX 的文章,这是 UNIX 第一次出现在贝尔实验室以外。此后 UNIX 被政府机关,研究机构,企业和大学注意到,并逐渐流行开来。


1975 年,UNIX 发布了 4、5、6 三个版本。1978 年,已经有大约 600 台计算机在运行 UNIX。1979 年,版本 7 发布,这是最后一个广泛发布的研究型 UNIX 版本。20 世纪 80 年代相继发布的 8、9、10 版本只授权给了少数大学。此后这个方向上的研究导致了九号计划的出现,这是一个新的分布式操作系统。


1982 年,AT&T 基于版本 7 开发了 UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的 UNIX 版本情况,AT&T 综合了其他大学和公司开发的各种 UNIX,开发了 UNIX System V Release 1。 这个新的 UNIX 商业发布版本不再包含源代码,所以加州大学柏克莱分校继续开发 BSD UNIX,作为 UNIX System III 和 V 的替代选择。BSD 对 UNIX 最重要的贡献之一是 TCP/IP。BSD 有 8 个主要的发行版中包含了 TCP/IP:4.1c、4.2、4.3、4.3-Tahoe、4.3-Reno、Net2、4.4 以及 4.4-lite。这些发布版中的 TCP/IP 代码几乎是现在所有系统中 TCP/IP 实现的前辈,包括 AT&T System V UNIX 和 Microsoft Windows。其他一些公司也开始为其自己的小型机或工作站提供商业版本的 UNIX 系统,有些选择 System V 作为基础版本,有些则选择了 BSD。BSD 的一名主要开发者,比尔·乔伊,在 BSD 基础上开发了 SunOS,并最终创办了太阳计算机系统公司。


1991 年,一群 BSD 开发者(Donn Seeley、Mike Karels、Bill Jolitz 和 Trent Hein)离开了加州大学,创办了 Berkeley Software Design, Inc (BSDI)。BSDI 是第一家在便宜常见的 Intel 平台上提供全功能商业 BSD UNIX 的厂商。后来 Bill Jolitz 离开了 BSDI,开始了 386BSD 的工作。386BSD 被认为是 FreeBSD、OpenBSD 和 NetBSD、DragonFlyBSD 的先辈。AT&T 继续为 UNIX System V 增加了文件锁定,系统管理,作业控制,流和远程文件系统。1987 到 1989 年,AT&T 决定将 Xenix(微软开发的一个 x86-pc 上的 UNIX 版本),BSD,SunOS 和 System V 融合为 System V Release 4(SVR4)。这个新发布版将多种特性融为一体,结束了混乱的竞争局面。


1993 年以后,大多数商业 UNIX 发行商都基于 SVR4 开发自己的 UNIX 变体了。


UNIX System V Release 4 发布后不久,AT&T 就将其所有 UNIX 权利出售给了 Novell。Novell 期望以此来对抗微软的 Windows NT,但其核心市场受到了严重伤害,最终 Novell 将 SVR4 的权利出售给了 X/OPEN Consortium,后者是定义 UNIX 标准的产业团体。最后 X/OPEN 和 OSF/1 合并,创建了 Open Group。Open Group 定义的多个标准定义着什么是以及什么不是 UNIX。实际的 UNIX 代码则辗转到了 Santa Cruz Operation,这家公司后来出售给了 Caldera Systems。Caldera 原来也出售 Linux 系统,交易完成后,新公司又被重命名为 SCO Group。


下图以树状图的形式展示了从 Unix 系统衍生出的各种操作系统[2]:



值得注意的是 Unix v6 这个操作系统,从图中可以看出,几乎现在常用的那些操作系统都是从 Unix v6 衍生而来的,我们将重点关注衍生出 Linux 的那个分支。

二、总结

本小节中我们简要介绍了有关 Linux 内核的一个重要基础——Unix 操作系统。下一小节我们将介绍 Linux 应用程序的一个重要来源——GNU。




参考文献


[1]《Linux 程序设计(第四版)》


[2] https://www.cnblogs.com/alantu2018/p/8991158.html


2020-03-04 14:251434

评论 1 条评论

发布
用户头像
不错

2021-04-14 09:55
回复
没有更多了
发现更多内容

英特尔锐炫家族迎新成员:锐炫A580兼顾价格与性能的全新选择

E科讯

关于征集人工智能训练芯片标准参编单位的通知

中国信通院AI Infra工作组

华为云API对话机器人CBS的魅力—要是有AI,我要做“李白”- 5分钟开发作诗机器人

平平无奇爱好科技

可信AI评估 | 机器学习平台标准解读

中国信通院AI Infra工作组

Mac上常用的视频编辑软件DaVinci Resolve Studio 18

展初云

Mac软件 视频编辑软件 达芬奇18

Databend join reorder 策略

Databend

Hadoop 集群间同步数据的最佳实践

冰心的小屋

hadoop kerberos hadoop distcp

南京水务:通过推进全面预算、财务共享等数智化转型,探寻业财融合

用友BIP

业财融合

华为云API图像识别Image的趣味性—AI识别迈克尔·杰克逊

平平无奇爱好科技

全功能笔记工具:Keep It激活最新版

胖墩儿不胖y

Mac软件 笔记工具

Python编辑开发推荐 pycharm pro 激活中文最新版附激活码

mac大玩家j

Mac软件

关于征集金融业人工智能平台标准参编单位的通知

中国信通院AI Infra工作组

Intellij IDEA快捷键大全(超详细)

小齐写代码

ToB企业的财务核算利器——智能收款认领中心!

用友BIP

智能收款

比特币有助减少腐败;微软 Copilot 每月赔 20 美元;AIGC 明年会“洗冷水澡”丨 RTE 开发者日报 Vol.64

声网

如何通过高级流量管理提高 Kubernetes 的弹性

NGINX开源社区

Kubernetes 微服务 nginx 开源版

华为云API对话机器人CBS的魅力—实现简单的对话操作

平平无奇爱好科技

客服订单详情页体验升级之路

得物技术

性能优化 前端 客服业务

KubeCon China 2023 | 拥抱开源,华为云原生华彩绽放

华为云开发者联盟

开源 云原生 后端 华为云 华为云开发者联盟

OpenJDK17-JVM源码阅读-ZGC-并发标记 | 京东物流技术团队

京东科技开发者

ZGC 并发标记 企业号10月PK榜 JVM源码

Spring Boot 项目中 Bean 注入的方式介绍

Apifox

Java Spring Boot annotation bean Spring Boot bean

基于Effect的组件设计 | 京东云技术团队

京东科技开发者

前端 React Hooks 企业号10月PK榜 effect

软件测试/测试开发丨为什么接口自动化测试是提升职业技能的关键

测试人

Python 程序员 软件测试 接口测试 接口自动化

用友BIP,助力装备制造企业数智化转型

用友BIP

制造 数智化

办公必备Microsoft 365 for Mac(原Office 365)

展初云

Office Mac软件

九章云极DataCanvas公司入选《AIGC产业链北京专精特新企业图谱》

九章云极DataCanvas

WiFi Signal for Mac(wifi管理神器) 4.4.10永久激活版

mac

苹果mac Windows软件 WiFi Signal WiFi信号强度监测工具

浅谈互联网系统监控体系

老农小江

互联网 微服务 监控

关于征集《人工智能开发平台通用能力要求 第4部分:大模型技术要求》标准参编单位及参与专家的通知

中国信通院AI Infra工作组

SRE实战:如何低成本推进风险治理?稳定性与架构优化的3个策略

TakinTalks稳定性社区

华为云API文字识别OCR的高效性—AI中名副其实的电子眼

平平无奇爱好科技

Linux内核发展史(二):Unix操作系统_服务革新_华为云开发者联盟_InfoQ精选文章