modified | Thursday 1 May 2025 |
---|
1.3“GNU is Not UNIX「
说 到 这 里 , 各 位 可 能 发 现 了 一 个 问
题 : 喇 ? 怎 么 只 有 软 件 , 不 是 说 要 创
建 一 个 完 全 目 由 的 、 完 整 的 、 类 似
UNIX 的 操 作 系 统 嘛 , 只 有 软 件 而 没 有
内 核 , 能 叫 完 整 的 操 作 系 统 ?
阜巨具实_:气i(〕’〕a′(二丨 Matthew SJ〔a___′〕’]ar】萝二′___妻笠
有 忘 记 这 个 初 衷 , 他 们 也 开 发 了 一 款
叫 Hurd 的 内 核 , 但 是 正 在 开 发 的 这 个
Hurd 内 核 不 论 是 工 程 进 度 还 是 所 具 备
的 功 能 都 没 有 达 到 预 期 效 果 , 当 时 自
由 软 件 基 金 会 汇 集 了 很 多 的 软 件 , 但
是 迟 迟 没 能 开 发 出 满 意 的 内 核 , 没 有
内 核 就 组 不 成 一 套 完 整 的 操 作 系 统 ,
这 种 尴 尬 的 状 态 一 直 持 续 到 1991 年 ,
这 一 年 发 生 的 事 情 相 信 大 家 都 清 楚 ,
那 就 是 Linux 内 核 在 网 上 公 开 发 布 。
在 Linux 内 核 公 开 发 布 时 ,GNU 工 程
e 一 一 一 一 一 一 一 e 国
1.3“GNU is Not UNIX「
已 经 几 乎 完 成 了 除 系 统 内 核 之 外 的 各
种 必 备 软 件 的 开 发 , 到 了 这 个 时 候 ,
系 统 开 发 和 软 件 开 发 两 条 时 间 线 就 已
经 开 始 重 合 了 。
1992 年 , 在 Linus Benedict Torvalds
和 世 界 各 地 的 程 序 员 、 黑 客 们 的 共 同
努 力 下 ,Linux 内 核 成 功 与 自 由 软 件 基
金 会 下 数 以 百 计 的 软 件 工 具 相 结 合 ,
完 全 自 由 的 操 作 系 统 正 式 诞 生 了 !
由 于 Linux 内 核 使 用 了 许 多 GNU 软
件 ,GNU 计 划 的 开 创 者 Richard
Matthew Stallman 提 议 将 Linux 操 作
系 统 更 名 为 “GNU/Linux“, 但 是 绝 大
多 数 人 还 是 习 惯 称 为 “Linux>。
在 整 个 GNU 计 划 的 发 展 史 中 , 有 两 个
协 议 (GPL、LGPL) 非 常 重 要 , 对 它 们
必 须 了 解 清 楚 。
国
1.4 Linux 操 作 系 统 的 结 构
家 解 释 各 部 分 的 作 用
(1) 硬 件 。 硬 件 设 备 相 信 大 家 已 经 非 常
熟 悉 了 , 平 常 接 触 较 多 的 硬 件 设 备 包
括 CPU、 主 板 、 内 存 、 硬 盘 、 显 卡 及
鼠 标 、 键 盘 等 , 这 里 就 不 再 赞 述 。
(2) 内 核 。 内 核 是 整 个 操 作 系 统 的 核
心 , 从 本 质 上 看 内 核 就 是 一 个 计 算 机
程 序 , 这 个 程 序 用 来 控 制 计 算 机 中 各
个 硬 件 的 资 源 , 并 给 上 层 的 应 用 程 序
提 供 运 行 环 境 。 反 过 来 讲 , 应 用 程 序
在 运 行 时 必 须 依 托 内 核 提 供 的 资 源 ,
比 如 CPU、 磁 盘 空 间 、 内 存 空 间 等 ,
当 内 核 给 应 用 程 序 提 供 了 这 些 资 源 之
后 , 应 用 程 序 才 能 够 运 行 起 来 , 这 就
是 内 核 的 作 用 。 那 么 就 引 出 一 个 问
题 : 应 用 程 序 要 怎 么 跟 内 核 沟 通 才 能
让 内 核 合 理 分 配 资 源 呢 ?
e 一 一 一 一 一 一 一 e 国
1.4 Linux 操 作 系 统 的 结 构
(3) 系 统 调 用 。 为 了 使 应 用 程 序 能 够 随
时 与 内 核 进 行 沟 通 , 从 而 获 取 硬 件 资
源 , 内 核 为 应 用 程 序 提 供 了 一 些 访 问
接 口 , 这 些 接 口 有 个 统 一 的 称 呼 , 叫
“ 系 统 调 用 “。 应 用 程 序 正 是 通 过 系 统
调 用 与 内 核 进 行 沟 通 来 请 求 资 源 的 。
(4) 文 件 系 统 。 文 件 系 统 也 属 于 内 核 的
一 部 分 , 是 一 种 存 储 和 组 织 计 算 机 数
据 的 方 法 。 文 件 系 统 使 用 文 件 和 树 形
等 物 理 设 备 使 用 数 据 块 的 概 念 ; 用 户
使 用 文 件 系 统 来 保 存 数 据 不 必 关 心 数
据 实 际 保 存 在 硬 盘 的 哪 些 数 据 块 上 ,
只 需 要 记 住 这 个 文 件 的 所 属 目 录 和 文
件 名 即 可 。 其 体 地 说 , 它 负 责 为 用 户
建 立 文 件 , 存 入 、 读 出 、 修 改 、 转 傅
文 件 , 控 制 文 件 的 存 取 , 当 用 户 不 再
使 用 时 撒 销 文 件 。
国
1.5 常 见 的 Linux 发 行 版
幅)She‖… 胁e‖本身是晕个应用闺
序 , 但 也 是 一 个 特 殊 的 应 用 程 序 , 它
的 作 用 是 将 用 户 输 入 的 语 言 转 换 成 内
核 能 看 懂 的 语 言 ,Shell 扮 演 了 “ 翻 译
官 “ 的 角 色 。
(6) 应 用 程 序 。 应 用 程 序 对 应 的 是 大 量
的 软 件 。
这 就 是 完 整 的 Linux 操 作 系 统 结 构 。 简
单 来 讲 , 完 整 的 Linux 操 作 系 统 就 是
Linux 内 核 加 各 种 应 用 程 序 。
1.5 ˇ 常 见 的 Linux 发 行 版
由 于 Linux 内 核 是 开 源 的 ,GNU 工 程
中 的 软 件 也 是 开 源 的 , 所 以 许 多 组 织
和 企 业 就 嗅 到 了 商 机 , 他 们 将 Linux 内
核 与 各 种 软 件 以 及 说 明 文 档 包 装 起
国