操作系统_Chapter2

第2章 操作系统概述

2.1 操作系统的目标和功能

  • 操作系统是控制应用程序执行的程序,是应用程序和计算机硬件间的接口
  • 三个目标:
    • 方便:使计算机更易于使用(人机接口)
    • 有效:以更有效的方式使用计算机系统资源(资源管理器)
    • 扩展能力:在不妨碍服务的前提下,有效地开发、测试和引入新的系统功能(操作系统)

2.1.1 作为用户/计算机接口的操作系统

  • 操作系统通常提供以下几个方面的服务:
    • 程序开发:提供帮助程序员开发的工具和服务(编辑器和调试器)
    • 程序运行:为用户处理运行程序时的资源调度问题
    • I/O设备访问:提供操作I/O设备的统一接口
    • 文件访问控制:可提供保护机制
    • 系统访问:提供对资源和数据的保护,以避免未授权用户的访问,同时解决资源竞争时的冲突问题
    • 错误检测和响应:提供响应以清除错误条件

2.1.2 作为资源管理器的操作系统

  • 操作系统作为控制机制的两方面不同:
    • 与普通计算机软件的作用相同,是由处理器执行的一段或一组程序
    • 经常会释放控制,让其余就绪进程得到CPU以执行,而且必须依赖处理器恢复控制
  • 操作系统一部分在内存中,包括内核程序(kernel/nucleus)(包含OS最常用功能,是核心)和当前正在使用的其他程序
  • OS决定何时使用I/O设备、控制文件的访问和使用,并且决定在运行一个特定的用户程序时,可以分配多少处理器时间

2.1.3 操作系统的易扩展性

  • 重要的操作系统要不断发展,原因如下:
    • 硬件升级和新型硬件的出现
    • 新的服务
    • 纠正错误

2.2 操作系统的发展史

2.2.1 串行处理

  • 程序员直接和计算机硬件打交道,没有操作系统
  • 两个主要问题:
    • 调度:大多数装置使用硬拷贝登记表来预订机器时间,有时预订时间大于工作所需时间造成计算机闲置;有时出现问题来不及解决时间就到了
    • 准备时间:称为作业的单个程序,在运行前的准备工作若发生了错误,用户只能从头开始,因此花费大量时间

2.2.2 简单批处理系统

  • 使用一个监控程序(monitor)的软件,操作员把作业按顺序组织成批,放在输入设备上,供监控程序使用,每完成一个程序返回到监控程序,加载下一个程序
  • 两个角度:
    • 监控程序角度:控制事件的顺序。大部分监控程序总是处于内存中并且可以执行,称为常驻监控程序(resident monitor),其他部分包括一些实用程序和公用函数
    • 处理器角度:“控制权交给作业”表示处理器当前取的和执行的都是用户程序中的指令;“控制权返回给监控程序”表示处理器当前从监控程序中取指令并执行(CPU在monitor和用户作业间的使用权限转换来看简单批处理)
  • 监控程序完成调度功能也改善了作业的准备时间,每个作业中的指令均以一种作业控制语言(Job Control Language,JCL)的基本形式给出
  • 其他硬件功能:
    • 内存保护:用户程序运行时不能改变包含监控程序的内存区域
    • 定时器:防止一个作业独占系统
    • 特权指令:只能由监控程序执行(I/O指令等)
    • 中断
  • 内存保护和特权指令引出了运行模式的概念:
    • 用户模式(user mode):用户程序执行,部分内存区域受保护,特权指令不允许执行
    • 内核模式(kernel mode):监控程序执行,可以执行特权指令,可以访问受保护内存

2.2.3 多道批处理系统

  • 简单批处理的作业经常I/O命令,一旦I/O中断,若内存中只有一个用户作业,则CPU要等待
  • 多道程序设计(multiprogramming)/多任务处理(multitasking):内存空间容得下操作系统和多个用户程序,当一个作业需要等待I/O时,处理器切换到另一个可能并不在等待I/O的作业
  • 需要注意的问题:
    • 内存管理:待运行的作业需要保存在内存中
    • 调度:处理器决定运行哪个作业
    • 资源竞争

2.2.4 分时系统

  • 多个用户分享处理器时间,该技术称为分时(time sharing)

  • 在分时系统中,多个用户可以通过终端同时访问系统,由操作系统控制每个用户程序在很短的时间内交替执行

  • 多道批处理与分时的比较

    多道批处理 分时
    主要目标 充分利用处理器 减小响应时间
    操作系统指令源 作业控制语言命令(JCL)
    作业提供的命令
    终端键入的命令
  • 时间片(time slicing):在固定的时间间隔内,当前用户被抢占,另一个用户被载入的技术

  • 也存在内存管理、访问控制、资源竞争的问题

2.3 主要成就

  • 4个重要理论进展:
    • 进程
    • 内存管理
    • 信息保护和安全
    • 调度和资源管理

2.3.1 进程

  • 程序设计出错的主要原因:
    • 不正确的同步:例如不正确的信号机制
    • 失败的互斥:多个用户或程序试图同时访问一个共享资源时,互斥机制出错
    • 不确定的程序操作:程序调度顺序可能会影响某个特定程序的输出结果
    • 死锁:很可能有两个或多个程序相互挂起等待
  • 解决以上问题,需要一种系统级方法监控处理器中不同程序的执行,进程为此提供基础
  • 进程的组成三部分:
    • 一段可执行的程序
    • 程序所需要的相关数据(变量、工作空间、缓冲区等)
    • 程序的执行上下文
  • 执行上下文(execution context)/进程状态(process state):操作系统用来管理和控制进程所需的内部数据
  • 线程(thread):一个分配了资源的进程可分解为多个并发的线程,这些线程相互协作执行,完成进程的工作

2.3.2 内存管理

  • 5项存储器管理职责:
    • 进程隔离
    • 自动分配和管理
    • 支持模块化程序设计
    • 保护和访问控制
    • 长期存储
  • 使用虚存文件系统机制满足上述要求
    • 文件系统:在一个有名称的对象(即文件file)中保存信息,实现长期存储
    • 虚存(virtual memory):允许程序以逻辑方式访问存储器,不考虑物理内存上的可用空间数量。
    • 程序使用虚地址访问,虚地址将映射成真实的内存地址,如果访问的虚地址不在实际内存中,实际内存中的一部分内容将换到外存中,然后换入所需要的数据块。

2.3.3 信息保护和安全

  • 四类安全和保护问题:
    • 可用性:保护系统不被中断
    • 保密性:保护用户不能读取未授权访问的数据
    • 数据完整性:保护数据不被未授权修改
    • 认证:涉及用户身份的正确认证和消息或数据的合法性

2.3.4 调度和资源管理

  • 考虑3个因素:
    • 公平性
    • 有差别的响应性
    • 有效性(最大吞吐量、最小响应时间、尽可能多用户)

操作系统_Chapter2
http://example.com/2022/09/09/操作系统-Chapter2/
作者
hailey
发布于
2022年9月9日
许可协议