网易首页 > 网易号 > 正文 申请入驻

Linux内核往事

0
分享至

OSCHINA

我叫 Lars Wirzenius,见证了 Linux 的起步。Linux 如今在全球取得了巨大成功,但它诞生之初却非常不起眼。

以下是我对 Linux 最早期的记忆,关于它如何被创建 —— 这也是 Linux 达成如今地位的起点。

我在 1988 年秋季开始了在赫尔辛基大学计算机科学专业的学习,那年我还遇到了 Linus Torvalds,他是那年计算机科学系另一位说瑞典语的新生。在那年的尾声,我们获得了访问 Unix 服务器的权限,我因为误将rm输入为rn(Usenet 阅读器的缩写)而意外发现了 Usenet 这个讨论系统。

我把这件事告诉了 Linus,然后我们花了很多时间来探索这个系统。

一年后,我们都去参加了义务兵役,但在不同的地方。我们在 1990 年秋天回到了大学继续学业,并都选择了 C 和 Unix 编程课程,这门课程还包括相当一部分 Unix 内核架构的理论。这促使我们阅读了其他操作系统的内核,比如 QNX 和 Plan 9。我和 Linus 热情地讨论了操作系统应该如何正确构建。我们有着 20 岁大二学生的那种过度自信,所幸这件事没有被记录下来流传后世。

1991 年 1 月,Linus 在当地一家组装电脑零件的商店购买了他的第一台个人电脑。这台电脑配备了一款 386 CPU,在当时算是相当高级的,因为 Linus 想探索多任务处理。

此外,由于他从一台配备 32 位 Motorola 68008 CPU 的辛克莱尔 QL电脑迁移过来,他想要一个 32 位的 CPU,不想降级到 16 位,因此 286 并不是一个选择。Linus 的第一台个人电脑拥有惊人的 4 兆字节 RAM 和一个硬盘。

他获得了一份《波斯王子》游戏的副本,这占据了接下来几个月他大部分的空闲时间。后来,他还购买了一份MINIX,因为在大学使用过 Unix 后,他想在家里也拥有类似的东西。

字母 A 和字母 B

完成游戏后,Linus 开始学习英特尔汇编语言。有一天,他向我展示了一个多任务处理的程序。一个任务或线程会在屏幕上写入字母 "A" 的流,另一个写入 "B";当 "A" 的流变为 "B" 的流时,上下文切换在视觉上非常明显。这就是后来被称为 Linux 内核的第一个版本。

后来,Linus 扩展了这个程序,并用 C 语言编写了大部分。在 1991 年晚春的这个时期,我为 Linus 编写了一个 C 语言的sprintf()函数的实现,因为他还没有学会如何编写带有可变参数列表的函数。我想让他免受为每种要写入的值编写不同函数的痛苦。这段代码的核心仍然在内核中,作为 snprintf ()。

随着时间的推移,Linus 不断改进他那初出茅庐的内核,并持续实现新功能。不久之后,他编写了键盘和串行端口的驱动程序,屏幕上实现了对VT100终端转义序列的模拟,并且可以使用它通过调制解调器从家中拨打电话到大学,以读取 Usenet。这简直就是科幻小说中的情节!

有一天,Linus 不小心尝试使用他的硬盘来拨打电话到大学,结果导致他的主引导扇区以"ATDT"和大学调制解调器电话号码开始。从这次事故中恢复过来后,他在内核中实现了文件权限功能。

1991 年 8 月,Linus 在 首次公开提及他的新内核 的地方,即在 comp.os.minix 新闻组中,提到了这句话:“我正在做一个(免费)操作系统(仅作为爱好,不会像 GNU 那样庞大和专业)”,如此谦逊。

该系统最初被称为 Freax。几周后,Linus 请求 ftp.funet.fi 管理员之一 Ari Lemmke 上传第一个 tar 存档。Ari 选择了 Linux 这个名字。最初的版本仍然在其中一个源文件中保留了原始名称。

