知晓操作系统演变历程
1、 在1965年以前,电脑尚未普及,只有军事或学术研究机构才能拥有,普通人难以接触。当时一台大型主机最多只能连接30台终端,即配备30个键盘和显示器,供多人同时使用,计算资源极为有限且集中管理。
2、 为解决数量不足的问题
3、 1965年前后,贝尔实验室与麻省理工学院、通用电气联合启动了一项合作项目,旨在开发一种具备多用户、多任务、多层次特性的操作系统,称为MULTICS。该项目的目标是构建一个能够支持多达300台终端连接的大型主机系统,提升计算资源的共享与利用效率,为后续操作系统的发展奠定了重要基础。
4、 1969年前后,项目因进展缓慢、资金不足,贝尔实验室最终选择退出研究。
5、 1969年,肯·汤普森因项目终止而离开。当时他在实验室感到无所事事,为了在一台闲置的计算机上运行星际旅行游戏,趁妻子回乡探亲的一个月空闲时间,于8月前后独自用汇编语言开发出了Unix操作系统的最初版本。这一尝试不仅实现了程序运行,更为后来的操作系统发展奠定了基础。
6、 1970年,美国贝尔实验室的肯·汤普森在BCPL语言基础上,设计出一种简洁且贴近硬件的编程语言,并将其命名为B语言(取自BCPL首字母)。随后,他使用B语言成功开发出首个UNIX操作系统,为后续操作系统与编程语言的发展奠定了重要基础。
7、 1971年,同样热衷于星际旅行游戏的丹尼斯·M·里奇为了能更早体验游戏,加入了汤普森的开发团队,共同研发UNIX系统。他在项目中的主要任务是改进B语言,以解决其跨平台兼容性差的问题,从而提升系统的可移植性和运行效率,为UNIX的发展奠定了重要基础。
8、 1972年,Dennis M. Ritchie在B语言的基础上开发出一种新编程语言,他借鉴BCPL的第二个字母为其命名,由此诞生了C语言,这一语言后来成为现代编程的重要基石,广泛应用于系统开发与软件工程领域。
9、 1973年初,C语言基本成型,Thompson与Ritchie随即着手用它彻底重写当时尚不出名、如今却广为人知的Unix操作系统。
10、 左为肯·汤普逊,右为丹尼斯·里奇。
11、 C语言编程
12、 将 UNIX 移植到不同计算机时,C 语言展现出卓越的可移植性,使其能高效适应多种硬件平台,成为跨系统开发的理想选择。
13、 机器语言与汇编语言均缺乏可移植性,专为x86架构编写的程序无法在Alpha、SPARC或ARM等不同架构的设备上运行。
14、 C语言程序可在各种架构的处理器上运行,只需具备相应的C编译器和库,将源代码编译并链接为对应平台的二进制文件后即可执行,具备良好的跨平台兼容性。
15、 Unix家族谱系
16、 由于AT T政策调整,Version 7 Unix发布后,公司更改授权条款,将UNIX源代码转为专有,禁止在大学等教育机构中继续使用其源代码,从而限制了学术界的自由访问与研究。
17、 为便于在教学中讲解操作系统运行机制,塔能鲍姆教授决定自主开发一款兼容 UNIX 的系统。他坚持不使用 AT T 的源代码,以规避潜在的版权纠纷,确保系统的独立性与合法性,同时为学生提供清晰、透明的学习范例,推动操作系统教育的发展。
18、 取小型UNIX之意,将其命名为MINIX,体现其精简设计与类UNIX特性。
19、 1991年,林纳斯在赫尔辛基大学学习时对Unix产生浓厚兴趣,开始尝试在Minix系统上进行软件开发,探索操作系统的设计与实现,为后来的Linux内核研发奠定了基础。
20、 由于 Minix 仅用于教学,功能较为有限,林纳斯不得不频繁通过终端模拟器连接大学主机,以访问新闻组和收发邮件。为更方便地读取、存储和下载文件,他自行开发了磁盘驱动程序与文件系统。这些组件后来演变为 Linux 首个内核的雏形。令人惊叹的是,完成这一创举时,他年仅 21 岁。
21、 林纳斯以 GNU 的 bash 为开发环境,gcc 为编译工具,编写出 Linux 内核。初期的 Linux 尚无法与 Unix 兼容,但为后续发展奠定了基础。
22、 Unix应用程序无法在Linux上运行,因为两者内核与应用程序的接口存在差异。
23、 Linux最初仅支持386架构,后经全球开发者共同努力,逐步实现了对多种硬件平台的兼容与支持。
24、 Linux内核与各类发行版本详解
25、 Linux内核的版本演变与特性更新
26、 内核是系统的核心,负责运行程序和管理磁盘、打印机等硬件设备,它在硬件与应用程序之间构建了一个抽象层,协调资源调度与数据交互。
27、 Linux内核分稳定版与开发版,二者相辅相成,循环迭代,共同推进系统完善与技术更新。
28、 稳定版具备工业级强度,适用于广泛部署。新版主要修复旧版漏洞,并新增部分驱动支持,功能更完善,运行更可靠。
29、 开发版因频繁测试新方案,更新迭代速度较快。
30、 内核源码官网地址为:
0 条