笔记_408_操作系统_01. 计算机系统概述

01. 计算机系统概述

1.1 OS 的基本概念

笔记_408_操作系统_01. 计算机系统概述_第1张图片

  • 操作系统(OS)
    • 控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配——系统资源的管理者
    • 提供给用户和其他软件方便的接口和环境——向上层提供方便易用的服务
    • 是计算机系统中最基本的系统软件——最接近硬件的一层软件

OS的目标和功能

  1. 计算机系统资源的管理者

    • 处理机管理:可以归结为对进程的管理(多道程序环境下,处理机的分配和运行都是以进程为基本单位)
    • 存储器管理
    • 文件管理
    • 设备管理:主要任务是完成用户的 I/O 请求
  2. 用户与计算机硬件系统之间的接口

    • 图形用户界面 GUI :最终通过调用程序接口实现

    OS提供的接口主要分两类

    • 命令接口:用户利用这些操作命令来组织和控制作业的执行
      • 联机式命令接口 / 交互式命令接口
        • 适用于:分时 / 实时系统
        • 由一组键盘操作命令组成
        • 说一句做一句
      • 脱机式命令接口 / 批处理命令接口
        • 适用于:批处理系统
        • 由一组控制命令组成
        • 说一堆做一堆
    • 程序接口:编程人员可以使用它们来请求OS服务
      • 系统调用 / 广义指令(用户通过程序使用)
  3. 实现对计算机资源的扩充

    • 裸机(纯硬件)→ 扩充机器 / 虚拟机(覆盖了软件的机器)

OS的特征

并发和共享是 OS 两个最基本的特征,两者之间互为存在的条件。没有并发和共享,就谈不上虚拟和异步

  • 并发:指两个或多个事件在同一时间间隔内发生。宏观上是同时发生的,但微观上是交替发生的

    • OS 通过分时实现

    • 操作系统和程序并发是一起诞生的

    • 单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行

      多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行

      易混淆- 并行:同一时刻,需要相关硬件的支持

  • 共享

    • 互斥共享方式:一个时间段内只允许一个进程访问该资源
    • 同时共享方式:允许一个时间段内由多个进程“同时”对它们进行访问
  • 虚拟:把一个物理上的实体变为若干个逻辑上的对应物

    • 空分复用技术:如虚拟存储技术
    • 时分复用技术:如虚拟处理器技术
  • 异步

1.2 OS 发展历程

笔记_408_操作系统_01. 计算机系统概述_第2张图片

  • 手工操作阶段

    • 所有工作都要人工干预,人机矛盾越来越大

    • 突出特点:用户独占全机、CPU等待手工操作

  • 批处理阶段:为解决人机矛盾及 CPU 和 I/O 设备之间速度不匹配的矛盾

    • 单道批处理系统:缓解了人机速度矛盾

      • 对作业的处理是成批进行的,但内存中始终保持一道作业
      • 特点:自动性、顺序性、单道性
      • 问题:每次主机内存中仅存放一道作业,每当它运行期间发出 I/O 请求,高速 CPU 便处于等待低速 I/O 完成的状态
    • 多道批处理系统:进一步提高资源利用率和系统吞吐量

      • 允许多个程序同时进入内存且在 CPU 中交替运行,共享系统中的软硬件资源

      • 特点:多道、宏观上并行、微观上串行、制约性(资源竞争)、间断性、共享性

        程序失去了封闭性和顺序性

  • 分时操作系统:为解决人机交互的问题

    • 计算机以时间片为单位轮流各个用户 / 作业服务(多个用户通过终端同时共享一台主机)
    • 特点:同时性/多路性、交互性、独立性(系统中多个用户可以彼此独立地进行操作)、及时性
  • 实时操作系统

    • 特点:实时性、可靠性

1.3 OS 运行环境

1.3.1 处理及运行模式

笔记_408_操作系统_01. 计算机系统概述_第3张图片

  • 特权指令:不允许用户直接使用的指令

    • 如:I/O 指令置中断指令、清内存、置时钟、分配系统资源、修改虚表的段表或页表、修改用户访问权限、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等的指令

    【2021.23】常见的特权指令:① 有关对 I/O 设备操作的指令;② 有关访问程序状态的指令;③ 存取特殊寄存器指令;④ 其他指令

  • 非特权指令:允许用户直接使用的指令,不能直接访问系统中的软硬件资源

  • 应用程序(用户态)向 OS 请求服务时通过使用访管指令 = 陷入指令 = trap指令,产生一个中断事件将 OS 转换为核心态

    访管指令本身不是特权指令

大多数OS的内核包括4方面内容

  • 时钟管理
  • 中断机制
    • 现代 OS 是靠中断驱动的软件
    • 只有一小部分功能属于内核,它们负责保护和恢复中断现场的信息,转移控制权到相关的处理程序
  • 原语
  • 系统控制的数据结构及处理:实际上是系统调用类的指令
    • 常见的操作有进程管理、存储器管理、设备管理等

1.3.2 中断和异常的概念