在这段时间里,人们对尝试这个新事物很感兴趣,因此 Linus 需要提供一种安装方法和说明。由于他只有一台个人电脑,所以他来到我家安装。由于他的电脑一直被用来开发 Linux,而这只是在他 Minix 安装的基础上简单扩展的,所以它实际上从未真正安装过。

因此,我的电脑是 Linux 第一次安装的 PC。当这一切发生的时候,我正在睡觉,我推荐这种安装 Linux 的方法:睡觉,而 Linus 做艰苦的工作。

Linux 的第一个版本使用了一种禁止商业使用的许可证。一些早期的贡献者建议改为使用免费软件许可证。

1991 年秋天,RMS 访问了芬兰,我带 Linus 去听了 RMS 的演讲。这次演讲,贡献者的压力以及我的纠缠最终说服了 Linus 在 1992 年初选择 GNU GPL 许可证。

圣诞节假期期间,Linus 在 Linux 中实现了虚拟内存。这使得 Linux 成为在内存有限的廉价机器上更加实用的操作系统。

1992 年

1992 年伊始,发生了一场著名的与 Andrew Tanenbaum 的辩论,Andrew Tanenbaum 是一位大学教授,也是 MINIX 的作者。他对 Linux 及其架构持有一些看法。Linus 也对 MINIX 有自己的观点。这场辩论被描述为一场激烈的争吵,但从后来看,实际上相当文明。

对 Linux 未来成功更为重要的是,X11 系统被移植到了 Linux 上,使得 1992 年成为了 Linux 桌面的元年。

我选择在社区方面贡献力量,而不是直接参与内核开发,帮助回答问题、编写文档等。我还创办了一份关于 Linux 的简短新闻通讯,其中最有趣的是发表了第一次采访 Linus 的文章。这份新闻通讯后来被 comp.os.linux.announce 新闻组所取代。

第一个 Linux 发行版也是在 1992 年开始的:Softlanding Linux System或 SLS。第二年,SLS 演变成了 Slackware,这激发了 Ian Murdock 在 1993 年创办 Debian,旨在探索更基于社区的开发结构。在接下来的几年里,还会出现其他一些发行版。

1993 年,我和 Linus 都被大学聘为教学助理。我们得以共用一间办公室。那个房间里有一台 PC,Linus 接管了它,用于 Linux 开发。我则对 DEC 终端用于访问 Usenet 感到满意。

有一天,Linus 感到无聊,工作中的电脑运行得有点慢。他花了一整天的时间用汇编语言重写了 Linux 内核的命令行解析器,为了提高速度。(当然,这完全是徒劳的,解析器后来又用 C 语言重新编写,以便于移植。其速度并不重要。)

几年后,他花了好几天的时间玩《Quake》,表面上是为了测试内核内存管理,尽管那时用的是一台更新的电脑。那个房间里玩得很开心,而且没有任何恶作剧。完全没有。

在某一点上,Linux 获得了对以太网和 TCP/IP 的支持。这意味着人们可以不用调制解调器就能阅读 Usenet。然而,早期的 Linux 网络代码有时有点粗糙,因为它们是从零开始编写的。

有一次,Linux 发送了一些损坏的包,导致网络上的所有 Sun 机器都崩溃了。由于修复 Sun 内核很困难,Linux 被禁止在大学网络中使用,直到其错误被修复。无法从自己的办公桌访问 Usenet 是一个极大的动力。

1.0

在 1994 年的春天,我们觉得 Linux 已经完成了,结束了,没有更多可以添加的了。人们可以用 Linux 来编译它自己,阅读 Usenet,同时运行许多个 xeyes 程序。

