第 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)
何大锤的头像何大锤管理团队

相关推荐

  • C语言初阶 – 指针

    一、指针是什么? 指针是什么? 指针理解的2个要点: 1、指针是内存中一个最小单元(内存单元)的编号,也就是地址 2、平时口语中说的指针,通常是指针变量,用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常指的是指针变量 那么我们就这样理解:内存 指针变量 我们可以通过&(取地址操作符)取出变量的内存地址,把地址可以存放到一个变量中,这个变…

    2025年6月29日
    000
  • 09 通讯录管理系统

    通讯录管理系统 1、系统需求 通讯录是一个可以记录亲人、好友信息的工具。 本教程主要利用C++来实现一个通讯录管理系统 系统中需要实现的功能如下: 2、创建项目 创建项目步骤如下: 2.1 创建项目 打开vs2017后,点击创建新项目,创建新的C++项目 填写项目名称,选择项目路径 2.2添加文件 添加成功后,效果如图: 至此,项目已创建完毕 3、菜单功能 …

    2025年6月22日
    300
  • 08 结构体

    8 结构体 8.1 结构体基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 8.2 结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }; 通过结构体创建变量的方式有三种: 示例: 总结1:定义结构体时的关键字是struct,不可省略 总结2:创建结构体变量时,关键字struct可以省略 总结3:结构体变量利用操作符 &…

    2025年6月21日
    300
  • 07 指针

    7.1 指针的基本概念 指针的作用: 可以通过指针间接访问内存 7.2 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名; 示例: 指针变量和普通变量的区别 总结1: 我们可以通过 & 符号 获取变量的地址 总结2:利用指针可以记录地址 总结3:对指针变量解引用,可以操作指针指向的内存 7.3 指针所占内存空间 提问:指针也是种数据类型…

    2025年6月20日
    300
  • 第2章 C语言概述

    一、复习题 1、C语言的基本模块是什么? 它们都叫函数 2、什么是语法错误?写一个英语例子和C语言例子 3、什么是语义错误?写一个英语例子和C语言例子 4、Indiana Sloth编写了下面的程序,并征求你的意见。请帮助他评定 第一行没有加<> 赋值语句错误 函数错误应该是printf 花括号不齐全 二、编程练习 2.1 2.2 2.3 编写一…

    2025年6月20日
    000

发表回复

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

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

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

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