Redian新闻
>
Linux 早期发展史

Linux 早期发展史

公众号新闻

出品 | OSC开源社区(ID:oschina2013)

Linus Torvalds 的好友兼 Linux 发展的重要人物 Lars Wirzenius 发文详细讲述了他记忆中的 Linux 称,作为现在全球范围内都相当成功的一个项目,Linux 的开端其实并不起眼。
Linux 诞生之初的一些代码是由 Linus Torvalds 与 Lars Wirzenius 合写的,因此 Lars 也是第一个与 Linux 合作的开发者。不过后来 Lars 选择了在社区方面,而不是直接对内核做出贡献,并帮助回答问题、编写文档等等。他还曾打理了一个 Linux 相关的短暂的时事通讯,因为发表了对 Linus 的第一次采访而受到关注,之后被 comp.os.linux.announce 新闻组所取代。
根据 Lars 的回忆,1988 年秋天,他在赫尔辛基大学学习计算机科学时遇到了 Linus Torvalds;两人在第一学年快结束时,获得了对 Unix 服务器的访问权限。之后在 1990 年秋天,两人在服完兵役之后继续回到大学学习;选修了 C 和 Unix 编程课程,其中包括了相当多的 Unix 内核体系结构理论,因此两人也对 QNX 和 Plan 9 等其他操作系统内核进行了解。彼时,两个 20 岁意气风发的年轻人,就已经开始讨论 “应该如何正确构建操作系统” 这一问题。
1991 年 1 月,Linus 从当地一家用零件组装计算机的商店购买了他的第一台 PC。为了满足 Linus 想探索多任务处理以及不想设备降级的需求,该 PC 配备了一个 386 CPU。与此同时,这台 PC 还拥有高达 4 兆字节的 RAM 和一个硬盘驱动器。在之后的几个月的时间里,Linus 的业余时间都花在了一个名为 Prince of Persia 的游戏上;后来还买了一份 MINIX。
As and Bs
游戏搞定后,Linus 开始学习英特尔汇编语言,并在某一天向 Lars 展示了他编写的一个执行多任务处理的程序:一个任务或线程会在屏幕上写入字母 “A” 的流,另一个是 “B”;当流 As 变成 Bs 时,上下文切换在视觉上很明显。这也是后来被称为第一个 Linux 内核版本的东西。
后来,Linus 扩展了这个程序,并采用 C 语言编写了大部分内容。在这段时间里,也就是 1991 年春末,Lars 帮忙写了一个 C sprintf () 函数的实现,目前这段代码的核心仍然存在内核中。随着时间推移,内核不断更新变得更好:包括有了键盘和串行端口的驱动程序、屏幕的 VT100 终端转义序列仿真、并且可以用它通过调制解调器拨号到两人就读的大学。而有一次,在 Linus 不小心试图用硬盘驱动器拨打大学电话后,其主引导扇区变成了以 “ATDT” 和大学调制解调器池电话号码开头。但在解决了这一问题之后,Linus 就在内核中实现了文件权限。
时间线来到 1991 年 8 月,Linus 在 comp.os.minix 新闻组中首次公开提及了他的新内核,透露正在出于爱好开发新的免费操作系统 —— 最初命名为 Freax。几周后,Linus 要求 ftp.funet.fi 的管理员之一 Ari Lemmke 上传第一个 tar 存档,Ari 则选择了 Linux 这个名字。初始版本仍然包含嵌入其中一个源文件中的原始名称。
Linus 为有兴趣的用户提供了安装方法和说明,并上门为 Lars 进行了安装,而 Lars 的电脑也是真正意义上第一台安装了 Linux 的 PC。对此,Lars 则调侃称,“在这一切发生时,我正在小睡,我推荐这种安装 Linux 的方法:小睡,而 Linus 则在努力工作。”
Linux 的第一个版本使用了禁止商业用途的许可证,一些早期贡献者建议其更改为自由软件许可证。1991 年秋天,Lars 带 Linus 去听了 Richard Stallman 在芬兰的演讲;于是,在贡献者的压力以及 Lars 的劝说下,Linus 在 1992 年初选择了 GNU GPL 许可证。同一阶段,Linus 也在 Linux 中实现了虚拟内存。
1992
1992 年要从与 MINIX 作者 Andrew Tanenbaum 的那场著名辩论说起。Andrew Tanenbaum 对 Linux 及其架构有一些看法,Linus 则对 MINIX 有意见。Lars 称,“这场辩论彼时被描述为一场口水战,但事后看来实际上是相当文明的”。同年,X11 系统被移植到了 Linux 上,使 1992 年成为 Linux 桌面年。
第一个 Linux 发行版也始于 1992 年:Softlanding Linux System 或 SLS。第二年,SLS 演变为 Slackware,激发了 Ian Murdock 在 1993 年创建 Debian,以探索更加基于社区的开发结构。接下来,其他一些发行版也相继冒出。
1993 年,Linus 和 Lars 都被大学聘为助教。Linus 开始在学校办公室的 PC 上进行 Linux 开发,并在某一天用汇编语言重写了 Linux 内核命令行解析器以实现提速;两个人在这个办公室度过了一段快乐的时光。在后来的某个时候,Linux 获得了对以太网和 TCP/IP 的支持。
1.0
1994 年春天,Linux 好像已经足够成熟:用户可以用 Linux 进行自我编译、阅读 Usenet、同时运行许多 xeyes 程序副本。因此,1.0 版本的发布被提上了日程。
1995 年,Linus 和 Lars 在大学上了一门软件工程课程,其中主要包括一个建立在 Linux 之上的大型实践项目。Lars 表示,他当时出于一些经验坚持要使用一个版本控制系统,也正是这种经历导致 Linus 不喜欢 CVS,并且多年来拒绝使用任何版本控制,除了将 tar 包上传到 FTP 站点。同年,Linus 得到了一台 DEC Alpha 机器,并首次将 Linux 移植到新架构。
1997 年 Linus 毕业并移居美国,在 Transmeta 工作;Lars 则在赫尔辛基地区的另一所大学开始了新工作。在接下来的几年里:Linux 功能日益完善、“开源” 一词被创造、IBM 在 Linux 开发上投入了大量资金、 Netscape 将其 Web 浏览器的一个版本作为开源发布等等相继。
Lars 称,“跳过一些细节和许多年,开源基本上占领了世界。1991 年,Linus 称 Linux 不会像 gnu 那样庞大和专业。2023 年。Linux 正在各大洲、各大洋、数十亿台设备、轨道和火星上运行。对于一开始只是两个线程,在屏幕上写入 As 和 Bs 流的东西来说,这个结果还不错。”
相关链接:https://lwn.net/SubscriberLink/928581/841b747332791ac4/


