1、操作系统讲义第一章 引论 赵英11 操作系统的作用与功能 12 操作系统基础概念13 操作系统的特性14 操作系统的性能第二章 进程管理 陈春超、张莹、王羽中、许静21 进程的基本概念22 进程的状态及表示23 进程通讯基础24 经典的进程通讯问题25 中断和陷入26 进程调度第三章 存储管理 刘家根、毛敏、李建强、何晓燕、常虹31 存储管理和概述32 存储管理的早期技术33 虚拟存储的的基本思想34 页式虚拟组织35 页式虚拟组织存储虚拟管理算法36 段式虚拟存储器37 段式虚拟存储器第四章 输入和输出 李明、刘娜、杨玲玲41 概述42 终端43 时钟第五章 文件系统基础 林碧华、王琳、程晓
2、51 概述 52 文件53 目录54 文件系统实现55 文件系统的可靠性及性能 第 一 章 引论1.1 操 作 系统 的 作 用 和 功 能 首 先 , 让 我 们 对 操 作 系 统 的 作 用 和 功 能 有 一 个 基 本 的 了 解 , 操 作 系 统 作 为 计 算 机 系 统 中 最 重 要 的 系 统 软 件 , 它 的 作 用 可 以 从 两 个 角 度 来 观 察 , 从 用 户 的 角 度 来 说 ,操 作 系 统 是 对 用 户 所 提 供 的 使 用 计 算 机 的 界 面 (Interface),也 就 是 我 们 将 要 讨 论 的 虚 拟 机 的 概 念 。而 从
3、 机 器 的 角 度 来 说 , 操 作 系 统 又 是 对 计 算 机 各 种 系 统 资 源 的 管 理 者 , 负 责 对 各 种 硬 件 和 软 件 资 源 进 行 分 配 。所 以 , 了 解 一 下 操 作 系 统 的 基 本 作 用 和 功 能 对 于 全 面 理 解 操 作 系是 十 分 重 要 的 。 1.1.1 从 虚 拟 机 角 度观 察 OS 大 家 知 道 , 用 户 直 接 使 用 裸 机 是 非 常 不 方 便 的 , 例 如 , 用 户 对 裸 机 进 行 输 入 、 输 出 操 作 时 , 必 须 直 接 对 硬 件 进 行 繁 琐 的 程 序 设 计 , 这
4、 对 多 数 用 户 而 言 是 难 以 胜 任 的 。而 操 作 系 统 的 主 要 任 务 就 是 将 这 些 复 杂 的 硬 件 操 作 与 用 户 隔 离 开 来 , 代 替 用 户 对 计 算 机 硬 件 进 行 控 制 , 如 磁 盘 读 写、 中 断 响 应 、 内 存 管 理 等 。 从 用 户 的 角 度 来 看 , 他 们 所 直 接 面 对 的 不 再 是 令 人 头 疼 的 硬 件 , 而 是 使 用 起 来 方 便 的 多 的 操 作 系 统 了 , 这 就 是 我 们 所 说 的 虚 拟 机 (Virtual Machine)。1.1.2 从 资 源 管 理 者角
5、度 观 察 OS 购 置 计 算 机 的 用 户 最 关 心 的 莫 过 于 系 统 性 能 与 价 格 是 否 相 称, 能 否 高 效 地 工 作, 能 否 给 他 们 带 来 一 定 的 经 济 效 益, 而 在 这 时 操 作 系 统 的 任 务 就 是 合 理 而 有 效 地 管 理 好 系 统 中 所 有 的 软、 硬 件 资 源, 按 照 需 要 和 一 定 规 则 对 它 们 进 行 分 配、 控 制 和 回 收, 以 便 经 济 而 高 效 地 向 用 户 提 供 各 种 性 能 优 良 的 服 务。1.2 操 作 系统 基 本 概 念 操 作 系 统 和 用 户 程 序 之
6、 间 的 界 面 是 由 操 作 系 统 所 提 供 的 一 套“ 扩 展 指 令”(Extended Instruction) 来 定 义 的, 这 些“ 扩 展 指 令” 又 被 称 作 系 统 调 用(System Call)。 这 些 系 统 调 用 的 任 务 就 是 创 建、 删 除 以 及 使 用 各 种 由 操 作 系 统 所 管 理 的 软 件 对 象, 如 进 程 和 文 件。 本 节 就 对 这 些 基 本 概 念 进 行 简 要 的 介 绍。 1.2.1 进 程(Process) 进 程 在 操 作 系 统 中 是 一 个 十 分 重 要 的 概 念, 它 指 的 是
7、程 序 的 一 次 执 行, 是 一 个 动 态 的 概 念。 进 程 包 括 可 执 行 的 程 序 代 码、 程 序 的 数 据 和 堆 栈、 程 序 计 数 器、 堆 栈 指 针、 有 关 寄 存 器、 以 及 所 有 运 行 程 序 所 必 须 的 其 它 信 息。1.2.2 文 件 ( Files )文 件 是 具 有 名 称 的 一 组 信 息 系 列, 它 可 以 表 示 范 围 非 常 宽 广 的 对 象。 系 统 和 用 户 都 可 以 将 其 有 一 定 独 立 功 能 的 程 序 模 块, 一 组 数 据 命 名 成 为 一 个 文 件。 例 如 用 户 的 一 个 C
8、源 程 序、 一 个 目 标 代 码 程 序、 系 统 中 的 库 程 序 和 各 种 系 统 程 序、 一 篇 文 章 等 都 可 以 构 成 一 个 文 件。操 作 系 统 中 负 责 管 理 和 存 取 文 件 信 息 的 软 件 机 构 称 为 文 件 管 理 系 统。 文 件 系 统 为 用 户 提 供 了 一 个 简 便、 统 一 的 存 取 和 管 理 信 息 的 方 法, 用 户 就 可 以 通 过 文 件 名、 按 照 文 件 的 逻 辑 结 构, 使 用 简 单 而 直 观 的 操 作 存 取 所 需 要 的 信 息。 从 而 使 用 户 摆 脱 了 存 储 介 质 的 特
9、 性 及 输 入/ 输 出 指 令 的 细 节。1.2.3 系 统 调 用系 统 调 用 有 时 也 被 称 为 广 义 指 令 或 管 理 程 序 调 用, 它 是 在 用 户 态 下 运 行 的 程 序 和 操 作 系 统 之 间 的 界 面 (Interface), 用 户 态 程 序 使 用 系 统 调 用 可 以 获 得 操 作 系 统 所 提 供 的 各 种 服 务。 用 户 编 制 程 序 时, 虽 然 可 以 把 系 统 调 用 看 做 是 他 所 使 用 的 语 言 的 一 部 分, 但 实 际 上 系 统 调 用 的 功 能 是 由 操 作 系 统 提 供 的, 它 是 操
10、 作 系 统 对 裸 机 加 以 扩 充 和 构 造 后 呈 现 在 用 户 态 程 序 面 前 的 外 特 征。1.2.4 作 业 控 制 和 命 令 解 释 器 (Shell) Shell, 即 命 令 解 释 器 (Command Interpreter), 它 本 身 并 不 属 于 操 作 系 统 的 一 部 分, 但 由 于 它 的 使 用 包 含 了 操 作 系 统 的 特 性, 所 以 通 过 它 可 以 很 好 地 说 明 系 统 调 用 是 如 何 被 使 用 的。一 旦 用 户 进 入 系 统,Shell 就 被 启 动 了, 它 将 用 户 终 端 做 为 标 准 输
11、入 和 标 准 输 出。 它 在 屏 幕 上 会 显 示 一 个 提 示 符 (Prompt), 如 一 个 $ 号, 表 示 它 在 等 待 用 户 输 入 命 令。例 如, 用 户 键 入 命 令 Date,Shell 就 创 建 一 个 子 进 程 来 运 行 Date 程 序, 当 该 进 程 完 成 时,Shell 就 把 结 果 告 诉 用 户, 并 且 重 新 显 示 提 示 符, 等 待 用 户 键 入 下 一 个 命 令。1.3 操 作 系统 的 特 性 现 在 我 们 已 经 知 道, 操 作 系 统 是 一 种 相 当 重 要 而 又 复 杂 的 系 统 软 件 。 在
12、对 它 的 基 本 概 念 和 功 能 有 了 一 个 初 步 的 了 解 之 后, 让 我 们 对 操 作 系 统 的 几 个 特 性 进 行 说 明。 1.3.1 并 发 ( Concurrency ) 并 发 指 的 是 在 操 作 系 统 中 存 在 许 多 同 时 的 或 平 行 的 活 动。 例 如, 输 入 输 出 活 动 和 计 算 活 动 的 并 行; 又 如, 在 内 存 中 同 时 存 在 几 道 用 户 程 序, 它 们 在 处 理 机 上 交 互 运 行 等。 由 并 发 而 引 起 的 一 些 问 题 是: 要 能 从 一 个 活 动 转 向 另 一 个; 保 护
13、一 个 活 动 使 其 不 受 另 外 一 些 活 动 的 影 响; 有 相 互 依 赖 的 活 动 之 间 能 相 互 协 调、 实 施 同 步 并 进 行 信 息 交 换。 1.3.2 共 享 ( Sharing ) 系 统 中 存 在 的 各 种 并 发 活 动 要 共 享 系 统 软、 硬 件 资 源, 之 所 以 这 样 做 有 四 个 理 由:(1) 从 经 济 上 考 虑。 计 算 机 系 统 的 价 格 仍 然 很 昂 贵, 资 源 共 享 是 提 高 经 济 效 益 的 一 种 比 较 合 理 的 解 决 方 法。(2) 当 若 干 程 序 员 协 同 工 作 开 发 软 件
14、 时, 可 能 需 要 互 相 使 用 他 人 拥 有 的 软 件 资 源。(3) 许 多 用 户 往 往 要 同 时 使 用 某 一 资 源, 特 别 是 系 统 软 件。 例 如, 某 种 语 言 的 编 译 程 序、 文 本 编 辑 程 序 等。 为 了 节 省 存 储 空 间, 提 高 工 作 效 率, 可 以 使 这 些 用 户 共 享 这 些 资 源, 而 不 是 向 每 个 用 户 提 供 一 个 副 本。(4) 几 个 用 户 要 求 运 行 不 同 的 程 序, 但 可 能 要 使 用 相 同 的 数 据。与 共 享 有 关 的 问 题 是 资 源 分 配、 对 数 据 的
15、同 时 存 取、 不 同 的 活 动 要 能 同 时 执 行 一 个 程 序 以 及 必 要 的 保 护 等。 1.3.3 长 期 的 信 息 储 存 ( Long-term storage) 为 了 实 现 用 户 对 程 序 和 数 据 的 共 享, 便 于 用 户 随 时 取 用 它 们, 需 将 这 些 信 息 长 期 存 储 于 系 统 内。 与 此 有 关 的 问 题 是 要 提 供 简 单 的 存 取 方 法; 要 阻 止 用 户 有 意 或 无 意 地 对 信 息 进 行 非 法 的 操 作; 在 系 统 发 生 故 障 时 要 提 供 保 护, 以 免 存 储 的 信 息 遭
16、 到 破 坏。1.3.4 不 确 定 性 ( Nondeterminacy) 如 果 同 一 程 序 在 同 一 数 据 集 上 运 行, 则 不 论 今 天 或 每 天, 产 生 的 结 果 应 该 是 相 同 的。 从 这 个 意 义 上 来 说, 操 作 系 统 应 该 是 确 定 的。 但 是 同 样 一 个 程 序 在 同 一 数 据 集 上 运 行, 这 次 需 要 三 分 钟, 下 一 次 则 可 能 需 要 三 分 半 钟。 同 一 组 程 序 pr1、pr2、pr3, 它 们 一 起 提 交 操 作 系 统 运 行, 这 次 可 能 pr1 先 完 成, 然 后 pr2、pr
17、3; 下 一 次 却 可 能 是 pr2, 然 后 是 pr1、pr3。 从 这 个 意 义 上 看, 操 作 系 统 的 工 作 又 带 有 某 种 不 确 定 性。系 统 外 部 表 现 的 不 确 定 性 是 有 其 内 部 原 因 的。 系 统 内 进 行 的 各 种 活 动 错 综 复 杂, 与 这 些 活 动 有 关 的 事 件, 例 如 从 外 部 设 备 来 的 中 断、 输 入、 输 出 请 求, 程 序 运 行 时 发 生 的 故 障 等, 发 生 的 时 间 是 不 可 预 测 的。 由 这 些 事 件 组 成 的 事 件 序 列 数 量 巨 大, 它 们 可 能 发 生
18、 的 时 间 同 样 也 是 不 能 预 测 的。 所 以 操 作 系 统 需 要 处 理 的 就 是 不 确 定 的 事 件 序 列。 如 果 考 虑 不 周、 设 计 不 当, 则 操 作 系 统 在 处 理 某 一 事 件 序 列 时 可 能 工 作 正 常, 在 处 理 另 一 事 件 序 列 时 则 出 错。 而 且 这 种 错 误 很 难 复 现, 同 样 带 有 不 确 定 性。1.4 操 作 系统 的 性 能 在 本 章 的 最 后, 让 我 们 来 讨 论 一 下 如 何 对 一 个 操 作 系 统 进 行 评 价, 一 般 来 说, 我 们 要 考 虑 以 下 几 个 方
19、面: 1.4.1 可 靠 性 计 算 机 系 统 的 用 户 都 希 望 在 一 个 工 作 稳 定、 值 得 信 赖 的 环 境 中 工 作, 所 以 一 个 操 作 系 统 最 好 是 绝 对 可 靠, 不 会 产 生 如 何 错 误 的。 但 实 际 上 并 不 存 在 这 种 系 统。 其 主 要 原 因 是 系 统 中 包 含 了 大 量 软、 硬 件, 至 今 还 没 有 一 种 设 计 和 实 施 技 术 能 够 保 证 它 们 永 远 不 发 生 故 障。 另 外, 系 统 的 使 用 环 境 复 杂 多 变, 系 统 操 作 员 和 一 般 用 户 的 各 种 误 动 作 也
20、 可 能 造 成 系 统 工 作 不 正 常。 但 是, 如 若 在 下 列 几 个 方 面 加 以 努 力, 则 可 望 产 生 一 个 可 靠 性 较 好 的 操 作 系 统。(1) 在 设 计 和 实 施 的 各 个 阶 段 中 采 取 各 种 措 施, 尽 可 能 避 免 软、 硬 件 故 障。(2) 在 系 统 运 行 过 程 中, 一 旦 出 错 要 能 够 及 时 检 测 出 来, 以 减 少 它 对 系 统 造 成 的 损 害。(3) 检 测 出 错 误 后 要 迅 速 找 到 造 成 错 误 的 原 因, 确 定 故 障 位 置 并 采 取 相 应 措 施 排 除 故 障。(
21、4) 尽 可 能 对 错 误 造 成 的 损 害 进 行 修 复, 使 系 统 恢 复 正 常 运 行。1.4.2 效 率 不 言 而 喻, 效 率 是 操 作 系 统 的 一 个 重 要 的 性 能 指 标。 但 到 目 前 为 止, 还 没 有 一 个 统 一 的 标 准 来 衡 量 系 统 的 工 作 效 率。 几 种 常 用 的 标 准 是: 吞 吐 量、 各 种 资 源 的 使 用 效 率、 批 处 理 系 统 的 作 业 周 转 时 间、 分 时 系 统 的 响 应 时 间 等。吞 吐 量(Throughput) 是 指 一 个 在 固 定 时 间 间 隔 内( 例 如1 小 时)
22、 解 决 大、 中、 小 型 各 类 问 题 的 能 力, 是 系 统 中 所 有 软、 硬 件 在 操 作 系 统 管 理 下 协 同 工 作 的 结 果。 显 然, 与 CPU 速 度 相 比, 吞 吐 量 比 较 全 面 和 客 观。各 种 资 源 的 使 用 效 率 是 系 统 中 各 个 部 件、 各 种 设 备 的 使 用 程 度。 它 反 应 了 系 统 内 资 源 的 利 用 状 况。 一 个 系 统 中 如 果 仅 仅 是CPU 非 常 忙 碌, 而 其 它 各 种 外 部 设 备 却 常 常 空 闲 着, 这 种 状 况 显 然 是 不 能 令 人 满 意 的, 也 是 很
23、 不 经 济 的。批 处 理 系 统 的 作 业 周 转 时 间(turn-round time) 指 的 是 用 户 从 提 交 作 业 到 获 得 执 行 结 果 所 需 要 的 时 间, 有 时 也 称 解 题 周 期。 当 然 周 转 时 间 越 短 越 好。 作 业 周 转 时 间 与 计 算 机 系 统 中 各 种 资 源 的 能 力, 对 这 些 资 源 进 行 管 理 调 度 的 效 能 等 因 素 有 关。分 时 系 统 的 响 应 时 间(response time) 是 指 用 户 通 过 终 端 发 出 命 令 到 系 统 进 行 应 答 所 需 的 时 间。1.4.3
24、 可 维 护 性 系 统 投 入 工 作 后, 维 护 人 员 要 对 其 进 行 经 常 性 的 维 护。 例 如 软、 硬 件 工 作 情 况 的 测 试; 故 障 的 检 测 和 排 除; 文 件 系 统 的 定 期 复 制 等。 这 些 维 护 工 作 应 该 易 于 进 行, 要 求 的 工 作 量 比 较 小。 为 了 提 高 可 维 护 性, 系 统 结 构 应 该 清 晰, 具 有 良 好 的 可 读 性, 并 且 必 须 提 供 完 整 的 说 明 文 件 以 及 配 置 有 较 强 的 系 统 维 护 工 具 等。除 此 以 外, 有 时 也 将 可 移 植 性(porta
25、bility) 和 系 统 大 小 作 为 评 价 操 作 系 统 效 能 的 另 外 两 个 方 面。第 二章 进 程 管 理2.1 进 程 基 本 概念2.1.1 程 序 的顺 序 执 行在 程 序 设 计 中 , 程 序 员 习 惯 于 用 顺 序 方 式 编 制 程 序 。 例 如 , 一 个 比 较 典 型 的 顺 序 程 序 是: 先 从 某 一 外 部 设 备( 例 如 磁 盘) 上 输 入 数 据, 随 之 一 步 一 步 进 行 计 算, 最 后 将 计 算 结 果 输 出。 计 算 机 中 的 这 种 程 序 活 动 有 如 下 几 个 特 点:(1) 一 个 程 序 在
26、机 器 中 运 行 时 独 占 全 机 资 源, 因 此 除 了 初 始 状 态 外, 只 有 程 序 本 身 规 定 的 动 作 才 能 改 变 这 些 资 源 的 状 态。(2) 机 器 严 格 地 顺 序 执 行 程 序 规 定 的 动 作。 每 个 动 作 都 必 须 在 前 一 动 作 结 束 后 才 能 开 始, 除 了 人 为 干 预 造 成 机 器 暂 时 停 顿 外, 前 一 动 作 的 结 束 就 意 味 着 后 一 动 作 的 开 始。 程 序 和 机 器 执 行 程 序 的 严 格 一 一 对 应。(3) 程 序 的 执 行 结 果 与 它 的 运 行 速 度 无 关。
27、 也 就 是 说, 处 理 机 在 执 行 程 序 两 个 动 作 之 间 的 停 顿 不 会 影 响 程 序 的 执 行 结 果。上 述 特 点 概 况 起 来 就 是 程 序 的 封 闭 性 和 可 再 现 性。 所 谓 封 闭 性 指 的 是 程 序 一 旦 开 始 运 行, 其 计 算 结 果 就 只 取 决 于 程 序 本 身, 除 了 人 为 地 改 变 机 器 的 运 行 状 态 或 机 器 故 障 以 外, 没 有 其 它 因 素 能 够 对 程 序 的 运 行 过 程 施 加 影 响。 所 谓 再 现 性 就 是 当 机 器 在 同 一 数 据 集 上 重 复 执 行 同 一
28、 程 序 时, 机 器 内 部 的 动 作 系 列 完 全 相 同, 最 后 获 得 的 结 果 也 相 同。 这 种 工 作 方 式 的 特 点 是 简 单、 清 晰、 便 于 调 试 程 序。2.1.2 资 源 共享 和 程 序 的 并 行 运 行为 了 提 高 计 算 机 系 统 内 各 种 资 源 的 使 用 效 率, 现 代 计 算 机 系 统 设 计 中 普 遍 采 用 了 多 道 程 序 技 术。 与 单 道 程 序 相 比, 多 道 程 序 的 工 作 环 境 发 生 了 很 大 变 化, 主 要 表 现 在 下 列 两 个 方 面:(1) 资 源 共 享资 源 共 享 指 的
29、 是 系 统 中 的 软、 硬 件 资 源 不 再 为 单 个 用 户 程 序 独 占, 而 由 几 道 用 户 程 序 共 同 使 用。 于 是, 这 些 资 源 的 状 态 就 不 再 取 决 于 一 道 程 序, 而 是 由 多 道 程 序 的 活 动 所 决 定。 这 就 从 根 本 上 打 破 了 了 一 道 程 序 封 闭 于 一 个 系 统 中 运 行 的 局 面。(2) 程 序 的 并 发 运 行系 统 中 各 个 部 分 不 再 以 单 纯 的 串 行 方 式 工 作。 换 言 之, 在 任 一 时 刻 系 统 中 不 再 只 有 一 个 活 动, 而 是 存 在 着 许 多
30、 并 行 的 活 动。 从 硬 件 方 面 看, 处 理 机、 各 种 外 设、 存 储 部 件 常 常 并 行 地 进 行 着 工 作。 从 程 序 方 面 看, 则 可 能 有 若 干 个 作 业 程 序 或 者 同 时、 或 者 互 相 穿 插 在 系 统 中 并 行 运 行。 这 时, 机 器 不 再 是 简 单 地 顺 序 执 行 一 道 程 序。 也 就 是 说, 一 道 程 序 的 前 一 动 作 结 束 后, 系 统 不 一 定 立 即 执 行 其 后 续 操 作, 而 可 能 转 而 执 行 其 它 程 序 的 某 一 操 作。 对 于 程 序 中 可 以 执 行 的 操 作
31、 也 可 能 不 需 要 等 待 另 一 操 作 结 束, 系 统 就 开 始 执 行 它 们。 这 样 也 就 打 破 了 程 序 执 行 的 顺 序 性。 同 时, 多 个 程 序 活 动 可 能 是 在 不 同 的 数 据 集 上 执 行 同 一 个 程 序, 所 以 程 序 以 及 机 器 执 行 程 序 的 活 动 不 再 有 严 格 的 一 一 对 应 关 系。2.1.3 进 程 概念 的 引 入 和 描 述综 上 所 述, 可 见 在 多 道 程 序 工 作 环 境 下, 一 个 程 序 活 动 不 再 能 独 占 系 统 资 源, 因 此 也 就 不 再 能 单 独 决 定 这
32、 些 资 源 的 状 态; 程 序 和 机 器 执 行 程 序 的 活 动 之 间 也 不 再 有一 一 对 应 关 系。 总 之, 程 序 活 动 不 再 处 于 一 个 封 闭 的 系 统 中, 而 是 和 其 它 程 序 活 动 之 间 存 在 着 相 互 依 赖 和 制 约 的 关 系, 因 而 呈 现 出 并 发、 动 态 以 及 相 互 制 约 这 些 新 的 特 征。 在 这 种 情 况 下, 程 序 这 个 静 态 的 概 念 已 经 不 能 如 实 地 反 映 程 序 活 动 的 这 些 特 征。 为 此, 六 十 年 代 中 期MULTICS 操 作 系 统 的 设 计 者 和E.W.Dijkstra 为 首 的T.H.E 操 作 系 统 的 设 计 者 开 始 广 泛 应 用 进 程(process) 这 一 新 的 概 念 来 描 述 系 统 和 用 户 的 程 序 活 动。“ 进 程” 是 操 作 系 统 的 最 基 本 的, 也 是 最 重 要 的 概 念 之 一。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1