第 1 章 计算机系统概述02 – 操作系统的发展历程

一、选择题

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

1. 脱机技术(脱机输入 / 输出技术)

  • 定义
    在计算机主机(CPU)之外,通过独立的外围设备(如磁带机)预先将作业的输入数据或输出结果进行处理,无需 CPU 直接控制的技术。
  • 核心思想
    减少 CPU 对输入 / 输出操作的等待时间,通过 “脱机” 预处理提高系统效率。
  • 解决的问题
    早期批处理系统中,CPU 与慢速 I/O 设备速度不匹配的问题。
  • 典型应用
    20 世纪 60 年代的批处理系统(如 IBM 的 OS/360),利用磁带进行脱机输入 / 输出。
  • 特点
    • 需独立外围设备,与主机并行工作。
    • 属于 “预输入 / 滞后输出”,不涉及内存或进程调度。

2. 虚拟技术(虚拟内存技术)

  • 定义
    通过软硬件结合,将物理内存与外存(如硬盘)统一管理,为程序提供一个比实际物理内存更大的 “逻辑内存空间”。
  • 核心思想
    利用局部性原理,让程序 “以为” 自己拥有连续的大内存,实际数据按需在内存与外存间动态加载。
  • 解决的问题
    内存容量不足、多进程内存隔离与共享问题。
  • 典型应用
    现代操作系统(如 Windows、Linux)的虚拟内存管理,支持大程序运行和多任务并发。
  • 特点
    • 基于分页 / 分段机制,通过页表映射逻辑地址与物理地址。
    • 属于 “逻辑内存扩展”,对应用程序透明。

3. 交换技术(Swapping)

  • 定义
    将内存中暂时不运行的进程数据整体转移到外存(如硬盘),腾出空间给其他进程;当进程需要运行时,再从外存调回内存的技术。
  • 核心思想
    通过内存与外存的 “数据交换”,动态调整内存中的进程,提高内存利用率。
  • 解决的问题
    多进程环境下内存资源竞争,实现进程的 “挂起” 与 “恢复”。
  • 典型应用
    分时操作系统(如早期 Unix)、现代系统的休眠(Hibernate)功能。
  • 特点
    • 以进程为单位整体交换,粒度较大。
    • 可能引入延迟(如换入 / 换出时间),影响性能。

4. 多道程序设计技术(Multiprogramming)

  • 定义
    在内存中同时存放多个程序,CPU 通过快速切换(如时间片轮转)交替执行它们,宏观上实现 “多程序并发运行” 的技术。
  • 核心思想
    利用 CPU 与 I/O 设备的并行性,避免单一程序独占 CPU 导致资源浪费。
  • 解决的问题
    单道程序系统中 CPU 利用率低下的问题(如早期批处理系统中程序需等待 I/O 时 CPU 空闲)。
  • 典型应用
    现代操作系统的基础,如 Linux、Windows 的多任务处理。
  • 特点
    • 依赖操作系统的进程调度与内存管理(如分区分配、保护机制)。
    • 微观上仍是串行执行,宏观上表现为并发。

核心区别对比

维度脱机技术虚拟技术交换技术多道程序设计技术
目标优化 I/O 效率扩展逻辑内存空间动态管理内存资源提高 CPU 利用率
核心操作外围设备预处理内存与外存逻辑映射进程整体换入 / 换出多进程调度与切换
处理粒度作业(输入 / 输出)页 / 段(内存单元)进程(完整地址空间)进程 / 线程
依赖技术磁带机等硬件分页 / 分段机制外存存储进程调度、内存保护
时代背景早期批处理系统现代操作系统多进程分时系统操作系统基础技术

总结

虚拟技术交换技术均属于内存管理范畴,前者通过逻辑扩展隐藏物理限制,后者通过数据交换动态调整内存占用。
这些技术共同推动了操作系统从简单批处理向复杂多任务系统的演进。

脱机技术是早期硬件优化手段,聚焦 I/O 效率;

多道程序设计技术是操作系统并发的基石,解决 CPU 利用率问题;

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

第 1 章 计算机系统概述02 - 操作系统的发展历程

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
解析
第 1 章 计算机系统概述02 - 操作系统的发展历程

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

