Skip to content

操作系统基础

概念与特征

基础概念

操作系统(Operating System, OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配;以提供给用户和其他软件方便的接口和环境;它是计算机系统中最基本的系统软件

  • 操作系统作为系统资源的管理者

    • 提供的功能:处理机管理、存储器管理、文件管理、设备管理

    • 目标:安全高效

  • 操作系统向上层提供方便易用的服务

  • 操作系统是最接近硬件的层次

操作系统特征

  • 并发、共享

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

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

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

    • 并行:指两个或多个事件在同一时刻同时发生

    共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用

    • 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
    • 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程"同时"对它们进程访问
  • 虚拟:把一个物理上的实体变为若干个逻辑上的对应物

    • 空分复用计数(如虚拟存储器技术)
    • 时分复用计数(如虚拟处理器)
  • 异步:在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停的,以不可预知的速度向前推进。只有系统拥有并发性,才有可能导致异步性

发展与运行机制

发展阶段

  • 手工操作阶段

    • 纸带机。缺点:人机速度矛盾
  • 批处理阶段

    • 单道批处理系统(引入脱机输入输出技术)

      优点:缓解人机速度矛盾。缺点:资源利用率依然很低

    • 多道批处理系统(操作系统开始出现)

      优点:多道程序并发执行,资源利用率高。缺点:不提供人机交互功能

  • 分时操作系统

    • 以时间片为单位轮流为各个用户/作业服务

      优点:提供人机交互功能。缺点:不能优点处理紧急任务

  • 实时操作系统

    • 硬实时系统:必须在绝对严格的规定时间内完成处理
    • 软实时系统:能接受偶尔违反时间规定

其他操作系统

  • 网络操作系统
  • 分布式操作系统
  • 个人计算机操作系统

运行机制

程序运行的过程就是 CPU 执行指令的过程。指令就是处理器(CPU)能识别、执行的最基本命令

OS的运行机制

  • 两种程序
    • 内核程序:整个系统的管理者,需要使用一些特权指令
    • 应用程序
  • 两种指令
    • 特权指令
    • 非特权指令
  • 两种处理器状态
    • 内核态/核心态/管态:此时跑的指令属于内核程序
    • 用户态/目态

CPU 如何变态?

  • 内核态 -> 用户态:一条修改 PSW 的特权指令
  • 用户态 -> 内核态:由中断引起,硬件自动完成

内核态用户态

操作系统运行在内核态,接口程序与应用程序运行在用户态

image-20240403105411477

  • 内核态可以完全访问所有的硬件,也可以执行机器能够运行的任何指令
  • 用户态只能执行一部分机器指令,对于那些会影响机器的控制或者可进行 I/O 操作的指令,在用户态中的程序是禁止的

image-20240403105557644

用户态:是指应用程序在运行时 CPU 所处的状态,这个时候的 CPU 所处的状态级别特别低,不能直接访问某些机器指令,或者不能直接访问 I/O(读写磁盘)

内核态:是指操作系统在运行时 CPU 所处的状态,这个时候的 CPU 是可以执行任何一条的指令,包括特权指令,包括访问 I/O 指令等

image-20240403110437716

中断与系统调用

中断

中断是让操作系统内核夺回 CPU 使用权的唯一途径。中断会使 CPU 由用户态变为内核态,使操作系统重新夺回对 CPU 的控制权

中断类型

  • 内中断(异常、例外):与当前执行的指令有关,中断信号来源于 CPU 内部。CPU 在执行指令是会检查是否有异常发生
    • 陷阱、陷入(trap)
    • 故障(fault)
    • 终止(abort)
  • 外中断(中断):与当前执行的指令无关,中断信号来源于 CPU 外部。每个指令周期末尾,CPU 都会检查是否有外中断信号需要处理
    • 时钟中断
    • I/O 中断请求

中断机制基本原理

不同的中断信号,需要用不同的中断处理程序来处理。当CPU检测到中断信号后,会根据中断信号的类型去查询中断向量表,以此来找到相应的中断处理程序在内存中的存放位置

image-20240326094531224

系统调用

应用程序通过系统调用请求操作系统的服务,来保证系统的稳定性和安全性

系统调用和库函数的区别:

  • 系统调用是操作系统向上层提供的接口
  • 有的库函数是对系统调用的进一步封装,有的库函数没有使用系统调用

什么功能要用到系统调用?

  • 凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成

image-20240326095259596

操作系统结构

操作系统内核

内核是操作系统最重要最核心的部分,实现操作系统内核功能的那些程序就是内核程序

操作系统内核

  • 时钟管理:实现计时功能
  • 中断处理:负责实现中断机制
  • 原语
    • 是一种特殊的程序
    • 处于操作系统最底层,是最接近硬件的部分
    • 这种程序的运行具有原子性——其运行只能一气呵成,不可中断
    • 运行时间较短、调用频繁
  • 对系统资源进行管理的功能
    • 进程管理
    • 存储器管理
    • 设备管理

image-20240326095710219

操作系统体系结构

  • 大内核
    • 将操作系统的主要功能模块都作为系统内核,允许在内核态
    • 优点:高性能
    • 缺点:内核代码庞大,结构混乱,难以维护
  • 微内核
    • 只把最基本的功能保留在内核
    • 优点:内核功能少,结构清晰,方便维护
    • 缺点:需要频繁地在内核态和用户态之间切换,性能低

image-20240326111000475

操作系统结构

image-20240326111400322

分层结构

image-20240326111922144

模块化

image-20240326112012881

操作系统引导

开机过程

image-20240326112931408

虚拟机

虚拟机:使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine, VM),每个虚拟机器都可以独立运行一个操作系统

image-20240326141410344

image-20240326141540042

两种虚拟机管理程序对比

image-20240326141619098

常备不懈,才能有备无患