王道操作系统笔记———— 计算机系统概述

Posted Xiu Yan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了王道操作系统笔记———— 计算机系统概述相关的知识,希望对你有一定的参考价值。

文章目录


一、操作系统基本概念

1.1 基本概念

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

1.2 四大特征

并发、共享、虚拟、异步。

  • 1. 并发只在同时发生,微观上是交替发生。
    2. 并发 是指 同一时间间隔 内发生,并行 是指 同一时刻 发生。
    3. 单核cpu同一时刻只能执行一个程序,各程序只能并发执行。
     多核cpu同一时刻可同时执行多个程序,多个程序可并行执行。
    4. 并发与共享是两个 最基本的特征,二者互为存在条件。
    5. 共享 分为:互斥共享方式和同时共享方式:
    互斥共享方式:在一段时间内只允许一个进程访问该资源。
    同时共享方式:允许在一段时间内有多个进程同时访问。
    6. 虚拟技术 分为:空分复用技术(如虚拟存储器技术)和时分复用技术(如虚拟处理器技术)


1.3 目标和功能

  1. 作为系统资源的管理者

    提供功能:处理机管理、存储器管理、文件管理、设备管理
    目标:安全、高效

  2. 向上层提供方便易用的服务

    一般用户 直接 使用的接口:
       图形接口:如 GUI
       命令接口:联机命令接口、脱机命令接口(区别在于一行和一堆)

    应用程序/编程人员 使用的接口:
       程序接口(系统调用),即通过程序 间接 使用。

  3. 最接近硬件的软件


二、操作系统的分类与发展

  

  单道批处理与多道批处理的区别:

  
  注:多道批处理的并行,对于单核cpu指的是I/O与CPU并行。


三、操作系统的运行环境

3.1 运行机制

  1. 两种指令特权指令 和 非特权指令
    操作系统内核作为 “管理者”,有时会让CPU执行一些特权指令,这些指令只允许 “管理者” 来执行。

    常见的特权指令:
    ① 开中断指令、关中断指令
     ② 写时钟指令(置时钟指令)
     ③ 写入/输出指令(I/O指令)
     ④ 写 PSW 寄存器指令(访问程序状态指令)
     ⑤ 内存清零指令

  2. 两种处理器状态内核态 和 用户态
    处于内核态时,说明正在运行的是内核程序,即可执行特权指令,又可执行非特权指令
    处于用户态时,说明正在运行的是应用程序,只能执行非特权指令
    其中,内核态又称目态,内核态又称管态。

    内核态→用户态: 一条修改 PSW 的特权指令。
    用户态→内核态: 由中断引起,硬件自动完成。触发中断信号意味着 OS 将强行夺回CPU的使用权。
       如:① 请求系统内核服务,CPU在用户态下执行陷入指令,引发中断,意味着应用程序主动将 CPU 控制权还给操作系统。
         ② 试图在用户态下执行特权指令,引发 OS 变成内核态,夺回 CPU 使用权等

    注:陷入指令 = 访管指令 = trap指令

  3. 两种程序内核程序 和 应用程序

  4. 三者关系:操作系统的内核程序,即可运行特权指令,又可运行非特权指令,程序运行在核心态。普通应用程序只能运行非特权指令,运行在用户态。

    注:中断处理程序一定是内核程序,其运行在内核态。


3.2 中断和异常

中断是让操作系统夺回CPU使用权的唯一途径。

  1. 中断的分类:

    注:故障(Fault)和自陷(Trap)统称为 软件中断,终止(Abort)是 硬件中断

  2. 中断机制的基本实现原理:

    1. 检查中断信号:
       内中断:CPU在执行指令时,会检查是否有异常发生。
       外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需处理。
    2. 找到相应的中断处理程序:
       硬件向量法(中断向量法)、软件查询法

  3. 中断处理时保存的数据:

    1. 硬件负责:PC、PSW
    2. OS负责:其他有 “必要” 保存的数据(如:通用寄存器)、中断屏蔽字
          若此类寄存器在中断处理中不使用,则不用保存。

  4. 中断处理完整流程:

    ① 当 CPU 检测到中断信号后,由硬件自动保存被中断程序的断点(即程序计数器 PC)。
    ② 硬件找到该中断信号对应的中断向量,中断向量指明中断服务程序入口地址(各中断向量统一存放在中断向量表中,该表由操作系统初始化)。
    ③ 开始执行中断服务程序,保存 PSW、中断屏蔽字、各通用寄存器的值,并提供与中断信号对应的中断服务,中断服务程序属于操作系统的内核。

    操作系统完成: 提供中断服务、初始化中断向量表、保存中断屏蔽字(来源:20年408第25题)