我们决定发布 1.0 版本,并安排了一场发布活动,邀请了芬兰的计算机媒体,甚至有一个电视台派出了摄制组。大部分活动都是仪式性地在后台编译 Linux 1.0,同时 Linus 和其他人谈论 Linux 是什么,以及它的优点。Linus 解释说,PC 上的商业 Unix 系统如此昂贵,以至于自己编写一个更简单。

在 1995 年,我和 Linus 在大学里上了一个软件工程课程,这个课程主要由一个大型实践项目组成。当然,这个项目是基于 Linux 构建的。我坚持要使用版本控制系统。我曾目睹在早期课程中的学生进行一种嘈杂的版本控制:学生们通过 NFS 共享源代码树,在修改文件时会大声喊 “我在编辑这个文件”。

在我看来,这并不是一个有效的办法,所以我坚持使用 CVS,这是我刚刚了解到的。但正是这次经历让 Linus 不喜欢 CVS,并且多年来拒绝使用任何超出上传 tar 包到 FTP 站点的版本控制工具。

那年也是 Linux 首次被 Linus 移植到新架构的时候。他得到了一台 DEC Alpha 机器。我后来用这台机器作为终端来阅读 Usenet。其他人也将 Linux 移植到其他架构,但这并没有让我得到更多机器来阅读 Usenet。

在 1997 年,Linus 毕业后搬到了美国,在 Transmeta 公司找到了一份工作。我在赫尔辛基地区的一家不同大学找到了一份工作。

在接下来的几年里,发生了许多事情。结果是 Linux 仍然缺少一些功能,所以人们开始着手解决这些问题。“开源” 这个术语被创造出来,IBM 在 Linux 开发上投入了大量资金。Netscape 发布了一个开源的网页浏览器版本。

跳过一些细节,许多年后,开源基本上统治了世界。LWN 开始运营,并每周报道了这些历史事件。

在 1991 年,Linus 写道,Linux “不会像 GNU 那样变得庞大和专业”。到了 2023 年,Linux 运行在每一个大洲,每一个海洋,数十亿台设备上,在轨道上,甚至在火星上。

这对于最初只是两个讨论帖,在屏幕上写下一串 A 和 B 的项目来说,已经相当不错了。

本文翻译自:《The early days of Linux》

https://lwn.net/Articles/928581/

↓分享、在看与点赞~Orz

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
“治港败类”曾荫权:治理香港7年,为何却在卸任后,获刑20个月

“治港败类”曾荫权:治理香港7年,为何却在卸任后,获刑20个月

普览
2025-09-15 22:35:52
于朦胧好友聊天记录曝光!多次强调:能不喝就别喝,有事记得叫我

于朦胧好友聊天记录曝光!多次强调:能不喝就别喝,有事记得叫我

柠檬有娱乐
2025-09-16 11:00:34
22人冲突+主帅飙血!国安轮换10人战平越南球队:对方门将2次失误

22人冲突+主帅飙血!国安轮换10人战平越南球队:对方门将2次失误

风过乡
2025-09-18 22:32:23
43岁凯特穿黑衣好瘦,左手无名指上戴了5枚戒指,每一枚都有来头

43岁凯特穿黑衣好瘦,左手无名指上戴了5枚戒指,每一枚都有来头

照见古今
2025-09-18 19:10:07
《灼灼韶华》直到周燕举报韶华杀了陈二顺,才知程辉是她最大福星

《灼灼韶华》直到周燕举报韶华杀了陈二顺,才知程辉是她最大福星

手工制作阿歼
2025-09-18 14:07:55
国安轰亚冠2处子球!破亚冠主场6年球荒,池忠国建功,门将黄油手

国安轰亚冠2处子球!破亚冠主场6年球荒,池忠国建功,门将黄油手

奥拜尔
2025-09-18 21:29:46
内塔尼亚胡不装了,放话要报复中国,中方的回应,给美以提了个醒

内塔尼亚胡不装了,放话要报复中国,中方的回应,给美以提了个醒

天气观察站
2025-09-18 16:09:02
40个“一读就错”的成语,看到第一个我竟不敢说话了