分时系统主要用于交互式作业而非批处理作业。分时系统中每个任务依次轮流使用时间片,这是一种公平的 CPU 分配策略。分时系统的响应时间好,因为分时系统采用了时间片轮转法来调度进程,可以使得每个任务在较短的时间内得到响应,提高用户的满意度。分时系统是一种多用户操作系统,因为分时系统可以支持多个终端同时连接到同一台计算机上。

第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

采用优先级+非抢占式调度算法,既可使重要的作业/进程通过高优先级尽快获得系统响应,又可保证次要的作业/进程在非抢占式调度下不会迟迟得不到系统响应,这样有利于改善系统的响应时间。

加大时间片会延迟系统响应时间;

静态页式管理和代码可重入与系统响应时间无关。

静态页式管理:是内存管理的一种方式。把内存划分成大小固定的页框,程序也分割成同样大小的页面 。

代码可重入:指的是一段代码可以被多个进程或线程安全地同时调用执行 。

第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

BACD

第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,选项1错误。

批处理系统按发展历程又分为单道批处理系统、多道批处理系统,选项Ⅱ正确。

多道程序设计技术允许把多个程序同时装入内存,并允许它们在CPU中交替运行,共享系统中的各种硬/软件资源,当一道程序因I/O 请求而暂停运行时,CPU 便立即转去运行另一道程序,即多道批处理系统的IO 设备可与 CPU 并行工作,这是借助中断技术实现的,选项 Ⅲ 正确。

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

多道程序系统中总有一个作业在 CPU 上执行,因此提高了 CPU 的利用率、系统吞吐量和 IO 设备利用率,选项1、Ⅲ、IV 正确。

但是,系统要付出额外的开销来组织作业和切换作业,选项Ⅱ错误。

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

现代操作系统都是多任务的,允许用户把程序分为若干个任务,使它们并发执行。

在单CPU中,这些任务并发执行,即宏观上并行执行,微观上分时地交替执行;

在多CPU 中,这些任务是真正的并行执行。

此外,引入中断之后才出现了多任务操作系统,而中断方式的特点是 CPU 与外设并行工作,因此选项1正确。

多个任务必须互斥地访问共享资源,为达到这一目标必须对共享资源进行必要的保护,选项Ⅱ正确。

多任务操作系统并不一定需要运行在多 CPU 的硬件上,单个 CPU 通过分时使用也能满足要求,选项 1 错误。综上所述,选项1、Ⅱ 正确,选项 Ⅲ 错误。

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

操作系统的基本特点:并发、共享、虚拟、异步,其中最基本、一定要实现的是并发和共享

早期的多道批处理操作系统会将所有进程的数据全部调入主存,再让多道程序并发执行,即使不支持虚拟存储管理,也能实现多道程序并发。

进程多并不意味着CPU 利用率高,进程数量越多进程之间的资源竞争越激烈,甚至可能因为资源竞争而出现死锁现象导致 CPU 利用率低。

二、综合题

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

第 1 章 计算机系统概述02 - 操作系统的发展历程

第 1 章 计算机系统概述02 - 操作系统的发展历程
解析

第 1 章 计算机系统概述02 - 操作系统的发展历程

本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客

(0)
何大锤的头像何大锤管理团队

相关推荐

  • 04 程序流程结构

    C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构 循环结构:依据条件是否满足,循环多次执行某段代码 顺序结构:程序按顺序执行,不发生跳转 选择结构:依据条件是否满足,有选择的执行相应功能 4.1 选择结构 4.1.1 if语句 作用:执行满足条件的语句 if语句的三种形式 示例: 注意:if条件表达式后不要加分号 示例: 示例: 嵌套if…

    2天前
    300
  • 初始C语言01

    0、什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MC…

    3天前
    000
  • 01 你好Python

    一、课件

    3天前
    000
  • 03 运算符

    作用:用于执行代码的运算 本章我们主要讲解以下几类运算符: 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 3.1 算术运算符 作用:用于处理四则运算 算术运算符包括以下符号: 运算符 术语 示例 结果 + 正号 +3 3 …

    3天前
    200
  • 02 数据类型

    C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间 2.1 整型 作用:整型变量表示的是整数类型的数据 C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同: 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15 ~ 2^15-1) = -327…

    4天前
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......