3.3 系统调用

  系统调用是操作系统给 编程人员/应用程序 使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以通过系统调用来请求获得操作系统内核的服务。

  1. 系统调用与库函数的区别:
    库函数有时会对系统调用进行封装,以隐藏系统调用的一些细节,如“创建一个新文件”的函数。但也存在不涉及系统调用的库函数,如“取绝对值”的函数。编程人员调用库函数,会使得编程更加方便。

  2. 涉及系统调用的功能:
    应用程序通过系统调用请求操作系统的服务。而系统中的各种共享资源都由操作系统内核统一掌管,因此凡是与共享资源有关的操作(如存储分配、I/O操作、文件管理等),都必须通过系统调用的方式向操作系统内核提出服务请求,由操作系统内核代为完成。这样可以保证系统的稳定性和安全性,防止用户进行非法操作。

  3. 系统调用过程:

    过程: 传递系统调用参数 执行陷入指令(用户态 执行相应的内请求核程序处理系统调用(内核态 返回应用程序
    注意:陷入指令 是在 用户态 执行的,执行陷入指令之后立即引发一个 内中断,使CPU进入 核心态
        ② 发出系统调用请求是在 用户态,而对系统调用的相应处理在 核心态 下进行
        ③ 陷入指令 = 访管指令 = trap指令


四、操作系统的体系结构

4.1 宏内核与微内核

  1. 操作系统的内核

    注:① 宏内核,又名:大内核、单内核
      ② 操作系统内核需要运行在内核态
      ③ 操作系统的非内核功能运行在用户态

  2. 操作系统内核功能

    1. 宏内核与微内核对比
      若应用程序的一个服务处理同时涉及进程管理、存储管理、设备管理,宏内核需要 2 次 “变态”,而微内核需要 6 次 “变态”。

      注:处理器两种状态之间的转换是有成本的。

4.2 分层结构

分层法是将操作系统分为若干层,最底层是硬件,最高层是用户接口,煤层智能调用紧邻它的低层的功能和服务(单向依赖)。

  

优点:便于调试和验证,自底向上逐层调试验证。
    ② 易扩充和易维护,各层之间调用接口清晰固定。
缺点: ① 仅可调用相邻低层,难以合理定义各层的边界。
    ② 效率低,不可跨层调用,系统调用执行时间长。


4.3 模块化

模块化是将操作系统按功能划分为若干个具有 一定独立性的模块,各模块之间相互协作。

内核 = 主模块 + 可加载内核模块
主模块:只负责核心功能,如:进程调度、内存管理等
可加载内核模块:可以动态加载新模块到内核而无需重新编译整个内核,如:设备驱动程序

  

优点: ① 模块间逻辑清晰易于维护,确定模块间接口后即可多模块同时开发。
    ② 支持动态加载新的内核模块(如:安装设备驱动程序、安装新的文件系统模块到内核),增强OS适应性。
    ③ 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高。
缺点: ① 模块间的接口定义未必合理、实用。
    ② 模块间相互依赖,更难调试和验证。


4.4 外核

内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全

优点:外核可直接给用户进程分配 “不虚拟、不抽象” 的硬件资源,使用户进程可以更灵活的使用硬件资源。
    ② 减少了虚拟硬件资源的 “映射层”,提升效率。
缺点: ① 降低了系统的一致性。
    ② 使系统变得更加复杂。


五、操作系统引导

引导流程:
① 激活的 CPU 读取 ROM 中的自举程序,开始执行 Bios 程序中的指令,并开始进行硬件自检。
② 将磁盘的第一块,主引导记录 MBR 读入内存,执行磁盘引导程序,其会扫描分区表,得知活动分区位置。
③ 从活动分区(又称主分区,即安装了操作系统的分区 C盘)读入分区引导记录 PBR,执行其中的程序,负责找到 “启动管理器”。
④ 从根目录下找到完整的操作系统初始化程序(即 启动管理器)并执行,完成开机的一系列动作。

注:操作系统最终被加载到 RAM 中。


六、虚拟机


理解: 第一类操作系统直接运行在硬件之上,第二类操作系统类似在 win 系统下安装的 VMware 软件。


以上是关于王道操作系统笔记———— 计算机系统概述的主要内容,如果未能解决你的问题,请参考以下文章

网络层-第六节1:路由选择协议概述

网络层-第三节1:IPv4地址概述

计算机系统概述

网络层-第一二节:网络层概述及其提供的服务

数据链路层-第十一节:虚拟局域网VLAN概述和实现机制

专栏必读王道考研408计算机组成原理万字笔记(有了它不需要你再做笔记了):各章节内容概述导航和思维导图