《Linux系统编程之入门基础》【Linux的前世今生】
【Linux的前世今生】目录
- ---------------前言---------------
- 一句话概括Linux到底是个什么东西?
- 如何获取Linux的内核源代码?
- ---------------前世---------------
- 1980 年代:不自由的土壤,催生反抗的种子
- Unix的诞生与统治 (1969 - 1980s)
- GNU的雄心与壮志 (1983 - 1991)
- Minix的启发与局限 (1987 - 1991)
- ---------------诞生---------------
- 1991 年:一封邮件,一颗Linux种子落地
- 一个学生的爱好 (1991)
- 那个著名的公告 (1991年8月25日)
- 这个名字的由来
- ---------------今生---------------
- 第一章:星星之火,可以燎原 (1991 - 1992)
- 第二章:发行版的诞生与商业的萌芽 (1993 - 1990s 末)
- 第三章:企业级认可与互联网狂潮 (1990s 末 - 2000s 初)
- 第四章:开枝散叶,无处不在 (2000s - 至今)
- 最终章:传奇仍在继续
- ---------------结语---------------
hi ~,小伙伴们大家好啊!(ノ≧∀≦)ノ
叮叮叮 ~鼠鼠来晚了吗?(・ω・)ノ,啊让你久等了!哈哈,那真是太棒了!(≧▽≦)
哦不是,鼠鼠的意思是,真的很抱歉让你久等了,不过鼠鼠又回来啦 ~╰(✿´∀`✿)╯
啊,什么你说鼠鼠是如约而至!天呐,你难道就是……啊,好幸福啊!!!(゚∀゚)☆
那就让我们在10月10日这天开启一个不知道什么时候才会完结的Linux之旅吧。(ง •̀_•́)ง🐧
---------------前言---------------
一句话概括Linux到底是个什么东西?
Linux
:是一个开源
、免费
、类Unix
的 操作系统内核,由 林纳斯·托瓦兹(Linus Torvalds) 于 1991 年在芬兰赫尔辛基大学首次发布。
“类Unix”指的是:在核心行为、功能逻辑、用户交互方式上高度贴近原始 Unix 系统,但完全未使用 Unix 源代码,通过独立开发实现兼容效果的操作系统。
- 它不仅是全球最重要的服务器操作系统
- 还广泛应用于个人电脑、嵌入式设备、超级计算机和移动设备(如:Android)等领域
🐧(Linux 吉祥物:企鹅 Tux)
如何获取Linux的内核源代码?
上面我们提到了Linux是开源免费的,这也就意味着我们可以免费的获取到Linux的源代码。
那问题来了:我们应该怎么获取Linux的源代码呢?
获取Linux内核源代码的官方网站:The Linux Kernel Archives
Linux 内核的版本名称(版本号命名规则)在不同发展阶段有明显差异
主要可分为以下几个时期:
一、早期版本(0.01 - 1.0,1991-1994)
这是 Linux 内核的初创阶段,版本号以简单的递增方式命名,从最初的 0.01 版本开始,逐步迭代到 0.10、0.11…… 直到 1994 年发布 1.0 版本。
- 此阶段版本号仅体现开发进度,无复杂规则,重点是内核的基础功能搭建
二、1.0 - 2.6 版本(1994-2004)
版本号采用
“A.B.C”
三段式结构:
- A(主版本号):仅在 kernel 发生 “重大架构级变化” 时更新(如:1.0→2.0,1996 年)
- B(次版本号):核心区分
“稳定版”
和“开发版”
偶数 B 稳定版
:面向生产环境,仅修复 bug 和更新驱动(如:2.4、2.6)奇数 B 开发版
:用于测试新特性,不稳定(如:2.3、2.5)- C(修订号):记录小幅度更新(如:
bug 修复
、安全补丁
、驱动新增
等),随更新递增(如:2.4.1、2.6.32)
三、2.6 之后(2004 年至今):时间驱动的版本命名
2004 年 2.6.0 发布后,内核放弃了 “奇数开发 / 偶数稳定” 的规则,改为按时间周期更新,
版本号结构进一步简化:
- 2.6.x 系列(2004-2011):
- 保留 “2.6” 作为前两位,第三位 x 随每次更新递增(如:2.6.1、2.6.39)
- 不再区分开发/稳定,而是通过 “长期支持版(LTS)” 标记适合长期使用的版本(如:2.6.32 LTS)
- 3.0 及以后(2011 年至今):版本号简化为“A.B.C”:
- A 和 B 合并为 “主版本号”,随大版本迭代递增(如:3.0→4.0→5.0→6.0)
- C 为修订号,记录小更新(如:6.1.1)
- 稳定性通过 “LTS” 标记(如:5.15 LTS、6.1 LTS,支持周期通常为 5-10 年)
---------------前世---------------
1980 年代:不自由的土壤,催生反抗的种子
Unix的诞生与统治 (1969 - 1980s)
故事要从 1969 年讲起,贝尔实验室的 肯·汤普森(Ken Thompson) 和 丹尼斯·里奇(Dennis Ritchie) 为了解决当时大型机系统的复杂与低效,在一台闲置的 PDP-7 小型机上开发了 Unix操作系统
Unix的设计理念 ——“
简洁
、模块化
、可移植
(用 C 语言而非汇编编写,首次实现跨硬件移植)和多用户多任务特性
”—— 彻底改变了操作系统的发展方向1970 年代,贝尔实验室的母公司 AT&T 因反垄断法限制不得进入计算机市场,Unix 被免费授权给高校和研究机构,逐渐形成了丰富的生态(如:加州大学伯克利分校的 BSD 分支)
1980 年代 AT&T 解除限制后,开始对 Unix 收费并收紧授权,导致商业版本(如:Sun 的 Solaris)与开源分支(如:BSD)分裂,自由使用和修改 Unix 的时代结束
GNU的雄心与壮志 (1983 - 1991)
这一背景催生了
自由软件运动
,1983年,麻省理工学院(MIT)的理查德·斯托曼(Richard Stallman)发起了GNU项目
,目标是开发一个完全自由
、类Unix
的操作系统。他的动机是反对专有软件的封闭性,倡导软件自由(自由使用
、学习
、修改
、分发
)
- GNU项目开发了大量高质量的、自由的开源工具和组件:GCC编译器、Glibc库、Bash shell命令行解释器、Emacs文本编辑器、以及无数核心工具(ls, cp, grep, sed, awk等)
- 到1990年代初,GNU项目几乎拥有了一个完整操作系统所需的所有部件——除了最关键的核心:操作系统内核本身(操作系统的核心,负责管理硬件资源),因为他们的Hurd内核开发进展缓慢且复杂
Minix的启发与局限 (1987 - 1991)
1987 年,荷兰的阿姆斯特丹自由大学教授安德鲁·塔能鲍姆为了教学目的开发了Minix操作系统,一个
精简的
、类Unix的
操作系统,能在当时流行的 IBM PC 上运行。
Minix 的源码是开放的(但版权受限,不允许自由修改和再分发)
Minix在计算机科学教育中非常流行,吸引了大量爱好者,其中就包括一位芬兰赫尔辛基大学的学生——林纳斯·托瓦兹
---------------诞生---------------
1991 年:一封邮件,一颗Linux种子落地
一个学生的爱好 (1991)
1991 年,芬兰赫尔辛基大学的学生林纳斯・托瓦兹(Linus Torvalds) 对 Minix 非常着迷。
他渴望在自己的 386 PC 上获得一个
更强大
、更自由
的类 Unix 体验,于是他想为 Minix 添加新功能,却受制于其严格的许可条款(作者安德鲁·塔能鲍姆不允许用户自由修改)失望之余,他决定干脆自己从头写一个新的操作系统内核
那个著名的公告 (1991年8月25日)
1991年夏天,林纳斯开始动手编写操作系统的内核。8月25日,林纳斯在Minix新闻组里发了封 “求助信”,语气有点腼腆:
“各位 Minix 用户,我正在写一个免费的操作系统,只是个人爱好,不会像 GNU 那么庞大…… 现在已经能运行 bash(GNU 的 shell)和 gcc 了,需要反馈。有兴趣的可以留邮箱,我发源码给你们。”
这个帖子标志着一个新时代的开始,他发布了最初非常简陋的0.01版本(甚至不能独立启动,需要依赖Minix环境)
这个名字的由来
林纳斯最初想给自己的项目起名叫
“Freax” (Free + Freak + Unix/X) ---> 中文:怪物
- 负责托管早期代码的 FTP 服务器管理员阿里·莱姆克觉得这个名字不好听,自作主张在服务器上创建了一个名为
linux
(取自Lin
us + Minux
/Unix
) 的目录来存放代码- 林纳斯一开始不喜欢,觉得 “太自大”,但最终还是接受了这个更响亮的名字——Linux 就此诞生
---------------今生---------------
第一章:星星之火,可以燎原 (1991 - 1992)
开源协作:早期的互联网(Usenet 新闻组、邮件列表)成为全球协作的催化剂。
林纳斯开放了开发过程:
- 任何人都可以阅读代码
- 任何人都可以报告 Bug
- 任何人都可以提交补丁(Patch)
林纳斯扮演着“仁慈的独裁者”,负责审阅和合并高质量的代码。
这种前所未有的 “集市”开发模式爆发出惊人的能量。从最初只有林纳斯一人维护,到如今全球数万开发者贡献代码,Linux 内核以令人目眩的速度发展和成熟。
GPL许可证的抉择:早期版本的 Linux 许可证比较宽松,但在 1992 年初,林纳斯做出了一个关键性决定:采用 GNU GPL(GNU 通用公共许可证)许可证发布 Linux 内核。
这意味着:
- Linux 内核本身是彻底自由的
- 任何基于 GPL 代码修改或衍生的作品也必须以 GPL 发布(Copyleft 精神)
GNU + Linux = 完整的操作系统:这个决定产生了神奇的化学反应。
- GNU 项目:拥有几乎所有操作系统组件(编译器、工具、库、Shell),唯独缺少一个成熟的内核
- Linux 项目:提供了一个功能日益完善、性能不错且采用 GPL 的自由内核
完美结合 :将 GNU 的丰富组件与 Linux 内核结合起来,一个
完整的
、自由的
、类Unix
的操作系统 终于成为了现实!
虽然严格来说应该叫
GNU/Linux 系统
(斯托曼一直坚持),但“Linux” 这个名字因其简洁和内核的核心地位,最终被更广泛地接受和传播。
Linux 的爆发源于两个关键选择:开源协作 + 兼容GNU工具
Linux 的成功不仅是技术的胜利,更代表了开源协作模式的可行性。林纳斯曾说:
“开源的优势在于,有足够多的眼睛,所有漏洞都无处遁形。”
第二章:发行版的诞生与商业的萌芽 (1993 - 1990s 末)
从内核到系统:对于普通用户而言,仅有操作系统内核和 GNU 工具是远远不够的。
- 毕竟,没有图形界面,安装系统时还得手动敲入几十行命令,甚至连鼠标操作都不支持
- 而用户真正需要的是一个易于
安装
、配置
和管理
的完整系统包
,并且这个系统包要包含常用的软件
发行版登场:不同组织将 Linux 内核与软件打包,形成 发行版(Distros)
- 发行版的差异主要体现在这些
组件的选择
、定制化程度
以及目标用户群体
上。Linux 发行版 =
Linux 内核
+GNU 基础工具
+软件包管理
+桌面/服务器配置
+社区/商业支持
- 1993年:一个叫Patrick Volkerding的人把 Linux内核和 GNU工具打包,做成了第一个 “发行版”
Slackware
,普通人终于不用从零编译代码了- 同年:
Debian
发行版诞生,由 Ian Murdock 发起,他搞了套 “社区投票” 机制,谁来维护、加什么功能,大家说了算,成了开源治理的典范- 1994年:
Red Hat
由 Marc Ewing 和 Bob Young 创立。他们不仅打包发行版 (Red Hat Linux),更重要的是开始提供商业支持和服务,探索开源软件的商业模式- 1994年:
SUSE
在德国成立 (最初基于 Slackware)- 2004年:
Ubuntu
发布(基于 Debian,主打易用性)- …………
许多发行版并非完全独立开发,而是基于某个 “母版” 衍生,形成家族体系。
最主要的两大分支是:
分支核心 | 代表发行版 | 软件包管理工具 | 特点 |
---|---|---|---|
Debian 系 | Debian 、Ubuntu Linux Mint 、Kali | APT(.deb 包) | 软件库丰富 用户基数大 |
Red Hat 系 | RHEL 、CentOS Fedora 、AlmaLinux | RPM(.rpm 包) | 企业级支持完善 稳定性强 |
到 1990 年代末,互联网爆发,Linux 因为 “
免费
、稳定
、能跑在廉价服务器上
”,成了网站的首选。
- 雅虎、亚马逊都悄悄换成了 Linux
- 谷歌早期的服务器更是塞满了跑 Linux 的廉价电脑
“集市”模式的胜利:Linux 的发展模式彻底颠覆了传统闭源软件的 “大教堂”模式(由少数精英在内部秘密开发)。
这种开放
、协作
、快速迭代
的 “集市”模式被证明在复杂系统开发中具有惊人的效率和创新能力。
第三章:企业级认可与互联网狂潮 (1990s 末 - 2000s 初)
巨头的拥抱: 许多闭源软件公司开始拥抱开源模式,成立了“开放源代码促进会”,开源概念得到更广泛传播和商业认可。
- 1998年:网景公司 (Netscape) 在微软浏览器的强大竞争压力下,宣布将其 Navigator 浏览器的源代码开源(Mozilla 项目),引发巨大轰动,
让“开源”概念首次大规模进入商业视野
- 同年:
“开放源代码促进会” (OSI) 成立
,试图用更商业友好的术语推广开源理念- 1999年:多家重量级公司纷纷宣布支持 Linux:
- IBM:宣布将投入大量资源支持 Linux 在其服务器上的应用
- Oracle:宣布将其旗舰数据库产品移植到 Linux, Oracle 的埃里森说:
“Linux 比 Windows 可靠 10 倍。”
- 英特尔、惠普 等硬件巨头也加入支持行列,巨头们的加入,让 Linux 有了钱搞研发,支持更多硬件,连银行、电信这些 “保守派” 也开始用它跑核心业务
- 2000年:震撼世界的赌注:IBM 宣布砸 10 亿美元支持 Linux! 这是对企业级 Linux 应用的巨大背书,彻底打消了市场的疑虑
- 要知道 IBM 自己就有 Unix 系统(AIX),这波操作让业界懵了,但 IBM 的算盘很精:Linux 能帮它卖服务器硬件,还能对抗微软的垄断,有时候开源并非单纯的技术共享,更像是巨头资本之间博弈的重要手段
LAMP 栈的崛起:Linux 凭借其稳定性、高性能和高性价比,成为运行互联网基础设施的理想平台。
- 它与
Apache
(Web服务器)、MySQL
(数据库)、PHP/Perl/Python
(动态网页脚本语言) 组成了黄金搭档——LAMP 栈,成为构建网站
和Web应用
的基石- 无数初创公司和互联网巨头(如:Google 早期的基础设施)都建立在 Linux 之上
服务器市场的攻城略地: Linux 开始在企业服务器市场(尤其是 Web 服务器、文件服务器、数据库服务器)快速取代昂贵的 Unix 专有系统(如:Solaris, AIX, HP-UX)和不太可靠的 Windows NT 服务器,市场份额节节攀升。
这时候的林纳斯,已经从学生变成了 “Linux 教皇”。他搞了套 “独裁式民主” 管理内核:所有人都能提代码,但最终拍板权在他手里。
他脾气直,看到烂代码会骂 “这是我见过最蠢的设计”,但没人不服 —— 因为他只认代码质量,不认公司大小。
有次英特尔的工程师提交代码,被他怼回去:
“别拿你们公司名头压我,代码不行就是不行。”
第四章:开枝散叶,无处不在 (2000s - 至今)
移动霸主:Android (2008 - ):
2005 年,谷歌收购了成立仅 22 个月的 Android Inc.
2007 年,谷歌联合多家厂商成立开放手机联盟 (OHA)
2008 年,第一款 Android 手机 HTC Dream (G1) 发布。基于 Linux 内核 的 Android 系统凭借其开放性、灵活性和谷歌服务的整合,迅速席卷全球智能手机市场,成为当之无愧的霸主。
这是 Linux 在终端用户设备上最广泛、最成功的应用(尽管用户通常意识不到)
云计算与容器化的基石 (2010s - ):
- 云计算:亚马逊 AWS、微软 Azure、谷歌云平台 (GCP)、阿里云等全球主流云服务商的
虚拟机服务
和底层基础设施
,绝大部分都运行在 Linux 上,Linux 是云计算的隐形骨架- 容器革命:
- Docker (2013) 的出现彻底改变了
应用打包
和部署的方式
- 其核心技术(命名空间 Namespaces、控制组 Cgroups)直接依赖于 Linux 内核 的特性
- 容器编排之王 Kubernetes (K8s, 2014) 更是
构建
和管理
大规模分布式应用的行业标准
- 它们都运行在 Linux 集群之上,Linux 是云原生时代的绝对核心
超级计算机的心脏:
- 自 1990 年代末开始,Linux 逐渐统治了超级计算机领域
- 近二十年来,全球 TOP500 超级计算机榜单上,超过 90% 甚至 100% 的系统都运行着 Linux
嵌入式的世界: Linux 凭借其
可裁剪性
、稳定性
、强大的网络功能
和丰富的驱动支持
,广泛应用于:
- 路由器、交换机等网络设备
- 智能电视、机顶盒等消费电子
- 汽车信息娱乐系统、车载控制系统
- 工业自动化控制器、机器人
- 物联网 (IoT) 网关和设备
- 智能手表、电子阅读器
- ………………
Linux 已经嵌入到我们数字生活的方方面面。
桌面的坚持与演进: Linux 桌面环境(如:GNOME, KDE Plasma)在易用性、美观度和软件生态上取得了巨大进步。
- Ubuntu, Fedora, Linux Mint 等发行版为普通用户提供了良好的选择
- 虽然市场份额仍远小于 Windows 和 macOS,但在开发者、系统管理员、隐私/安全关注者、教育机构以及特定地区(如:一些欧洲国家政府部门)中拥有稳定且忠实的用户群
- Valve 的 Steam Deck 掌机运行基于 Arch Linux 的 SteamOS,也为 Linux 游戏生态带来了新活力
如今的 Linux 内核,已经有超过 3000 万行代码,由全球数万开发者共同维护。林纳斯早就不写代码了,转而盯着 “代码质量”,他说:
“我最大的贡献不是写了 Linux,而是建立了一套让大家能一起把它做好的规则。”
最终章:传奇仍在继续
今天(2025年),Linux 的故事远未结束:
- 内核长青: 林纳斯·托瓦兹仍然是 Linux 内核开发的最终仲裁者,一个庞大而活跃的全球开发者社区,在严格的代码审查流程下:
- 持续不断地
推动内核演进
,支持新硬件
(AI加速器、新架构)、提升性能
、增强安全
(如:eBPF 技术)和完善功能
- 统治性地位:在服务器、云计算、超级计算、移动设备(Android)、嵌入式系统领域,Linux 已确立了无可争议的统治性地位。
- 开源协作的典范:Linux 是历史上最大、最成功的开源协作项目之一,它证明了开放、透明、社区驱动的开发模式能够创造出世界级、改变世界的软件。
- 无处不在的隐形基石:从你口袋里的手机,到你访问的网站背后的服务器,再到街头的智能设备,甚至遥远的太空探测器,Linux 作为数字世界的隐形基石,默默地支撑着我们的现代生活。
---------------结语---------------
总结:Linux 的历史是一个现代科技神话。
它始于一个21岁学生解决个人需求的“小爱好”,在互联网的东风和自由软件精神的感召下,通过全球开发者社区的智慧和热情,奇迹般地成长为一个驱动全球信息基础设施的巨人
它挑战了商业软件的垄断,证明了协作与开放的力量,并深刻地重塑了整个计算产业的面貌
这个故事关于技术,更关于人、理想和可能性。