一、计算机系统概述

(一)操作系统的基本概念

1.操作系统的概念

操作系统是指:控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。

2.操作系统的特征

(1) 并发

操作系统的并发性是指计算机系统重同时存在多个运行的程序,因此它具有处理和调度多个程序同时执行的能力。

在操作系统中引入进程的目的是,使程序能并发执行。

操作系统的并发性是通过分时得以实现的。

注意区分并发和并行。

(2) 共享

资源共享,系统中的资源可以供内存中多个并发执行的进程共同使用。分为互斥共享方式和同时访问方式。

  • 互斥访问方式
  • 同时访问方式

【并发和共享的关系】:并发和共享是操作系统两个最基本的特征,两者之间互为存在的条件:

没有并发就无法共享;没有共享就无法并发

(3) 虚拟

虚拟是指把一个物理实体变为若干逻辑上的对应物。

  • 虚拟处理器
  • 虚拟内存
  • 虚拟外部设备

虚拟技术可以归纳为:时分复用技术(如处理器的分时共享)、空分复用技术(如虚拟存储器)

(4) 异步

在多道程序环境下,多个进程并发执行,但由于资源有限(比如 CPU 只有一个),进程会交替使用 CPU,执行过程是“走走停停”的,而不是一气呵成,这就是进程的异步性。

异步性使操作系统运行在随机环境下,可能导致与时间有关的错误,如:多个进程访问同一全局变量,执行顺序不同可能导致结果不同。

3.操作系统的目标和功能

(1) 操作系统作为计算机资源的管理者
  • 处理机管理

    (处理机的分配和运行以进程为基本单位,因而对处理机的管理可归结为对进程的管理。)

  • 存储器管理
  • 文件管理
  • 设备管理
(2) 操作系统作为用户与计算机硬件系统之间的接口
  • 命令接口:允许用户通过特定的命令来组织和控制作业(任务)的执行。

    • 联机命令接口(交互式命令窗口)
    • 脱机命令窗口(批处理命令窗口)
  • 程序接口:由一组系统调用(System Call)组成,允许运行中的程序请求操作系统内核提供服务(如申请内存、读写磁盘、创建进程等)。
(3) 操作系统实现了对计算机资源的扩充

没有任何软件支持的计算机称为裸机

操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强,使用更方便 的机器。我们把覆盖了软件的机器称为扩充机器虚拟机

(二)操作系统的发展历程

1. 手工操作阶段(无操作系统)

  • 特点:所有操作(装程序、运行、输出)均需人工干预,用户独占全机。
  • 缺点:资源利用率极低,CPU 频繁等待手工操作,效率低下。
  • 核心矛盾:人机速度不匹配,资源浪费严重。

2. 批处理阶段(操作系统开始出现)

为解决人机矛盾及 CPU 与 I/O 速度不匹配问题,批处理系统应运而生。

  • 单道批处理系统

    • 特征:自动性(无需人工干预)、顺序性(按进入顺序执行)、单道性(内存中仅一道作业)。
    • 局限:CPU 在作业 I/O 时仍需等待,资源利用率仍有提升空间。
  • 多道批处理系统(引入多道程序设计技术)

    • 特征:多道(内存中同时存放多道程序)、宏观上并行(程序都处于运行过程中)、微观上串行(程序轮流占用 CPU)。
    • 优点:资源利用率高,系统吞吐量大,CPU 和外设保持 “忙碌” 状态。
    • 缺点:用户响应时间长,无交互能力,无法干预或了解程序运行。

3. 分时操作系统

  • 核心思想:将处理器时间划分为短时间片,按时间片轮转分配给多个终端用户。
  • 主要特征:

    1. 同时性:允许多个用户同时使用一台计算机。
    2. 交互性:用户可通过终端与系统对话,控制程序运行。
    3. 独立性:用户间互不干扰,感觉独占计算机。
    4. 及时性:用户请求能在短时间内获得响应。
  • 解决问题:良好的人机交互,满足用户对系统响应的即时性需求。

4. 实时操作系统

  • 核心目标:在严格的时间限制内完成紧急任务,无需排队。
  • 分类:

    • 硬实时:任务必须在绝对规定的时间内完成(如飞行器控制)。
    • 软实时:偶尔超时不会造成严重后果(如机票预订)。
  • 特点:对外部信号响应及时,处理过程具有及时性可靠性

5. 网络操作系统与分布式操作系统

  • 网络操作系统:将计算机网络中的各台计算机有机结合,提供统一、经济、有效的网络通信与资源共享服务。
  • 分布式操作系统:由多台计算机组成,系统中任意两台计算机可通过通信方式交换信息;所有计算机地位平等,可并行、协作完成同一任务,具有分布性并行性

6. 个人计算机操作系统

  • 应用场景:广泛应用于文字处理、电子表格、游戏等,是目前使用最广泛的操作系统。
  • 常见代表:Windows、Linux、MacOS 等。

