1、第一章1 设 计 现 代 OS 的 主 要 目 标 是 什 么 ? ( 1) 有 效 性 ( 2) 方 便 性 ( 3) 可 扩 充 性 (4 ) 开放性2 OS 的作用可表 现 在哪几个方面?( 1) OS 作 为 用 户 与 计 算机硬件系 统 之 间的接口( 2) OS 作 为计 算机系 统资 源的管理者( 3) OS 实现 了 对计 算机 资 源的抽象3 为什么说 OS 实现了对计算机资源的抽象?答: OS 首先在裸机上覆盖一 层 I/O 设备 管理 软 件, 实现 了 对计 算机硬件操作的 第 一 层 次 抽 象 ; 在 第 一 层 软 件 上 再 覆 盖 文 件 管 理 软 件 ,
2、 实 现 了 对 硬 件 资 源 操作 的 第 二 层 次 抽 象 。 OS 通过在计算机硬件上安装多层系统软件,增强了系统功能, 隐藏了 对硬件操作的 细节,由它们共同实现了对计算机资源的抽象。4 试说 明推 动 多道批 处 理系 统 形成和 发 展的主要 动 力是什么? 答:主要动力来源于四个方面的社会需求与技术发展:( 1) 不断提高 计 算机 资 源的利用率 ; ( 2) 方 便 用 户 ; ( 3) 器件的不断更新 换 代;(4 )计算机体系结构的不断 发展。5何 谓 脱机 I/O 和 联 机 I/O?答:脱机 I/O 是指事先将装有用 户 程序和数据的 纸带 或卡片装入 纸带输 入
3、机或 卡 片 机 , 在 外 围 机 的 控 制 下 , 把 纸 带 或 卡 片 上 的 数 据 或 程 序 输 入 到 磁 带 上 。 该方 式 下 的 输 入 输 出 由 外 围 机 控 制 完 成 , 是 在 脱 离 主 机 的 情 况 下 进 行 的 。而 联 机 I/O 方式是指程序和数据的 输 入 输 出都是在主机的直接控制下 进 行的。6 试说明推动分时系统 形成和发展的主要动力是什么?答 : 推 动 分 时 系 统 形 成 和 发 展 的 主 要 动 力 是 更 好 地 满 足 用 户 的 需 要 。 主 要 表 现 在 :CPU 的 分 时 使 用 缩 短 了 作 业 的 平
4、 均 周 转 时 间 ; 人 机 交 互 能 力 使 用 户 能 直 接 控 制 自己 的 作 业 ; 主 机 的 共 享 使 多 用 户 能 同 时 使 用 同 一 台 计 算 机 , 独 立 地 处 理 自 己 的 作 业 。7 实现分时系统的关键问题 是什么?应如何解决?答 : 关 键 问 题 是 当 用 户 在 自 己 的 终 端 上 键 入 命 令 时 , 系 统 应 能 及 时 接 收 并 及 时 处理 该 命 令 , 在 用 户 能 接 受 的 时 延 内 将 结 果 返 回 给 用 户 。解 决 方 法 : 针 对 及 时 接 收 问 题 , 可 以 在 系 统 中 设 置 多
5、 路 卡 , 使 主 机 能 同 时 接 收 用 户从 各 个 终 端 上 输 入 的 数 据 ; 为 每 个 终 端 配 置 缓 冲 区 , 暂 存 用 户 键 入 的 命 令 或 数 据 。针 对 及 时 处 理 问 题 , 应 使 所 有 的 用 户 作 业 都 直 接 进 入 内 存 , 并 且 为 每 个 作 业 分 配 一个 时 间 片 , 允 许 作 业 只 在 自 己 的 时 间 片 内 运 行 , 这 样 在 不 长 的 时 间 内 , 能 使 每 个 作业 都 运 行 一 次 。8 为什么要引入实时 OS?答 : 实 时 操 作 系 统 是 指 系 统 能 及 时 响 应
6、外 部 事 件 的 请 求 , 在 规 定 的 时 间 内 完 成 对该 事 件 的 处 理 , 并 控 制 所 有 实 时 任 务 协 调 一 致 地 运 行 。 引 入 实 时 OS 是为了满足应用的需求,更好地满足实时控制领域和实时信息处理领域的需要。9什么是硬实时任务和 软实时任务?试举例说明。答 : 硬 实 时 任 务 是 指 系 统 必 须 满 足 任 务 对 截 止 时 间 的 要 求 , 否 则 可 能 出 现 难 以 预测 的 结 果 。 举 例 来 说 , 运 载 火 箭 的 控 制 等 。软 实 时 任 务 是 指 它 的 截 止 时 间 并 不 严 格 , 偶 尔 错
7、过 了 任 务 的 截 止 时 间 , 对 系 统 产生 的 影 响 不 大 。 举 例 : 网 页 内 容 的 更 新 、 火 车 售 票 系 统 。10在 8 位微机和 16 位微机中,占据了统治地位的是什么操作系统? 答: 单 用 户单 任 务 操作系 统 ,其中最具代表性的是 CP/M 和 MS- DOS.11 试 列出 Windows OS 中五个主要版本,并 说 明它 们 分 别较 之前一个版本有何改进。答 : ( 1) Microsoft Windows 1.0 是微 软 公司在个人 电脑 上开 发图 形界面的首次 尝 试 。 ( 2) Windows 95 是混合的 16 位
8、/32 位 系 统 , 第 一 个 支 持 32 位 。 带来 了 更 强 大 、 更 稳 定 、 更 实 用 的 桌 面 图 形 用 户 界 面 , 结 束 了 桌 面 操 作 系 统 间 的 竞 争 。3) Windows 98 是微 软 公司的混合 16 位 /32 位 Windows 操作系 统 ,改良了硬件 标 准 的 支 持 , 革 新 了 内 存 管 理 , 是 多 进 程 操 作 系 统 。 ( 4) Windows XP 是基于 Windows2000 的 产 品 , 拥 有 新 用 户 图 形 界 面 月 神 Luna。 简 化了用 户 安全特性,整合了防火 墙 。 ( 5
9、) Windows Vista 包 含 了 上 百 种 新 功 能 ; 特 别 是 新 版 图 形 用 户 界 面和 Windows Aero 全新界面 风 格、加 强 的搜 寻 功能( Windows Indexing Service) 、 新媒体创作工具以及重新设计的网络、音频、输出(打印)和 显 示子 系 统 。 。12 试 从 交 互 性 、 及 时 性 以 及 可 靠 性 方 面 , 将 分 时 系 统 与 实 时 系 统 进 行 比 较 。答 : ( 1) 及 时 性 : 实 时 信 息 处 理 系 统 对 实 时 性 的 要 求 与 分 时 系 统 类 似 , 都 是 以 人所
10、能 接 受 的 等 待 时 间 来 确 定 ; 而 实 时 控 制 系 统 的 及 时 性 , 是 以 控 制 对 象 所 要 求 的 开始 截 止 时 间 或 完 成 截 止 时 间 来 确 定 的 , 一 般 为 秒 级 到 毫 秒 级 , 甚 至 有 的 要 低 于100 微 妙 。 ( 2) 交 互 性 : 实 时 信 息 处 理 系 统 具 有 交 互 性 , 但 人 与 系 统 的 交 互 仅 限于 访 问 系 统 中 某 些 特 定 的 专 用 服 务 程 序 。 不 像 分 时 系 统 那 样 能 向 终 端 用 户 提 供 数 据和 资 源 共 享 等 服 务 。 ( 3)
11、可 靠 性 : 分 时 系 统 也 要 求 系 统 可 靠 , 但 相 比 之 下 , 实 时系统则要求系统具有高度的可靠性。因为任何差错都可能带来巨大的经济损失 ,甚 至 是 灾 难 性 后 果 , 所 以 在 实 时 系 统 中 , 往 往 都 采 取 了 多 级 容 错 措 施 保 障 系 统 的 安全 性 及 数 据 的 安 全 性 。13OS 有哪几大特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。14处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度; 进程管理: 为
12、作业创建进程, 撤销已结束进程, 控制进程在运行过程中的状态转换。进程同步:为多个进程(含线程)的运行 进行协调。通信:用来实现在相互合作的进程之间的信息交换。处理机调度:(1 )作业调度。从后备队 里按照一定的算法,选出若干个作业,为他们分配运行所需的资源(首选是分配内存) 。(2 )进程调度:从进程的就 绪队列中,按照一定算法选出一个进程,把处理机分配给它,并设置运行现场,使进程投入执行。15内存管理有哪些主要功能? 他们的主要任务是什么?答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。内存分配:为每道程序分配内存。内存保护:确保每道用户程序都只在自己的内存空间运行,彼此
13、互不干扰。地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。内存扩充:用于实现请求调用功能,置换功能等。16设备管理有哪些主要功能?其主要任务是什么?答:主要功能有 : 缓 冲管理、 设备 分配和 设备处 理以及虚 拟设备 等。主要任 务 : 完 成 用 户 提 出 的 I/O 请 求 , 为 用 户 分 配 I/O 设 备 ; 提 高 CPU 和I/O 设备 的利用率;提高 I/O 速度;以及方便用 户 使用 I/O 设备 .17文件管理有哪些主要功能?其主要任务是什么?答:文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保 护 。 文 件 管 理 的 主 要
14、任 务 : 管 理 用 户 文 件 和 系 统 文 件 , 方 便 用 户 使 用 , 保 证 文件 安 全 性 。18是什么原因使操作系统具有异步性特征?答 : 操 作 系 统 的 异 步 性 体 现 在 三 个 方 面 : 一 是 进 程 的 异 步 性 , 进 程 以 人 们 不 可 预 知的 速 度 向 前 推 进 , 二 是 程 序 的 不 可 再 现 性 , 即 程 序 执 行 的 结 果 有 时 是 不 确 定 的 , 三 是程 序 执 行 时 间 的 不 可 预 知 性 , 即 每 个 程 序 何 时 执 行 , 执 行 顺 序 以 及 完 成 时 间 是 不 确 定 的 。1
15、9模块接口法存在哪些问题?可通过什么样的途径来解决?答 : ( 1)模 块 接口法存在的 问题 : 在 OS 设计时 ,各模 块间 的接口 规 定很 难满 足 在 模 块 完 成 后 对 接 口 的 实 际 需 求 。 在 OS 设 计 阶 段 , 设 计 者 必 须 做 出 一系 列 的 决 定 , 每 一 个 决 定 必 须 建 立 在 上 一 个 决 定 的 基 础 上 。 但 模 块 化 结 构 设 计 的 各模 块 设 计 齐 头 并 进 , 无 法 寻 找 可 靠 的 顺 序 , 造 成 各 种 决 定 的 无 序 性 , 使 程 序 设 计 人员 很 难 做 到 设 计 中 的
16、每 一 步 决 定 都 建 立 在 可 靠 的 基 础 上 , 因 此 模 块 接 口 法 被 称 为“ 无序模块法 ” 。 (2)解决途径:将模块接口法的决定顺序无序变有序,引入有序分层法。20在微内核 OS 中,为什么要采用客户/服务器模式?答:C/S 模式具有独特的优点:数据的分布处理和存 储。便于集中管理。 灵活性和可 扩充性。 易于改编应用软件。21试描述什么是微内核 OS。答:1)足够小的内核 2)基于客户/ 服务器模式 3)应用机制与策略分离原理 4) 采用面向对象技术。22在基于微内核结构的 OS 中,应用了哪些新技术?答:在基于微内核结构的 OS 中,采用面向对象的程序 设汁
17、技术。23何谓微内核技术?在微内核中通常提供了哪些功能?答:把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行, 而 留 下 一 个 尽 量 小 的 内 核 , 用 它 来 完 成 操 作 系 统 最 基 本 的 核 心 功 能 , 称 这 种 技 术为 微 内 核 技 术 。 在 微 内 核 中 通 常 提 供 了 进 程 (线程) 管 理 、 低 级 存 储 器 管 理 、 中 断和 陷 入 处 理 等 功 能 。24微内核操作系统具有哪些优点?它为何能有这些优点?答:1)提高了系统的可 扩展性 2)增强了系统的可靠性 3)可移植性 4)提供了对分布式系统的支持 5)融入了面
18、向对象技术第二章1. 什么是前趋图?为什么要引入前趋图?答 : 前 趋 图 (Precedence Graph) 是 一 个 有 向 无 循 环 图 , 记 为 DAG(Directed AcyclicGraph),用于描述 进 程之 间执 行的前后关系。2. 画出下面四条 语 句的前 趋图 :S1=a: =x+y; S2=b: =z+1; S3=c: =a b; S4=w: =c+1;答:其前 趋图为 : 3. 什么程序并发执行会产生间断性特征?答 : 程 序 在 并 发 执 行 时 , 由 于 它 们 共 享 系 统 资 源 , 为 完 成 同 一 项 任 务 需 要 相 互 合 作 ,致
19、 使 这 些 并 发 执 行 的 进 程 之 间 , 形 成 了 相 互 制 约 关 系 , 从 而 使 得 进 程 在 执 行 期 间 出现 间 断 性 。4程序并发执行时为什么会失去封 闭性和可再现性?答 : 程 序 并 发 执 行 时 , 多 个 程 序 共 享 系 统 中 的 各 种 资 源 , 因 而 这 些 资 源 的 状 态 由 多个 程 序 改 变 , 致 使 程 序 运 行 失 去 了 封 闭 性 , 也 会 导 致 其 失 去 可 再 现 性 。5在操作系统中为什么要引入 进程概念?它会产生什么样的影响?答 : 为 了 使 程 序 在 多 道 程 序 环 境 下 能 并 发
20、 执 行 , 并 对 并 发 执 行 的 程 序 加 以 控 制 和描 述 , 在 操 作 系 统 中 引 入 了 进 程 概 念 。影响 : 使程序的并 发执 行得以 实 行。6 试从动态性,并发性和独立性上比 较进程和程序?答 : (1)动 态 性 是 进 程 最 基 本 的 特 性 , 表 现 为 由 创 建 而 产 生 , 由 调 度 而 执 行 , 因得 不 到 资 源 而 暂 停 执 行 , 由 撤 销 而 消 亡 。 进 程 有 一 定 的 生 命 期 , 而 程 序 只 是 一 组有 序 的 指 令 集 合 , 是 静 态 实 体 。(2)并发性是进程的重要特征,同时也是 OS
21、 的重要特征。引入进程的目的正是 为 了使其程序能和其它 进 程的程序并 发执 行,而程序是不能并 发执 行的。(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源 和 独 立 调 度 的 基 本 单 位 。 对 于 未 建 立 任 何 进 程 的 程 序 , 不 能 作 为 独 立 单 位 参 加运 行 。7 试说明 PCB 的作用,为什么说 PCB 是进程存在的惟一标志?答 : PCB 是 进 程 实 体 的 一 部 分 , 是 操 作 系 统 中 最 重 要 的 记 录 型 数 据 结 构 。 作 用 是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的
22、基本单位,成 为 能与其它 进 程并 发执 行的 进 程。 OS 是 根 据 PCB 对 并 发执 行的 进 程 进行 控制和管理的。8 试说 明 进 程在三个基本状 态 之 间转换 的典型原因。答 : ( 1)就 绪 状 态 执 行状 态 : 进 程分配到 CPU 资 源(2 )执行状态就绪状 态:时间片用完( 3) 执 行状 态 阻塞状 态 : I/O 请 求( 4)阻塞状 态 就 绪 状 态 : I/O 完成9 为什么要引入挂起状 态?该状态有哪些性质?答:引入挂起状态处于五种不同的需要 : 终端用户需要,父进程需要,操作系统需要,对换需要和负荷调节需要。处于挂起状态的进程不能接收处理机
23、调度。10在 进 行 进 程切 换时 ,所要保存的 处 理机状 态 信息有哪些? 答:进行进程切换时,所要保存的处理机状态信息有:(1 )进程当前暂存信息 2)下一指令地址信息 3)进程状态信息( 4) 过 程和系 统调 用参数及 调 用地址信息。11试说明引起进程创建的主要事件。答:引起进程创建的主要事件有:用户登录、作业调度、提供服务、应用请求。12试说明引起进程被撤销的主要事件。答:引起进程被撤销的主要事件有:正常结束、异常结束(越界错误、保护错、非法指令、特 权 指令 错 、运行超 时 、等待超 时 、算 术 运算 错 、 I/O 故 障 ) 、外界干 预 (操作 员 或操作系 统 干
24、 预 、父 进 程 请 求、父 进 程 终 止 ) 。13在创建一个进程时所要完成的主要工作是什么?(1 )OS 发现请求创建新进程事件后,调用进程创建原语 Creat();(2 )申请空白 PCB;3)为新进程分配资源;4)初始化进程控制块;(5 )将新进程插入就绪队 列 .14在撤销一个进程时所要完成的主要工作是什么?答 : 1) 根 据 被 终 止 进 程 标 识 符 , 从 PCB 集 中 检 索 出 进 程 PCB, 读 出 该 进 程 状 态 。(2 )若被终止进程处于 执行状态,立即终止该进程的执行,置调度标志真,指示该进程被终止后重新调度。(3 )若该进程还有子进 程,应将所有
25、子孙进程终止,以防它们成为不可控进程。(4 )将被终止进程拥有的全部 资源,归还给父进程,或归还给系统。(5 )将被终止进程 PCB 从所在队列或列表中移出,等待其它程序搜集信息。15试说明引起进程阻塞或被唤醒的主要事件是什么?答: a. 请 求系 统 服 务 ; b. 启 动 某种操作; c. 新数据尚未到达; d. 无新工作可 做 .16进程在运行时存在哪两种形式的制约?并举例说明之。(1 )间接相互制约关系。 举例:有两进程 A 和 B,如果 A 提出打印请求,系统已把唯一的一台打印机分配给了进程 B,则进程 A 只能阻塞;一旦 B 释放打印机,A 才由阻塞改为就绪。(2 )直接相互制约
26、关系。 举例:有输入进程 A 通 过单缓冲向进程 B 提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程 A 把数据输入缓冲区后,便唤醒进程 B;反之,当缓冲区已满时,进程 A 因没有缓冲区放数据而阻塞,进程 B 将缓冲区数据取走后便唤醒 A。17 为 什 么 进 程 在 进 入 临 界 区 之 前 应 先 执 行 “进 入 区 ”代 码 ? 而 在 退 出 前 又 要 执 行“ 退 出 区 ” 代 码 ?答 : 为 了 实 现 多 个 进 程 对 临 界 资 源 的 互 斥 访 问 , 必 须 在 临 界 区 前 面 增 加 一 段 用 于检 查 欲 访 问 的 临 界 资 源
27、是 否 正 被 访 问 的 代 码 , 如 果 未 被 访 问 , 该 进 程 便 可 进 入 临 界区 对 资 源 进 行 访 问 , 并 设 置 正 被 访 问 标 志 , 如 果 正 被 访 问 , 则 本 进 程 不 能 进 入 临 界区 , 实 现 这 一 功 能 的 代 码 为 “进 入 区 “代 码 ; 在 退 出 临 界 区 后 , 必 须 执 行 “退 出 区 “代 码 ,用 于 恢 复 未 被 访 问 标 志 , 使 其 它 进 程 能 再 访 问 此 临 界 资 源 。18. 同步机构应遵循哪些基本准则?为什么?答 : 同 步 机 构 应 遵 循 的 基 本 准 则 是
28、: 空 闲 让 进 、 忙 则 等 待 、 有 限 等 待 、 让 权 等 待原 因 : 为 实 现 进 程 互 斥 进 入 自 己 的 临 界 区 。19. 试 从物理概念上 说 明 记录 型信号量 wait 和 signal。答 : wait(S): 当 S.value0 时 , 表 示 目 前 系 统 中 这 类 资 源 还 有 可 用 的 。 执 行一 次 wait 操 作 , 意 味 着 进 程 请 求 一 个 单 位 的 该 类 资 源 , 使 系 统 中 可 供 分 配 的 该类 资 源 减 少 一 个 , 因 此 描 述 为 S.value:=S.value- 1;当 S.va
29、lue0 时 ,表示 该类 资 源 已 分 配 完 毕 , 进 程 应 调 用 block 原 语 自 我 阻 塞 , 放 弃 处 理 机 , 并 插 入到 信 号 量 链 表 S.L 中 。 signal(S): 执 行 一 次 signal 操 作 , 意 味 着 释 放 一 个 单位 的 可 用 资 源 , 使 系 统 中 可 供 分 配 的 该 类 资 源 数 增 加 一 个 , 故 执 行 S.value:=S.value+1操作。若加 1 后 S.value0, 则 表示在 该 信号量 链 表中,仍有等待 该资 源的 进 程被阻塞,因此 应调 用 wakeup 原 语 ,将 S.L
30、 链 表中的第一个等待 进 程 唤 醒。20你认为整型信号量机制是否完全遵循了同步机构的四条准则?答 : 整 型 信 号 量 机 制 不 完 全 遵 循 同 步 机 制 的 四 条 准 则 , 它 不 满 足 “让 权 等 待 ”准 则 。21如何利用信号量机制来实现多个进程对临界资源的互斥访问?并举例说明之。答 : 为 使 多 个 进 程 互 斥 访 问 某 临 界 资 源 , 只 需 为 该 资 源 设 置 一 互 斥 信 号 量 mutex, 并设 其 初 值 为 1, 然 后 将 各 进 程 访 问 该 资 源 的 临 界 区 CS 置 于 wait(mutex)和signal(mut
31、ex)操作之 间 即可。 这样 ,每个欲 访问该临 界 资 源的 进 程在 进 入 临 界区 之 前 , 都 要 先 对 mutex 执 行 wait 操 作 , 若 该 资 源 此 刻 未 被 访 问 , 本 次 wait 操 作 必 然 成 功 , 进 程 便 可 进 入 自 己 的 临 界 区 , 这 时 若 再 有 其 他 进 程 也 欲 进 入 自 己 的临 界 区 , 此 时 由 于 对 mutex 执 行 wait 操 作 定 会 失 败 , 因 而 该 进 程 阻 塞 , 从 而保 证 了 该 临 界 资 源 能 被 互 斥 访 问 。 当 访 问 临 界 资 源 的 进 程
32、退 出 临 界 区 后 , 应 对mutex 执 行 signal 操作, 释 放 该临 界 资 源。利用信号量 实现进 程互斥的 进 程描 述如下:Var mutex: semaphore:=1; beginparbeginprocess 1: begin repeat wait(mutex); critical section signal(mutex); remainder section until false;endprocess 2: begin repeat wait(mutex); critical section signal(mutex); remainder section until false;end parend22试写出相应的程序来描述图 2-17 所示的前 驱图。