Linux的起源

简介: Linx 起源和发展是一段令人着迷的历史。 这里面包含着太多颠覆“常理”的事件和 思想,促成 Linux 成长壮大的“神奇”力量总是被人津津乐道,Linux所创造的传奇有时候让初次接触它的人感到不可思议。

Linux的起源


1991 年,一个名不见经传的芬兰研究生购买了自己的第一台 PC,并且决定开始开发自己的操作系统。这个想法非常偶然,最初只是为了满足自己读写新闻和邮件的需求。这个芬兰人选择了 Minix 作为自己研究的对象。Minix 是由荷兰教授 Andrew S. Tanenbaum开发的一种模型操作系统,这个开放源代码的操作系统最初只是用于研究目的。

这个研究生名叫 Linus Torvalds,他很快编写了自己的磁盘驱动程序和文件系统,并且慷慨地把源代码上传到互联网上。Linus把这个操作系统命名为Linux,意指“Linus的Minix(Linus'Minix)。

Linus 根本不会想到,这个内核迅速引起了全世界的兴趣。在短短的几年时间里,借动社区开发的推动力Linux 迸发出强大的生命力。1994 年,1.0 版本的 Linux 内核正式发布。本书写作时,最新的稳定内核版本为 2.6.27。

Linux 目前得到了大部分 IT 巨头的支持,并且进入了重要战略规划的核心领域。一个非盈利性的操作系统计划能够延续那么多年,并且最终成长为在各行各业发挥巨大影响力的产品,本身就让人惊叹。在探究这些现象背后的原因前,首先来看一下 Linux 和 UNIX之间的关系,这两个名词常常让人感到有些困惑。


追溯到UNIX


UNIX的历史需要追溯到遥远的 1969年,最初具只是AT&T贝尔实验室的一个研究项目。10年后,UNIX 被无偿提供给各大学,由此 UNIX 成为众多大学和实验室研究项目的基础。

尽管 UNIX 被免费提供,但获取源代码仍然需要向 AT&T交纳一定的许可证费用。1977年,加州大学伯克利分校的计算机系统研究小组(CSRG)从 AT&T 获取了 UNIX 的源代高,经过改动和包装后发布了自己的 UNIX 版本--伯克利UNIX(BerkeleyUNIX),这人发行版通常被称为BSD,代表Berkeley Software Distribution(伯克利软件发行版)。

随着UNIX在商业上的蓬勃发展,AT&T的许可证费用也水涨船高。伯克利于是决定 BSD 中彻底除去 AT&T 的代码。这项工程持续了一年多。到 1989 年6月,一个完全没有 AT&T Unix 代码的 BSD 版本诞生了。这是第一套由 Berkeley发布的自由可再发行 freely-redistributable)的代码,所谓的“自由”颇有些“你知道这是我的东西就可以了”的味道。只要承认这是 Berkeley 的劳动成果,那么任何人就可以以任何方式使用这些源代码。

1995 年 6 月,4.4BSD-Lite 发行,但这也是 CSRG 的绝唱。此后,CSRG因为失去资金支持而被迫解散。但 BSD 的生命并没有到此终结。目前大多数的 BSD UNIX的版本,例如 FreeBSD、OpenBSD 等都是从 4.4BSD-Lite发展过来的,并且延续了它的许可证协议。

与此同时,另一些 UNIX 版本则沿用了 AT&T 的代码,这些 UNIX 系的操作系统包括 HP-UX、Solaris等。

简单地说,Linux是对 UNIX 的重新实现。世界各地的 Linux 开发人员借鉴了 UNIX的技术和用户界面,并且融入了很多独创的技术改进。Linux 的确可以被称作 UNIX 的一个变体,但从开发形式和最终产生的源代码来看,Linux 不属于 BSD和 AT&T风格的 UNIX中的任何一种。因此严格说来,Linux 是有别于 UNIX 的另一种操作系统。


