从Multics到Linux:操作系统的自由之路

讲Linux指令和权限之前,有必要知道这东西从哪来、为什么长成这样。篇幅不长,只挑关键节点和底层脉络。

目录

UNIX:一切的起点

Linux:始于一个"爱好"

GPL与开源:不只是免费

发行版:Linux的世界版图

企业应用:Linux统治的后端

操作系统在做什么?


UNIX:一切的起点

1968年,Bell Labs、GE和MIT搞了个Multics操作系统,目标是复杂的分时多任务。项目后来停了,但参与其中的Ken Thompson和Dennis Ritchie没闲着。69-70年,他们在Multics的基础上写出了一个更精简的系统------UNIX。

最早的UNIX免费给大学使用,加州大学伯克利分校在70年代中后期搞出了BSD版本,加入了TCP/IP协议栈(后来成了互联网的基石)和很多新特性。另一边,AT&T的商业版本System V也在演进。两条主流分支并行发展,标准之争持续了十年。

1991年,AT&T的UNIX系统实验室综合各方成果发布了System V Release 4。而此时,一个芬兰大学生正准备把UNIX带到个人电脑上。

Linux:始于一个"爱好"

1991年10月5日,Linus Torvalds在Usenet新闻组里发帖,说他正在写一个类似于Minix的小操作系统,只是一个"爱好",不会搞大。这个版本号是0.02,能跑bash和gcc。很快,全世界的程序员开始聚集、贡献代码,版本号从0.02跳到0.95,最终在1994年发布1.0正式版。

Linux严格说只是内核(kernel)。把内核和GNU的编译器、shell、库等用户空间工具组合在一起,才构成一个完整的操作系统。今天大家说"装个Linux",指的是某个发行版,而不是裸内核。

GPL与开源:不只是免费

Linux基于GNU通用公共许可证(GPL)发布。GPL的精髓在于:你可以自由使用、修改、再发布,但如果你分发了二进制的衍生作品,就必须同时开源其源代码。这种"传染性"让Linux和大量上游软件始终保持开放。只要遵循GPL,任何个人和机构都能从源码开始构建自己的系统。

由此,Linux也成了开源运动的代名词。它的成长彻底证明了大规模分布式协作可以产出工业级品质的基础设施。

发行版:Linux的世界版图

内核加用户态软件打包成可安装的系统就是发行版。几个主流分支:

  • Debian:极致稳定,服务器首选,对新手不太友好。

  • Ubuntu:基于Debian,易用性强,桌面、服务器、云都有份额。

  • Red Hat Enterprise Linux (RHEL):商业企业版,背后有认证体系和付费支持。

  • CentOS:RHEL的社区重建版,免费且二进制兼容,曾是很多公司的默认选择(注:CentOS已流变更替,但定位思路不变)。

  • Fedora:Red Hat的前沿试验场,想尝鲜新技术的可以玩。

  • Kali Linux:基于Debian,集成大量渗透测试工具,安全领域标配。

选择哪个取决于应用场景------服务器求稳,桌面求易用,安全测试用专用版。

企业应用:Linux统治的后端

今天Linux在服务器领域的市场份额超过75%,政府、金融、电信的核心系统大量运行在Linux上。

云计算和大数据时代,Linux更是占据核心位置。据Linux基金会统计,86%的企业使用Linux构建云平台,它已经实质取代Unix成为云时代的主力OS。

移动端更不用说------Android的内核就是Linux。路由器、智能电视、车机、工控设备,大量的嵌入式系统也在用定制版Linux。低成本、可深度定制、良好的移植性,这些特性让它几乎无处不在。

操作系统在做什么?

一句话:让计算机更好用。CPU只会机械地执行指令,内存是一片平坦的地址空间,硬盘是一堆扇区。操作系统在这一堆硬件资源上构建出进程、文件、虚拟内存等抽象,让程序员能在一个可理解、可控制的模型下工作,而不必直面硬件细节。

Linux的开放特性,意味着你可以看到这些抽象的实现源码。对C++/系统开发者来说,这不仅是学一个工具,更是学习现代操作系统设计思想的最佳范本。

相关推荐
戴为沐7 分钟前
Linux内存扩容指南
linux
zylyehuo10 小时前
Linux 彻底且安全地删除文件
linux
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF1 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux
荣--3 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森3 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜4 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https