Unix:修订间差异
无编辑摘要 |
IdleTap-bot(留言 | 贡献) 由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行) |
||
| (未显示2个用户的2个中间版本) | |||
| 第1行: | 第1行: | ||
'''UNIX'''(常写作 '''Unix''')是一类通用的分时、多用户、多任务操作系统及其技术体系,其核心特征在于通过统一的文件、进程和文本流接口组织系统资源,强调“小工具组合”与模块化设计。Unix 最初由美国 AT&T 贝尔实验室的肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)等研究人员于 1969 年前后开发,其设计思想深刻影响了后续几乎所有现代操作系统。<nowiki><ref name="Ritchie1974">Ritchie, D. M., & Thompson, K. (1974). The UNIX Time-Sharing System. Communications of the ACM, 17(7), 365-375.</nowiki></ref> 20 世纪 70 年代初,Unix 内核及实用工具被用 C 语言重写,显著提升了系统在不同硬件平台间的可移植性,这一实践也反过来促进了 C 语言的普及。随着 Unix 在学术界和工业界的广泛传播,其衍生出多个分支(如 BSD 和 System V),并催生了 POSIX 和单一 UNIX 规范(SUS)等标准化工作。在商标意义上,“UNIX”是 The Open Group 持有的注册商标,只有完全符合单一 UNIX 规范并通过认证的系统方可使用该名称。<ref name="OpenGroup">The Open Group. UNIX Certification. https://www.opengroup.org/certification</ref>{{Infobox| | '''UNIX'''(常写作 '''Unix''')是一类通用的分时、多[[用户]]、多任务[[操作系统]]及其技术体系,其核心特征在于通过统一的文件、进程和[[文本]]流接口组织系统资源,强调“小工具组合”与模块化设计。Unix 最初由美国 AT&T 贝尔实验室的肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)等研究人员于 1969 年前后开发,其设计思想深刻影响了后续几乎所有现代操作系统。<nowiki><ref name="Ritchie1974">Ritchie, D. M., & Thompson, K. (1974). The UNIX Time-Sharing System. Communications of the ACM, 17(7), 365-375.</nowiki></ref> 20 世纪 70 年代初,Unix 内核及实用工具被用 C 语言重写,显著提升了系统在不同硬件平台间的可移植性,这一实践也反过来促进了 C 语言的普及。随着 Unix 在学术界和工业界的广泛传播,其衍生出多个分支(如 BSD 和 System V),并催生了 POSIX 和单一 UNIX 规范(SUS)等标准化工作。在商标意义上,“UNIX”是 The Open Group 持有的注册商标,只有完全符合单一 UNIX 规范并通过认证的系统方可使用该名称。<ref name="OpenGroup">The Open Group. UNIX Certification. https://www.opengroup.org/certification</ref>{{Infobox | ||
| title = Unix | |||
| label1 = 中文名 | |||
| data1 = Unix | |||
| label2 = 外文名 | |||
| data2 = Unix / UNIX | |||
| label3 = 类型 | |||
| data3 = 通用操作系统(分时、多用户、多任务) | |||
| label4 = 起源 | |||
| data4 = AT&T 贝尔实验室(1969 年前后形成原型) | |||
| label5 = 核心思想 | |||
| data5 = 小工具组合、文本流处理、统一接口与可移植性 | |||
| label6 = 相关标准 | |||
| data6 = POSIX(IEEE 1003.1)、单一 UNIX 规范(SUS) | |||
| label7 = 主要分支 | |||
| data7 = Research Unix、BSD、System V 及其商业衍生(AIX、Solaris 等) | |||
| label8 = 商标与认证 | |||
| data8 = UNIX 为 The Open Group 注册商标;仅认证系统可使用 UNIX 标识 | |||
}} | |||
== 历史 == | == 历史 == | ||
=== 起源与早期发展 === | === 起源与早期发展 === | ||
Unix 的起源可追溯至 1965 年启动的 Multics(MULTiplexed Information and Computing Service)项目,该项目由贝尔实验室、通用电气公司和麻省理工学院联合开展,旨在构建一个大规模交互式分时操作系统。由于项目目标过于复杂且进展缓慢,AT&T 于 1969 年决定退出。此后,贝尔实验室的肯·汤普森、丹尼斯·里奇等研究人员利用一台闲置的 PDP-7 | Unix 的起源可追溯至 1965 年启动的 Multics(MULTiplexed Information and Computing Service)项目,该项目由贝尔实验室、通用电气公司和[[麻省理工学院]]联合开展,旨在构建一个大规模交互式分时操作系统。由于项目目标过于复杂且进展缓慢,AT&T 于 1969 年决定退出。此后,贝尔实验室的肯·汤普森、丹尼斯·里奇等研究人员利用一台闲置的 PDP-7 [[计算机]],基于之前 Multics 的经验,开发了一个更为简洁的新型操作系统。该系统最初被戏称为 UNICS(UNiplexed Information and Computing Service),后演变为 UNIX。<ref name="Salus">Salus, P. H. (1994). A Quarter Century of UNIX. Addison-Wesley.</ref> 1971 年,Unix 首次在实际生产环境中部署,用于贝尔实验室专利部门的文字处理工作。 | ||
=== 以 C 语言重写与可移植化 === | === 以 C 语言重写与可移植化 === | ||
1972 至 1973 年间,丹尼斯·里奇设计了 C 语言,并与肯·汤普森一同将 Unix 内核及其大部分工具用 C 语言重写。这一决定使 Unix 摆脱了与特定汇编语言的绑定,只需修改少量与机器相关的代码即可移植到其他计算机架构,这是操作系统可移植性实践的重要里程碑。<ref name="Ritchie1974" /> 1973 年,里奇和汤普森在操作系统原理(SOSP)研讨会上发表了关于 Unix 的论文,标志着该系统首次公开亮相。随后,AT&T 以许可证方式向教育机构和企业提供 Unix 源码,第六版(V6)于 1975 年起以约 20,000 美元的价格授权给商业用户。 | 1972 至 1973 年间,丹尼斯·里奇设计了 C 语言,并与肯·汤普森一同将 Unix 内核及其大部分工具用 C 语言重写。这一决定使 Unix 摆脱了与特定汇编语言的绑定,只需修改少量与机器相关的代码即可移植到其他计算机[[架构]],这是操作系统可移植性实践的重要里程碑。<ref name="Ritchie1974" /> 1973 年,里奇和汤普森在操作系统原理(SOSP)研讨会上发表了关于 Unix 的论文,标志着该系统首次公开亮相。随后,AT&T 以许可证方式向教育机构和企业提供 Unix 源码,第六版(V6)于 1975 年起以约 20,000 美元的价格授权给商业用户。 | ||
=== 分支分化:BSD 与 System V === | === 分支分化:BSD 与 System V === | ||
1977 年,加州大学伯克利分校的研究生比尔·乔伊(Bill Joy)基于贝尔实验室的 V6 版本发布了 1BSD(Berkeley Software Distribution),其中包含增强的工具和 Pascal 编译器。伯克利分校随后持续开发 BSD,加入了 vi 编辑器、C shell 以及 TCP/IP 网络协议栈等创新特性,使 BSD 成为 Unix 最重要的分支之一。<ref name="Salus" /> 与此同时,AT&T 于 1983 年发布了 System V,这是一个面向商业应用的官方发行版,其后续版本(特别是 SVR4,1989 年发布)融合了 System V 和 BSD 的诸多优点,成为 IBM AIX、HP-UX、Oracle Solaris 等商业 Unix 系统的基础。 | 1977 年,加州大学伯克利分校的研究生比尔·乔伊(Bill Joy)基于贝尔实验室的 V6 版本发布了 1BSD(Berkeley Software Distribution),其中包含增强的工具和 Pascal 编译器。伯克利分校随后持续开发 BSD,加入了 vi 编辑器、C shell 以及 [[TCP]]/IP 网络协议栈等创新特性,使 BSD 成为 Unix 最重要的分支之一。<ref name="Salus" /> 与此同时,AT&T 于 1983 年发布了 System V,这是一个面向商业应用的官方发行版,其后续版本(特别是 SVR4,1989 年发布)融合了 System V 和 BSD 的诸多优点,成为 IBM AIX、HP-UX、Oracle Solaris 等商业 Unix 系统的基础。 | ||
== 设计 == | == 设计 == | ||
=== 设计哲学 === | === 设计哲学 === | ||
Unix 的设计哲学强调“小即是美”,鼓励开发功能单一的专用工具,并通过标准接口(如管道 pipe)将这些工具串联以完成复杂任务。道格拉斯·麦克罗伊(M. Douglas | Unix 的设计哲学强调“小即是美”,鼓励开发功能单一的专用工具,并通过标准接口(如管道 pipe)将这些工具串联以完成复杂任务。道格拉斯·麦克罗伊(M. Douglas [[MC|Mc]]Ilroy)曾总结:“期望每个程序的输出成为另一个尚未确定的程序的输入。”<ref name="McIlroy">McIlroy, M. D. (1987). A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971-1986. AT&T Bell Laboratories.</ref> 这种基于文本流的组合方式极大提升了系统的灵活性与可扩展性。 | ||
=== 一切皆文件 === | === 一切皆文件 === | ||
| 第44行: | 第47行: | ||
=== 分层架构 === | === 分层架构 === | ||
Unix 系统采用内核-系统调用-应用的分层架构。内核负责进程调度、内存管理、文件系统及设备驱动;系统调用接口供用户态程序访问内核功能;最外层是命令解释器(shell)与各类实用工具(如 grep、awk、sed 等)。这种分层设计保证了内核的稳定性和上层软件的相对独立性。 | Unix 系统采用内核-系统调用-应用的分层架构。内核负责进程调度、内存管理、文件系统及设备驱动;系统调用接口供用户态程序访问内核功能;最外层是命令解释器(shell)与各类实用工具(如 grep、awk、sed 等)。这种分层设计保证了内核的稳定性和上层[[软件]]的相对独立性。 | ||
== 主要分支 == | == 主要分支 == | ||
| 第52行: | 第55行: | ||
=== BSD === | === BSD === | ||
BSD 源自伯克利分校的增强版,其贡献包括 TCP/IP 协议栈(奠定了互联网基础)、虚拟内存管理、以及改进的文件系统(FFS)。BSD 直接衍生出 FreeBSD、NetBSD、OpenBSD 以及苹果公司的 Darwin | BSD 源自伯克利分校的增强版,其贡献包括 TCP/IP 协议栈(奠定了[[互联网]]基础)、虚拟内存管理、以及改进的文件系统(FFS)。BSD 直接衍生出 FreeBSD、NetBSD、OpenBSD 以及[[苹果公司]]的 Darwin([[macOS]] 和 [[iOS]] 的核心)等现代操作系统。<ref name="Salus" /> | ||
=== System V === | === System V === | ||
| 第66行: | 第69行: | ||
== 影响 == | == 影响 == | ||
Unix 的设计理念与实现方式深刻影响了现代计算环境 | Unix 的设计理念与实现方式深刻影响了现代计算环境。[[Linux]] 内核直接采用 Unix 的系统调用与[[编程]]模型,macOS、iOS、Android 等主流系统均基于 Unix 或类 Unix 内核构建。绝大多数互联网[[服务器]]运行类 Unix 系统,其稳定性和安全性被广泛验证。此外,“小工具组合”与“文本流接口”的设计哲学对软件工程、命令行工具链乃至开发文化(如 DevOps)均产生了持久影响。 | ||
== 商标与认证 == | == 商标与认证 == | ||
“UNIX”是 The Open Group 在全球范围内持有的注册商标。该组织通过严格的认证测试,对符合单一 UNIX 规范的系统授予使用权。未通过认证的类似系统通常被称为“类 Unix”(Unix-like)。目前,macOS、AIX、Solaris 等系统已获得官方认证。<ref name="OpenGroup" /> | “UNIX”是 The Open Group 在[[全球]]范围内持有的注册商标。该组织通过严格的认证测试,对符合单一 UNIX 规范的系统授予使用权。未通过认证的类似系统通常被称为“类 Unix”(Unix-like)。目前,macOS、AIX、Solaris 等系统已获得官方认证。<ref name="OpenGroup" /> | ||
== 参考文献 == | == 参考文献 == | ||
<references /> | <references /> | ||