dc24d82bf9031d5534661b5253968db.png


影响世界的开源潮流


Linux 的发展历程看起来是一个充满传奇色彩的故事。特别是,为什么有如此多的人向社区贡献源代码,而不索取任何酬劳并任由其他人免费使用?“因为他们乐于成为一个球协作努力活动的一部分”,Linus 这样回答说。开源成为了一种全球性的文化现象,无数的程序员投身到各种开源项目中,并且乐此不疲。

事实上,社区合作已经成为了被广泛采用的开发模式。Linux、Apache、PHP、Firefox等业界领先的各类软件产品均使用了社区开发模式并采用某种开源许可协议。包括 Sun、 IBM、Novell、Google 甚至 Microsoft 在内的很多商业公司都拥有自己的开放源代码社区。

有意思的是,开放源代码的思想不仅仅根植于程序员的头脑中,更重要的是,社区合作演变成为了一种互联网文化。见证了维基百科等产品的巨大成功,人们发现,用户创造内容这种所谓的 Web 2.0 模式从本质上是同开源思想一脉相承的。

已经有了多种不同的开放源代码许可证协议,包括 BSD、Apache、GPL、MIT、LGPL等。其中的一些比较宽松,如 BSD、Apache 和 MIT,用户可以修改源代码,并保留修改部分的版权。Linux 所遵循的 GPL 协议相对比较严格,它要求用户将所作的一切修改回贵社区。关于开源协议的讨论常常是一个法律问题,一些法律系的学生会选择这方面的主题作为自己的毕业论文。在百度中输入关键字“开源协议”可以得到非常详尽的解答。


GNU公共许可证:GPL


GNU 来源于20 世纪 80 年代初期,Richard Stallman 在软件业引发了一场革命。这个人坚持认为软件应该是“自由”的,软件业应该发扬开放、团结、互助的精神。这种在当时看来离经叛道的想法催生了 GNU 计划。截至1990 年,在 GNU 计划下诞生的软件包括字编辑器 Emacs、C 语言编译器 gcc 以及一系列 UNIX 程序库和工具。1991 年,Linux的加入让 GNU 实现了自己最初的目标--创造一套完全自由的操作系统。

GNU 是 GNU's Not UNIX(GNU 不是 UNIX)的缩写。这种古怪的命名方式是计算机专家们玩的小幽默(如果觉得这一点都不好笑,那么就不要勉强自己)。GNU 公共许可证(GNU Public License,GPL)是包括 Linux在内的一批开源软件遵循的许可证协议。下面来关心一下 GPL 中到底说了些什么(这对于考虑部署 Linux 或者其他遵循 GPL 的产品的企业可能非常重要)。概括说来,GPL 包括下面这些内容:

软件最初的作者保留版权。

其他人可以修改、销售该软件、也可以在此基础上开发新的软件,但必须保证这份源代码向公众开放。

经过修改的软件在使用中引起了损失,开发人员不承担相关责任。

完整的GPL协议可以在互联网上通过各种途径如GNU的 官方网站获得,GPL协议已经被翻译成中文,读者可以在百度中搜索“GPL”获得相关信息


相关文章
|
存储 Ubuntu 小程序
操作系统分类和Linux系统版本及起源| 学习笔记
快速学习操作系统分类和Linux系统版本及起源
320 0
操作系统分类和Linux系统版本及起源| 学习笔记
|
Unix Linux Shell
|
Ubuntu Unix Shell
《Linux C编程从入门到精通》——第 1 章 Linux基础 1.1Linux的起源、发展和分类
Linux是一套免费使用和自由传播的类UNIX操作系统,它已发展成为现今世界上最流行的一种操作系统。Linux不仅仅能在PC机上运行,随着嵌入式系统的发展,它已经被广泛地应用于各种场合。
1633 0
|
7天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
63 6
|
8天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
34 3
|
8天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
26 2
|
15天前
|
缓存 监控 Linux
下一篇
无影云桌面