(三)程序运行环境

1.处理器运行模式

  • CPU运行两种不同性质的程序:操作系统内核程序、应用程序。
  • 指令分为:特权指令、非特权指令。内核程序可以执行特权指令,应用程序不可以。
  • CPU的运行模式划分为:用户态(目态)、核心态(管态、内核态)。
  • 与硬件关联紧密的模块(时钟管理等)和运行频率较高的程序(进程管理等)共同构成操作系统的内核

操作系统的内核包括4方面的内容:

(1) 时钟管理
  • 向用户提供系统时间
  • 采用时间片轮转调度,实现进程的切换
(2) 中断机制

中断机制的本质是让CPU在执行当前任务时,能够相应并处理来自硬件或软件的紧急请求,处理完毕后再无缝回到原来的任务重。

中断机制中,内核负责保护和恢复中断现场的信息。

例:你正在电脑上写代码(CPU 执行程序),突然收到了一封新邮件(外设中断)。

主程序运行:你正在用编辑器写代码,CPU 正在执行编辑器进程的指令,屏幕上不断刷新你输入的字符。

中断发生:网卡检测到新邮件到达,向 CPU 发送了一个硬件中断信号。

内核响应(中断处理核心):

  • CPU 立即暂停当前的编辑器代码执行,由内核保护现场(保存当前寄存器、程序计数器等)。
  • 内核根据中断号,找到对应的网卡驱动处理程序入口,将控制权转移过去。

处理程序执行:网卡驱动程序开始执行,读取网卡缓冲区中的邮件数据,将其存入内存,并更新邮件客户端的未读计数。

恢复执行:处理完成后,内核恢复之前保存的编辑器现场,CPU 继续执行被打断的代码编辑任务,你几乎感觉不到任何卡顿。

(3) 原语

原语处于操作系统最底层,运行具有原子性,运行时间短,调用频繁。

(4) 系统控制的数据结构及处理

系统控制的数据接口有作业控制块、进程控制块、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。

2.中断和异常

定义
  • 中断,也称外中断,是指来自CPU执行指令外部的事件。通常用于信息输入/输出。

    • 时钟中断:硬件定时器按预设频率周期性地向CPU发送中断信号,就像心脏跳动。

      每次中断,CPU 都会暂停当前任务,进入内核态执行时钟中断处理程序,更新系统时间、检查进程时间片、驱动调度器等。

  • 异常,也称内中断,是指来自CPU执行指令内部的事件。如程序的非法操作码、地址越界等。

    异常不能被屏蔽,一旦出现必须立即处理。

分类

image-20260225230412152

  • 异常可以分为故障、自陷、终止。(异常是不可屏蔽的)

    • 故障(Fault):通常是由指令执行引起的异常,如除数为0等。(属于软件中断)
    • 自陷(Trap):一种事先安排的异常事件,用于在用户态下调用操作系统内核程序。(属于软件中断)
    • 终止(Abort):出现了使得CPU无法继续执行的硬件故障,如控制器出错等。(属于硬件中断)
  • 外中断可以分为可屏蔽中断、不可屏蔽中断。(都属于硬件中断)

    • 可屏蔽中断:通过INTR线发出的中断请求。通过改变屏蔽字可以实现多重中断,使中断处理更加灵活。
    • 不可屏蔽中断:通过NMI线发出的中断请求。通常是紧急的硬件故障,如电源掉电等。
处理过程

中断和异常处理过程的大致描述如下:

当CPU在执行用户程序的第i条指令时检测到一个异常事件/执行第i条指令后发现一个中断请求信号,则CPU打断当前的用户程序,转到相应的中断或异常处理程序去执行。若中断或异常处理程序能解决相应的问题,则在中断或异常处理程序的最后,CPU通过执行中断或异常返回命令,回到被打断的用户程序的第i条指令或第i+1条指令继续执行;若中断或异常处理程序发现是不可恢复的致命错误,则终止用户程序。

3.系统调用

系统调用按功能可分为:设备管理、文件管理、进程控制、进程通信、内存管理。

系统调用的处理需要操作系统内核程序负责完成。要运行在核心态,用户程序可以执行陷入指令(访管指令、trap指令)来发起系统调用。

过程:用户程序执行 “陷入指令”,之后相当于把 CPU 的使用权主动交给操作系统内核程序(CPU 状态会从用户态进入核心态),之后操作系统内核程序再对系统调用请求做出相应处理。处理完成后,操作系统内核程序又会把 CPU 的使用权还给用户程序(即 CPU 状态会从核心态回到用户态)。

image-20260226013516997

由用户态转到核心态,会用到访管指令,访管指令是在用户态使用的,它不是特权指令。

从核心态转向用户态由一条指令实现,一般是中断返回指令,这条指令是特权命令。

注:由用户态进入核心态,不仅状态需要切换,而且所用的堆栈也可能需要由用户堆栈切换为系统堆栈,但这个系统堆栈也是属于该进程的。