笔记_408_操作系统_01. 计算机系统概述_第4张图片

  • 时钟中断:处理和时间有关的信息及决定是否执行调度程序

    和时间有关的所有信息包括:系统时间(可以更新内核中时钟变量的值)、进程的时间片、延时、使用 CPU 的时间、各种定时器

1.3.3 系统调用

  • 系统调用

    • 操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务
    • 用户在程序中调用 OS 所提供的一些子功能,可视为特殊的公共子程序
  • 系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代完成

  • 笔记_408_操作系统_01. 计算机系统概述_第5张图片

  • 系统调用的过程

    笔记_408_操作系统_01. 计算机系统概述_第6张图片

    【2022.31】发生系统调用时,CPU 通过执行软中断指令(软件引起的中断)让 CPU 的运行模式由用户态切换到内核态,该过程与中断和异常的处理过程相同

    • 硬件:负责保存断点程序状态字,并将 CPU 模式改为内核态
    • OS:执行 OS 内核的系统调用入口程序,该内核程序负责保存通用寄存器的内容,再调用执行特定的系统调用服务例程

    注意区分调用和执行,调用可能发生在用户态(调用广义指令的那条指令不一定是特权指令),但广义指令存在于核心态,一定执行在核心态

    操作系统不同,底层逻辑、实现方式均不同,为应用程序提供的系统调用接口也不同

1.4 OS 结构

笔记_408_操作系统_01. 计算机系统概述_第7张图片
笔记_408_操作系统_01. 计算机系统概述_第8张图片

  • 微内核
    • 基本概念

      • 从四方面来描述

        1. 内核足够
        2. 基于客户 / 服务器模式
        3. 应用**“机制与策略分离”**原理
        4. 采用面向对象技术
      • 将 OS 划分为两部分:微内核和多个服务器(借助微内核提供的消息传递机制实现交互)

        • 微内核通常包括
          1. 与硬件处理紧密相关的部分
          2. 一些较基本的功能
          3. 客户与服务器之间的通信
        • 微内核 OS 中的绝大部分功能都放在微内核一组服务器(进程)中实现——用户态
    • 基本功能:“机制与策略分离”

      • 进程(线程管理)
        • 进程通信 / 切换 / 调度,处理机之间的同步等都在微内核中
      • 低级存储器管理
        • 微内核中只配置最基本的低级存储器管理机制,这部分是依赖于硬件的
      • 中断和陷入处理
    • 特点

      1. 扩展性和灵活性:增加或修改功能时,只需在相应的服务器中增加或修改,或则再增加一个专用的服务器,无需改动内核代码
      2. 可靠性和安全性:一个模块的错误不会使得整个系统崩溃
      3. 可移植性
      4. 分布式计算:C 和 S 之间、S 和 S 之间的通信采用消息传递机制,使得微内核系统可以很好地支持分布式系统和网络系统

典型的大内核/宏内核/单内核 操作系统: Linux、UNIX

典型的 微内核 操作系统: Windows NT

1.5 OS 的引导(开机)

OS 是一种程序,程序以数据的形式存放在硬盘中

笔记_408_操作系统_01. 计算机系统概述_第9张图片

CPU从一个特定主存地址开始,取指令,执行ROM(BIOS)中的引导程序/自举程序/boot程序(之后 → 先进行硬件自检,再开机

  • ROM 中存储了 BIOS(基本输入/输出系统 ),BIOS 中有引导程序

加载带有 OS 的硬盘,将磁盘的第一块 —— **主引导记录(MBR)**读入内存,执行磁盘引导程序,扫描分区表

  • 主引导记录:告诉 CPU 去硬盘的哪个分区找 OS

加载硬盘活动分区,从活动分区(又称主分区,即安装了 OS 的分区)读入分区引导记录(PBR),执行其中的程序

  • 分区引导记录 PBR:用于寻找并激活分区根目录下用于引导 OS 的程序(启动管理器

根目录下找到完整的操作系统初始化程序(即 启动管理器)并执行,加载 OS,完成“开机”的一系列动作


计算机开机后,OS 被加载到 RAM 中

  • 引导程序分两种
    • 位于 ROM 中的自举程序(BIOS的组成部分),用于启动具体设备
    • 位于装有 OS 硬盘的活动分区的引导扇区中的引导程序(称 启动管理器),用于引导 OS

OS 初始化过程中需要创建中断向量表

1.6 虚拟机

  • 虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),每个虚拟机器都可以独立运行一个操作系统
  • 同义术语:虚拟机管理程序 / 虚拟机监控程序 / Virtual Machine Monitor(VMM)/ Hypervisor

笔记_408_操作系统_01. 计算机系统概述_第10张图片
笔记_408_操作系统_01. 计算机系统概述_第11张图片

VMware workstation 虚拟机属于第二类虚拟机管理程序

Notes

  • 库函数和系统调用的区别
    • 库函数:是语言或应用程序的一部分,可以运行在用户空间
      • 许多库函数会使用系统调用来实现功能,未使用系统调用的库函数执行效率通常比系统调用高
    • 系统调用:是 OS 的一部分,是内核为用户提供的程序接口,运行在内核空间

你可能感兴趣的:(408_操作系统_notes,笔记,考研)