- [UNIX 家族](#UNIX 家族)
-
- [UNIX 家谱](#UNIX 家谱)
- [家族后起之秀 Linux](#家族后起之秀 Linux)
- [UNIX vs Linux](#UNIX vs Linux)
- [UNIX/Linux 应用领域](#UNIX/Linux 应用领域)
- [UNIX 操作系统](#UNIX 操作系统)
- [其他操作系统 Linux](#其他操作系统 Linux)
-
- [Richard Stallman](#Richard Stallman)
- [GNU 项目](#GNU 项目)
- [FSF 组织](#FSF 组织)
- [GPL 协议](#GPL 协议)
- [Linus Torvalds](#Linus Torvalds)
UNIX 家族
有人说,这个世界上只有两种操作系统:
-
UNIX 和 类 UNIX 操作系统
-
其他操作系统
因为 UNIX 是现代操作系统的开山鼻祖,是操作系统的发源地,windows 和 Linux 都参考了 UNIX。
UNIX 家谱
目前为止,UNIX 有两大流派:那就是 AT&T 发布的 UNIX 操作系统 System V
与美国加州大学伯克利分校发布的 UNIX 版 BSD
(Berkeley Software Distribution)。
家族后起之秀 Linux
Linux 是最著名的 类 UNIX 系统,经历了时间的考验,风头正盛。
Linux 占据了原属于 UNIX 的市场份额,在操作系统发展历程中的地位不可否认。
下图是一些 Liunx 版本:
UNIX vs Linux
无论是要学 Linux 还是学 UNIX,二者都是 类 UNIX 系统,是同一家族。
【总结】
- Linux 是 类 UNIX 系统,设计实现参考了 UNIX
- Linux 和其他类 UNIX 系统一样,都 大体遵循 POSIX 等 UNIX 标准化规范
- 类 UNIX 系统的 多数操作和命令都大同小异
- 部分程序 甚至可以 不通过重新编译就可以在不同类 UNIX 系统上执行
UNIX/Linux 应用领域
- Internet 服务器 OS 可以通过 Netcraft 网址,输入网址查看该服务器使用的 OS 类型。
- 个人计算机 OS 如,
Mac OS
是苹果公司为 Mac 系列 PC 开发的专属操作系统,基于 FreeBSD 系统(类 UNIX 系统)。此外,Red hat
桌面版,国内使用人数众多,学习资料丰富;ubuntu
界面友好,硬件支持全面,是最适合做桌面系统的 Linux。 - 移动设备 OS 如
iOS
,源自 Mac OS X,是类 UNIX 操作系统;android
使用了 Linux 内核,也是类 UNIX 操作系统。
UNIX 操作系统
诞生与发展
当时 AT&T 和 麻省理工学院 和 通用电信公司 合作了一个项目叫 Multics,但不幸的是失败了。
Thompson 为在小型机上玩游戏,找到 Ritchie 开发了一个操作系统 UNIX,借鉴了 Multics 的一些思想,如:
- 分时设计思想 (把计算机的时间片分成若干小片,然后分给各个程序去运行,仿佛用户在独占计算机)。
- 注重交互思想,认为用户的交互式需求和设备效率一样重要。
UNIX 的 设计理念 是 KISS
,即 Keep It Simple, Stupid !
简单易用。
UNIX 最初使用 汇编语言 开发,后来 C 语言诞生,二人又使用 C 语言重写 UNIX 源代码,UNIX 和 C 完美地结合成为一个统一体。
1983年,二人获得图灵奖,十年磨一剑。
急功近利的大多数商业软件,都在没有充分完善前就匆匆推向市场。UNIX 很幸运,它发展得很慢,但每一步都很扎实。它的酝酿阶段从 1969 年到 1979 年持续了整整 10 年,UNIX 作为产品面对用户时,已被充分应用完善了。
贝尔实验室以较低价格向教育机构提供 UNIX,大学广泛开设 UNIX 课程,学生们将 UNIX 带入商业和工业领域,UNIX 以 源代码 形式发行,形成了 两个重要流派:
- UNIX SYSTEM V
- Berkeley UNIX
20世纪80年代 UNIX 版本的剧增导致各版本之间差别的扩大,所以有必要对 UNIX 进行 标准化,即对每种实现必须定义的各种限制进行说明。
两个重要的 UNIX 标准 如下:
- 系统 V 接口定义 SVID(AT&T)
- 可移植操作系统接口 POSIX(IEEE,ISO)
UNIX 操作系统概要
UNIX 操作系统按 分层模型 实现。
内核
- 内核是 上层应用 连接 底层硬件 的桥梁。
- 可以把内核理解为基本操作系统,直接控制硬件,如访问文件(硬盘)。
- 系统工具、UNIX 命令 不属于 内核。
常驻模块
- 常驻模块用来 执行用户的请求(接近底层)。
- 应用程序 通过 系统调用 访问常驻模块,如 I/O 控制、进程创建/中止服务、文件访问。
shell
- shell 是 命令解释程序,是工具层。
- shell 是 UNIX 的 用户接口,是 UNIX 系统软件的组成部分,含命令、工具。
- shell 向用户和应用程序提供各种服务(给用户的)。
虚拟计算机
- 虚拟计算机 不属于 UNIX 的系统组件。
- UNIX 是多用户操作系统,是虚拟计算机的集合,这些虚拟计算机 共享 CPU 及其他硬件资源。
特性
可移植性:
多任务性、分级文件系统:
与设备独立的输入输出操作:
用户界面 shell:
系统工具与系统服务:
其他操作系统 Linux
Richard Stallman
Richard Stallman
是 MIT 的 AI 实验室的一个研究员,他收到了一个 UNIX 的版本,但是随着时间的推移,UNIX 逐渐不是开源的发行了。
他收到的不开源的版本让他很不开心,他认为一个软件要获得使用软件和获得源代码的自由,所以他认为 UNIX 已经背离了它的初衷,所以他要 再开发一个开源的 UNIX !
他启动了 GNU 项目 ,创建了 FSF 组织 ,提出了 Copyleft 理念 ,制定了 GPL 协议,发起了开源运动。
GNU 项目
GNU 的吉祥物是一只羊。
FSF 组织
GPL 协议
GNU 开发的工具都在 GPL 下发行。
GPL 确保任何使用自由软件创建的新产品,必须在 GPL 协议下发行;以自由软件为基础,修改后重新发行,也必须公开源代码。
Linus Torvalds
Linus Torvalds 搞定了 kernel !
他当年是赫尔辛基大学计算机二年级学生,他也希望开发一个自由(开放源代码)的 UNIX,他在 1991 年发布第一版内核,且在 GPL 协议下发布。由于参与开源运动,Linux 内核更新速度极快。
Linus 和 UNIX 的简写就是 Linux,Linux 就是这样来的。Linux 的吉祥物是一只企鹅 tux。