往期推荐



FerretDB 1.0正式GA,因“碰瓷”MongoDB而改名

JAVA新提案:努力简化Hello World写法

微软开源“傻瓜式”类ChatGPT模型训练工具,提速省钱15倍



🌟 活动推荐


2023 年 5 月 27-28 日,GOTC 2023 全球开源技术峰会将在上海张江科学会堂隆重举行。

为期 2 天的开源行业盛会,将以行业展览、主题发言、特别论坛、分论坛、快闪演讲的形式来诠释此次大会主题 ——“Open Source, Into the Future”。与会者将一起探讨元宇宙、3D 与游戏、eBPF、Web3.0、区块链等热门技术主题,以及 OSPO、汽车软件、AIGC、开源教育培训、云原生、信创等热门话题,探讨开源未来,助力开源发展。

长按识别下方二维码立即查看 GOTC 2023 详情/报名。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Kali Linux 推出用于防御性安全加固的 “Kali Purple” | Linux 中国Linux 只是一个内核:这是什么意思? | Linux 中国5 个有用的 Linux Shell 转义序列 | Linux 中国如何在 Linux 中使用旧相机作为网络摄像头 | Linux 中国7 个超轻量级 Linux 发行版 | Linux 中国Science:细胞间交流的扩张或会驱动胰腺癌的早期发生和发展大家最喜欢的 Linux 终端字体 | Linux 中国5 个最好的 Arch Linux 衍生发行版,适合所有人 | Linux 中国聊聊辟谷(一)17岁嫁54岁将军,婚后32年怀孕16次,死后葬在八宝山,名字家喻户晓如何在 Linux 中合并 PDF 文件 | Linux 中国终端基础:在 Linux 中创建文件 | Linux 中国向IBM索赔50亿美元、起诉Linux用户——回顾长达20年曾威胁Linux存亡的诉讼Arch Linux 的最佳 GUI 包管理器 | Linux 中国Flathub 计划发展为通用的 Linux 应用商店 | Linux 中国马云,刘强东,王健林的老婆,都是利害的娇娘子!新版 Linux QQ,打破操作系统生态壁垒 | Linux 中国如何在 Ubuntu 和其他 Linux 下安装 IDLE Python IDE | Linux 中国Linux 上 5 款最好的 EPUB 阅读器 | Linux 中国Agustín Hernández:中美洲建筑背景下的未来主义巨构为什么程序员喜欢为 Linux 打包 | Linux 中国Live Captions:Linux 上的开源视频字幕应用 | Linux 中国如何在 Rocky Linux 9 / AlmaLinux 9 上安装 KVM | Linux 中国在 Linux 上用 Kdenlive 编辑视频 | Linux 中国世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国如何在 Arch Linux 中安装 MATE 桌面 | Linux 中国TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国终端基础:在 Linux 终端中创建目录 | Linux 中国blendOS 的目标:取代所有的 Linux 发行版 | Linux 中国使用 ChatGPT AI 从英文文本生成 Linux 命令 | Linux 中国【酥炸虾饼】如何在 Linux 系统中使用 Ventoy 创建多重引导的 U 盘 | Linux 中国声音Garuda Linux “Raptor” 230305 版本发布 | Linux 中国在 Linux 命令行上使用 dict 文字工具 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。