操作系统 operating system (1)

第一章 计算机系统

计算机系统概述

计算机技术的发展:

  1. 第一代电子管计算机
  2. 第二代晶体管计算机
  3. 第三代集成电路计算机
  4. 第四代大规模与超大规模集成电路计算机

计算系统的组成:

image-20220913211211957

包括硬件和软件两个部分:

  • 硬件系统:借助电、磁、光、机械等原理构造的各种物理不见的有机结合,是计算机系统工作的载体,包括处理器、存储器、I/O控制系统及外围设备;
  • 软件系统:包括各类程序和文件,用于只会计算机系统按指定要求进行协同工作,包括系统软件、支撑软件和应用软件,其中最关键的系统软件是操作系统和语言处理程序。

计算机硬件系统

image-20220922151501220

计算机硬件系统的组成
冯诺依曼模型

image-20220922151609799

计算机总线
  • 内部总线:用于CPU芯片内部连接各元件
  • 系统总线:用于连接CPU、存储器和各种I/O模块等主要部件
  • 通信总线:用于计算机系统之间通信

image-20220922151646785

中央处理器
存储器

image-20220922153431275

外围设备
  • 输入设备
  • 输出设备
  • 存储设备
  • 机机通信设备

计算机软件系统

计算机软件系统的组成

包括系统软件、支撑软件和应用软件三大组成部分。

  • 系统软件
    • 操作系统、实用程序、语言处理程序、数据库管理系统与专用文件系统。
      • 操作系统实施对各种软硬件资源对的管理控制
      • 实用程序为方便用户所设,如文本编辑等
      • 语言处理程序把汇编\高级语言编写的翻译成机器语言
  • 支撑软件
    • 接口软件、工具软件、环境数据库等。(可以看做系统软件的一部分)
  • 应用软件
    • 用户编写的,乱七八糟的软件
程序员的计算机系统视图

image-20220922153934231

计算机程序的执行过程

image-20220922154111258

计算机操作系统

操作系统(Operating System),简称OS。OS是计算机系统最基础的系统软件,管理软硬件资源、控制程序执行,改善人机界面,合理组织计算机工作流程,为用户使用计算机提供良好运行环境
OS是计算机系统的公共软件基础设施,所有应用程序共用OS服务,且OS内核是反应式reactive机制(中断驱动的)。

操作系统及其分类

  • 基于设计目标:
    • 批处理操作系统
    • 分时操作系统
    • 实时操作系统
  • 基于处理方式:
    • 单处理器操作系统
    • 多处理器操作系统
    • 多用户操作系统
  • 基于应用领域
    • 服务器操作系统
    • 并行操作系统
    • 网络操作系统
    • 分布式操作系统
    • 微机操作系统
    • 手机操作系统
    • 嵌入式操作系统
    • 传感器操作系统
    • ……

深入观察操作系统

资源管理的角度

操作系统的主要任务之一是对资源进行管理,即在相互竞争的应用程序纸质件有序地控制软硬件资源的分配、使用和回收,使资源能够在多个程序之间共享。

  • 由于物理资源在硬件实现上的复杂性,用户几乎不可能直接使用他们,操作系统需提供机制与设施,封装资源使用细节以实现易用性;
  • 由于物理资源有限,而竞争资源的应用程序众多,必须很好地解决资源数量不足和图和合理分配资源这两个问题;

复用、虚拟和抽象是三种基本的资源管理技术。

  • 复用:通过创建虚拟资源以解决物理资源数量不足的问题。包括空分复用共享和时分复用共享;
  • 虚拟:对资源进行转化、模拟和整合,把一个或多个物理资源转变为一个或多个逻辑上的对应物;
  • 抽象:用于处系统复杂性,重点解决资源易用性;

程序控制的角度

多道程序设计(multiprogramming):允许多个程序同时进入计算机系统的主存,通过竞争处理器资源获得交替执行。宏观上这些程序时并发的,均处于开始和结束之间;微观上看这些程序是串行的,它们轮流占用CPU交替执行。

核心问题:CPU速度与I/O速度不匹配的矛盾非常突出。

多道程序设计的特点

  • CPU与外部设备充分并行
  • 外部设备之间充分并行
  • 发挥CPU的使用效率
  • 提高单位时间的算题量
  • 但是,单道程序的运算时间会增加

操作控制计算机的角度

操作系统规定了合理操作计算机的工作流程,该工作流程是由操作系统的操作接口——系统程序提供的。它为用户提供了操作控制计算机的所有服务。

操作系统提供脱机作业控制方式和联机作业控制方式两类作业级接口。

脱机作业控制方式

OS:提供作业说明语言

用户:编写作业说明书,确定作业加工控制步骤,并与程序一并提交。

操作员:通过控制台输入作业

OS:通过作业控制程序自动控制作业的执行

批处理OS的作业控制方式,UNIX的shell程序,DOS的bat文件

联机作业控制方式

  • 计算机:提供终端(键盘/显示器)
  • 用户:登录系统
  • OS:提供命令解释程序
  • 用户:联机输入操作控制命令,直接控制作业步的执行

分时OS的交互控制方式

程序接口的角度

现代操作系统内核提供一系列具有预订功能的服务例程,称为系统调用。

操作系统提供的系统调用按照功能可分为:

  1. 进程管理
  2. 文件管理
  3. 设备管理
  4. 存储管理
  5. 进程管理
  6. 信息维护
  • 操作系统的程序接口:操作系统为程序运行扩充的编程接口
  • 系统调用:操作系统实现的完成某种特定功能的过程;为所有运行程序提供访问操作系统的接口

系统调用的实现要点

  • 编写系统调用处理程序
  • 设计一张系统调用入口地址表,每个入口地址指向一个系统调用的处理程序,并包含系统调用自带参数的个数
  • 陷入处理机制需开辟现场保护区,以保存发生系统调用时的处理器现场

image-20220922163951598

地址表实现前提:

  • 各数据结构的尺寸相同;
  • 各数据结构按号连续排列;(基址 + 偏移量 = 基址 + 功能号 * 结构大小)

image-20220926103204386

image-20220926103819364