(四)操作系统结构

1.分层法

  • 核心思想:将操作系统分为若干层,仅能调用紧邻的低层功能(单向依赖)。
  • 优点:便于系统调试和验证;易于扩充和维护。
  • 缺点:合理定义各层比较困难;层间依赖导致灵活性不足;效率较低。

2.模块化

  • 核心思想:按功能划分为若干独立模块,模块间通过接口通信(微内核由模块、子模块组成)。
  • 衡量标准:内聚性(模块内部关联程度)、耦合度(模块间相互影响程度)。
  • 优点:提高系统设计正确性、可理解性和可维护性;增强可适应性;加速开发过程。
  • 缺点:模块接口验证困难,难以找到可靠的决定顺序。

3.宏内核(单内核)

  • 核心思想:将系统主要功能模块作为紧密整体运行在核心态,管理模块间共享信息。
  • 代表系统:Windows、Android、iOS、macOS、Linux 等。
  • 优势:性能高,模块间交互直接。
  • 发展趋势:逐步吸收微内核优点,向混合内核架构演进(如 Fuchsia、鸿蒙 OS)。

4.微内核

  • 基本概念

    • 将内核中最基本的功能保留在内核,不需要在核心态执行的功能移到用户态,以降低内核设计复杂性。
    • 微内核是精心设计的小型内核,仅包含与硬件紧密相关及较基本的功能,其余功能由用户态服务器实现。
  • 微内核通常功能

    • 进程(线程)管理:进程创建、切换、调度等机制部分放入微内核。
    • 低级存储器管理:地址映射等依赖硬件的机制放入微内核。
    • 中断和陷入处理:仅将与硬件紧密相关的小部分放入微内核,其余交由服务器处理。
  • 主要优点:扩展性和灵活性好;可靠性和安全性高;可移植性强;支持分布式和网络系统。
  • 主要问题:频繁的核心态与用户态切换导致执行开销增大,可通过将频繁使用的服务移回内核改善性能。

5.外核

  • 核心思想:在裸机上运行外核程序,为虚拟机分配独立的硬件资源(如磁盘块),并检查资源使用权限。
  • 优点:减少了地址映射等不必要的抽象,提高性能;应用可根据需求定制资源。
  • 缺点:应用需自行管理资源,复杂度增加;外核需保证虚拟机间不发生冲突。

(五)操作系统引导

操作系统引导是指计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统。

操作系统引导过程(8 步)

  1. 激活 CPU:CPU 读取 ROM 中的 boot 程序,将指令寄存器设置为 BIOS 的第一条指令,开始执行 BIOS。
  2. 硬件自检:BIOS 启动后进行硬件自检(POST),检查硬件故障;有故障则蜂鸣中止,无故障则显示硬件信息。
  3. 加载带操作系统的硬盘:BIOS 按启动顺序(Boot Sequence),将控制权交给首位可引导存储设备,CPU 加载其引导扇区内容。
  4. 加载主引导记录(MBR):硬盘以特定标识区分引导盘和非引导盘,MBR 告诉 CPU 去哪个主分区找操作系统。
  5. 扫描硬盘分区表:MBR 包含硬盘分区表,扫描后识别活动分区(含操作系统的分区),并将控制权交给它。
  6. 加载分区引导记录(PBR):读取活动分区的第一个扇区(PBR),其作用是寻找并加载活动分区根目录下的启动管理器。
  7. 加载启动管理器:PBR 搜索并加载活动分区中的启动管理器。
  8. 加载操作系统:启动管理器加载操作系统内核,完成引导,系统启动。

(六)虚拟机

虚拟机是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。有两类虚拟化方法。

1. 第一类虚拟机管理程序(裸金属架构)

  • 运行位置:直接运行在裸机硬件上,是唯一拥有最高特权级的程序,具备多道程序功能。
  • 核心特点:向上层提供与裸机硬件精确复刻的虚拟机,因此虚拟机上可运行任意操作系统。
  • 本质:像一个专门用于虚拟化的操作系统,直接管理硬件资源。

2. 第二类虚拟机管理程序(寄居架构)

  • 运行位置:作为用户态进程,依赖于 Windows、Linux 等宿主操作系统来分配和调度资源。
  • 核心特点:

    • 虚拟机上的操作系统认为自己运行在内核态(实际为虚拟内核态),执行敏感指令时会陷入虚拟机管理程序。
    • 虚拟机管理程序会检查指令来源:若来自虚拟机操作系统,则安排其正确执行;若来自虚拟机用户进程,则模拟硬件行为。
    • 在不支持虚拟化的 CPU 上,敏感指令会被转为对虚拟机管理程序的调用,由其模拟功能。
  • 典型代表:VMware Workstation。

image-20260226020005148

分类: 操作系统 标签: 操作系统

评论

暂无评论数据

暂无评论数据

目录