40个“一读就错”的成语,看到第一个我竟不敢说话了

古典文学和诗词
2025-09-08 16:20:49
妈妈亲手缝的耐克书包火了,妈妈没钱买偷偷缝了个“假货”,耐克官方亲自送大礼!

妈妈亲手缝的耐克书包火了,妈妈没钱买偷偷缝了个“假货”,耐克官方亲自送大礼!

吃货的分享
2025-09-17 05:54:01
特朗普万万没想到,中方这次动了真格,对美下达一道“封杀令”?

特朗普万万没想到,中方这次动了真格,对美下达一道“封杀令”?

董董历史烩
2025-09-18 19:41:49
4-0!3-1!欧冠狂欢夜:利物浦绝杀马竞 拜仁掀翻切尔西 巴黎狂胜

4-0!3-1!欧冠狂欢夜:利物浦绝杀马竞 拜仁掀翻切尔西 巴黎狂胜

侃球熊弟
2025-09-18 03:48:16
中国股市:最好的休息,不是空仓,而是一生专注“只做一只股票”

中国股市:最好的休息,不是空仓,而是一生专注“只做一只股票”

一方聊市
2025-09-16 13:43:11
甚至鞋都没穿好!另一个角度看看战神刘玉栋活动随意的三分十连中

甚至鞋都没穿好!另一个角度看看战神刘玉栋活动随意的三分十连中

直播吧
2025-09-18 13:08:20
调岗不足3个月,温州一干部消失!

调岗不足3个月,温州一干部消失!

温百君
2025-09-18 20:37:50
“本店无预制菜,现点现做”,知名餐厅撤下现做招牌

“本店无预制菜,现点现做”,知名餐厅撤下现做招牌

大象新闻
2025-09-17 22:33:01
北京通惠河发现一男尸!

北京通惠河发现一男尸!

美丽大北京
2025-09-18 15:18:17
乾隆灭掉准噶尔,屠尽男丁灭族,对当时的世界造成了极大的震撼?

乾隆灭掉准噶尔,屠尽男丁灭族,对当时的世界造成了极大的震撼?

铭记历史呀
2025-09-17 17:52:21
华裔富豪包养68名情妇,欲娶外甥女为妻,被自己姐夫剁成108块

华裔富豪包养68名情妇,欲娶外甥女为妻,被自己姐夫剁成108块

历史八卦社
2023-11-25 07:05:03
同学聚会每人收费3万,我转身就走,次日警察找上门:就你幸存了

同学聚会每人收费3万,我转身就走,次日警察找上门:就你幸存了

牛魔王与芭蕉扇
2025-09-01 16:53:51
DeepSeek首次回应蒸馏OpenAI质疑 :没有故意加入合成数据

DeepSeek首次回应蒸馏OpenAI质疑 :没有故意加入合成数据

快科技
2025-09-18 21:44:08
2025-09-18 23:15:00
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7330文章数 34462关注度
往期回顾 全部

科技要闻

英伟达50亿美元投资英特尔,但代工免谈

头条要闻

重庆一家七口误食蘑菇中毒 60岁老人住进ICU

头条要闻

重庆一家七口误食蘑菇中毒 60岁老人住进ICU

体育要闻

身高170的他,让196的博尔特坐不住了

娱乐要闻

最美央视才女,甩掉孙红雷嫁给张嘉益

财经要闻

起底多校“发臭午餐”供应商绿捷

汽车要闻

女神代言/新增配色/智能升级 26款腾势N9售38.98万起

态度原创

本地
家居
教育
健康
公开课

本地新闻

云游中国|谁懂!在天下第一关拍到史诗感大片

家居要闻

多维交集 简意雅情结合

教育要闻

每个教师都成为10至15名学生的成长导师,这里的学生“人人都有被关爱的感觉”

内分泌科专家破解身高八大谣言

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版