type
status
date
slug
summary
tags
category
icon
password
能力模型
能力分类
省赛
全球总决赛
学习进度
中国总决赛
第一章 OS概述
- OS的概念、特性
- 概念
- 是在硬件基础上的第一层软件
- 是其他软件和硬件之间的接口
- 特性
- 并发性
- 共享性
- 随机性
- 基本特征
- 并发性
- 共享性:互斥共享方式、同时访问方式
- 虚拟性:时分复用技术(虚拟处理器)、空分复用技术(虚拟存储器)
- 异步性
操作系统是计算机系统中的一个系统软件,它管理和控制计算机系统中的软件和硬件资源,实现进程管理、存储管理、设备管理和文件管理等系统功能,具有并发、共享和随机三个主要特征。
操作系统由硬件和软件组成。
- OS的功能
- 进程(处理机)管理:进程控制、进程同步、进程调度
- 存储管理:内存分配、内存保护、地址映射、内存扩充
- 设备管理:缓冲管理、设备分配、设备驱动、设备无关性
- 文件管理:文件存储空间管理、目录管理、文件的存取控制
- 作业管理等其他
- OS的发展历史及分类
- 发展历史
- 手工操作阶段:联机输入
- 批处理阶段:脱机输入 ——> 为了解决人机矛盾以及CPU和I/O设备之间速度不匹配的矛盾。
- 单道批处理系统:自动性、顺序性、单道性
- 多道批处理系统:多道性、无序性、调度
- 优点:资源利用率高、系统吞吐量大
- 缺点:平均周转时间长、无交互能力(单道、多道都是)
- 分时操作系统:将一台计算机很好的提供给多个用户使用,提高计算机的利用率。
- 所谓分时技术,是指将处理器的运行时间分成很短的时间片,按时间片轮流将处理器分配给各联机作业使用。
- 同时性、交互性、独立性、及时性
- 实时操作系统:是计算机系统可以立即对用户程序要求或者外部信号做出反应的系统,可以分为硬实时系统和软实时系统。(为了能在某个时间限制内完成某些紧急任务而不需要时间排队)
- 硬实时系统:某个动作必须绝对地在规定的时刻(或规定的时间范围)发生。
- 软实时系统:能够接受偶尔违反时间规定且不会引起任何永久性的损害。
- 嵌入式操作系统
- 个人计算机操作系统
- 分类 —— 解答?
- 多道批处理系统的特征及优缺点
- 特征:多道性、无序性、调度性
- 优点:资源利用率高、系统吞吐量大
- 缺点:平均周转时间长、无交互能力(单道、多道都是)
- 分时系统和实时系统特征的比较
- 多路性:实时系统多路性表现为多路信息的采集和多任务的执行调度。
- 及时性:实时系统对及时性的要求更严格。
- 交互性:实时系统交互性较强。
- 可靠性:实时系统要求更高的可靠性。
第二章 OS硬件环境
- 特权指令、管态目态、程序状态字
- 特权指令:特权指令是指只允许操作系统使用而不允许一般用户使用的指令。
- 有关对 I/O 设备使用的指令,如启动 I/O 设备指令、测试 I/O 设备工作状态和控制 I/O 设备动作的指令等。
- 有关访问程序状态的指令,如对程序状态字 (PSW) 的指令等。
- 存取特殊寄存器指令,如存取中断寄存器、时钟寄存器等指令。
- 操作系统的工作状态:根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态。
- 管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态、核心态、系统态。
- 目态:用户程序运行时的状态,较低的特权级别,又称为普通态、用户态。
- 程序状态字:计算机系统中用于存放指令执行结果状态和控制信息的寄存器。
- CPU的工作状态码——指明管态还是目态,用来说明当前在 CPU 上执行的是操作系统。
- 条件码——反映指令执行后的结果特征。
- 中断屏蔽码——指出是否允许中断。
有些系统将处理器状态划分为核心状态、管理状态和用户程序状态三种。
- 中断
- 概述
- 它使得S可以捕获用户程序发出的系统功能调用。
- 及时处理设备的中断请求。
- 防止用户程序中断破坏性的活动。
- 概念
- CPU对系统发生的某个事件做出的一种反应。
- CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。
- 引入中断的目的
- 解决主机与外设的并行工作问题
- 实现实时控制
- 特点
- 中断是随机的
- 中断是可恢复的
- 中断是自动处理的
中断对于操作系统的重要性:就像机器中的驱动齿轮一样。
所以有人把操作系统统称为是由“中断驱动”或者“(中断)事件驱动”
第三章 用户接口与作业管理
- 作业的概念,作业级接口与程序级接口
- 作业的概念:
- 作业:作业是指用户在一次计算过程中,要求计算机系统所做工作的集合。
- 作业步:完成一个作业,一般要经过若干步骤.称为作业步。
- 作业流:如果将一批作业通过批理处理的方式一次性提交给系统,由系统依次将这些作业逐个读入并进行处理,就形成了一个作业流。
- 用户与操作系统之间的接口
- 作业级接口:操作系统为用户对作业运行全过程控制提供的功能。
- 联机接口(交互式)
- 脱机接口(批处理)
- 程序级接口:系统为用户在程序一级提供有关服务而设置的,由一组系统调用命令组成。
- 负责管理和控制运行的程序
- 并在这些程序与系统控制的资源和提供的服务间实现交互作用
- JCB;作业的状态及转换
- JBC:作业控制块是批处理作业存在的标志,其中保存有系统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中。
- 记录系统管理作业所需要的全部信息
- 作业控制块是批处理作业存在的标志
- 位于磁盘固定区域中(长度固定)
- 交互式系统作业管理
- 作业的状态及转换
- 进入状态
- 后备状态
- 运行状态
- 完成状态
对于交互式作业,用户与计算机系统以对话方式控制作业的执行,利用屏幕、键盘和鼠标等设备在联机状态实现人机交互。
- 作业调度算法:FCFS/SJF/HRN —— 大题一
- 先来先服务算法FCFS
- 最短作业优先算法SJF
- 最高响应比优先算法HRN
- 响应比R = 作业周转时间 / 作业处理时间 = 1 + 等待 / 处理
- 系统调用(访管中断)
- 理解:是操作系统提供给编程人员的唯一接口,是用户程序提出服务请求的手段。
- 基本思想:本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用。
- 实现方法:软中断(陷入机制)
第四章 进程管理
- 程序的顺序执行的特点;多道程序并发执行的特点
- 程序顺序执行的特征
- 顺序性:严格按照程序锁规定的次序执行。
- 封闭性:程序在封闭环境下运行,系统中所有资源的状态不会因本程序外的程序而改变。
- 可再现性:只要初始条件相同,无论怎样执行,其结果都是相同的。
- 程序并发执行的特征
- 间断性:并发执行的实体之间相互制约,导致程序的执行出现间断,而不连续。
- 非封闭性:多个程序共享系统资源,因而其状态有多个程序改变,从而失去封闭性。
- 不可再现性:封闭性的丧失必然导致不可再现性。
- 多道程序执行方式的特点:宏观上并行,微观上串行
- 独立性
- 随机性
- 资源共享性
提高了系统吞吐量
- 进程的概念;进程的状态及变迁;进程调度与时间片
- 进程及其特征
- 动态性:进程是动态的基本单元。
- 并发性:引入进程的目的是为了使进程实体能和其他进程实体并发执行。
- 独立性
- 异步性
- 进程的状态及变迁 —— 大题二
- 运行(running)态
- 就绪(ready)态
- 等待(wait)态
- 进程调度与时间片 —— 大题:结合作业调度一起出题
- 先进先出FIFO
- 基于优先数的调度HPF
- 时间片轮转程序调度算法
进程:是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。
进程实体:由程序段、相关的数据段诶和PCB构成。
- 进程控制;原语
- 进程控制块及其作用
- 是一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCH来对并发执行的进程进行控制和管理的。
- PCB是进程存在与否的唯一标志,随着进程的建立而建立,随着进程的撤销而撤销。创建进程就是创建PCB。
进程控制块(PCB):是一种数据结构,是进程实体的一部分。记录了操作系统所需的、用于描述进程的当前情况及控制进程运行的全部信息。
作用:
- 进程的同步与互斥;信号量、PV操作、生产者-消费者问题(各类衍生问题:理发师、柜员、吃水果。。。) —— 大题三
- 临界资源:一次仅允许一个进程使用的资源称为临界资源。
- 临界区:在每个进程中,访问临界资源的那段程序,称为临界区或临界段。
- 互斥:互斥(Mutual Exclusion)指的是在任一时刻,只允许一个进程访问某个共享资源。
- 同步:进程同步是指在多个进程执行过程中,为了防止数据的不一致性和资源的冲突,确保数据的完整性和一致性,系统对多个进程访问共享资源的顺序进行协调和控制的过程。
- 同步与互斥
- 互斥——间接制约,共享临界资源引发的并发进程间的制约。
- 同步——直接制约,并发进程间相互共享对方私有资源引发的。
- 信号量
- 当S > 0时,表示当前可用资源的数量;
- 当S < 0时,其绝对值表示等待使用该资源的进程个数。
- 原语:原语是一种特殊的无法被中断的程序段,由关中断/开中断指令实现。
- PV操作
- P操作(wait):申请一个单位资源,进程进入,S=S-1
- V操作(signal):释放一个单位资源,进程出来,S=S+1
信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程,信号量的值表示相应资源的使用情况。信号量可以理解为一个用于表示系统中资源数量的变量.
eg:系统中一台打印机,可以设置一个初值为1的信号量。
即wait(S)和signal(S)原语,人们常称PV操作(首字母来自于荷兰单词)。P(S)等同于wait(S),V(S)等同于signal(S)。
注:信号量的值只能由PV操作来改变。
- 进程间通信、线程(最小运行单位、非基础分配单位)
- 进程间的通信
- 又称高级通信;进程之间直接以较高的效率传送较多的数据的信息交换方式称为进程间通信。
- 常用的进程通信方式有管道、共享内存、消息机制
- 线程:进程内一个相对独立的,可独立调度和指派的执行单元;是进程中的一个执行路径。
- 进程与线程的联系与区别
- 进程是资源分配和处理机调度的基本单位。而线程与资源分配无关;一个进程内的多个线程共享该进程的资源。
- 进程具有完整独立的虚地址空间,而线程则只能继承和共享这个空间。
- 一个进程可以包含一个以上的线程。
第五章 存储管理
(1)存储层次
- 存储管理的目的与任务
存储管理的目的是为了有效地管理计算机系统中的内存资源,确保数据和程序能够被合理地存储、调用和释放。它主要解决了内存资源的分配、调度和回收问题,确保系统可以高效地运行。
- 计算机存储系统的设计主要考虑三个问题:容量,速度,成本。
- 沿着层次下降时,每比特的价格将下降,容量将增大,速度将变慢,处理器的访问频率下降。
(2)地址空间
- 地址映射 —— 简答计算1
- 物理地址(PA,Physical Address):用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。
- 逻辑地址(LA,Logical Address):CPU执行机器指令时,用来指定一个操作数或者是一条指令的地址,也是用户编程时使用的地址。
- 线性地址(linear address)或者也叫虚拟地址(virtual address):跟逻辑地址类似,它也是一个不真实的地址。
- 逻辑地址 + 段式管理 ——> 虚拟地址(线性地址)
- 在没有段式内存管理的情况下,逻辑地址与虚拟地址相同。
- 虚拟地址 + 页式管理 ——> 物理地址
- 在没有页式内存管理的情况下,虚拟地址和物理地址相同。
(3)内存管理
- 重定位
- 我们在装入时对目标程序中的相对地址(逻辑地址)修改为绝对地址(物理地址),称为重定位,又称静态重定位。
- 我们在动态运行时装入则称为动态重定位,当程序执行时才进行地址转换(允许程序在内存中移动)。
- 一般动态重定位需要硬件地址变换机构,系统中只有一个重定位寄存器,每次切换进程时都需要保存和恢复该寄存器的值。
- 分区——内存空间的连续分配管理方式
- 内存碎片
- 内部碎片:是指分配给进程的内存空间有部分没有用上;
- 外部碎片:指的是内存中某些空间分区由于太小导致难以使用。
- 固定分区会产生内部碎片,动态分区会产生外部碎片;
- 分页存储有内部碎片,分段存储有外部碎片,段页式存储有内部碎片;
- 内存回收的四种方式(选择)—— 简答计算2
- 在动态可重定位分区分配中,通过移动内存中作业的位置,把原来多个分散的小分区拼接成一个大分区的方法称为“拼接”或“紧凑”。
- 考虑:上邻、下邻、上下相邻、上下不相邻
- 基于顺序搜索的分配算法 —— 简答计算2
1、首次适应算法First Fit:空闲分区列表按地址顺序(从小到大)排序;
2、邻近适应算法Next Fit:由于上述算法每次都需从头检查空闲分区,浪费时间。因此下一个匹配算法就是操作系统记住接下来该检查的空闲分区的位置,给进程分配分区时,系统从记录的分区开始依次向后查找直到遇到能用的分区为止,若到链表尾还未找到就从头开始。
3、最佳适应算法:空闲分区列表按由大到小排序;分配时,查找一个合适的分区;释放时,查找并合并临近的空闲分区。
4、最坏适应算法:空闲分区列表按由大到小排序;分配时,选最大的分区;释放时,检查是否可与临近的空闲分区合并,进行可能的合并,并调整空闲分区列表顺序。
- 内存空间的非连续分配管理方式
- 分页
- 分段
- 段页式
- 虚拟存储
- 虚拟存储器的最大容量由计算机的地址结构决定,与主存容量和外存容量没有必然的联系。—— 选择
- 操作系统为每一个进程分配一个独立的地址空间,这个地址空间是逻辑地址,称为虚拟内存。虚拟内存与物理内存存在映射关系,通过页表寻址完成虚拟地址和物理地址的转换。
- 程序的整个地址空间无需全部载入物理内存,可以有部分暂时存储在外存,等到需要时再换入内存;若程序引用到一部分不在物理内存中的虚拟地址时,就会发生缺页中断,由操作系统负责将缺失的页面加载到页框中,并重新执行失败的指令。
- 在请求分页式存储管理的系统中,地址变换过程可能会因为缺页、地址越界和访问权限错误等原因而产生中断。—— 填空
- 操作系统的内存管理高度依赖硬件
- MMU(Memory Management Unit,内存管理单元)是一种用于内存管理的硬件模块,用于在CPU和内存之间实现虚拟内存管理。
- 其主要功能是将虚拟地址转换为物理地址,同时提供访问权限的控制和缓存管理等功能,同时MMU也可以通过页面表(Page Table)实现虚拟内存管理。
(4)内存分配
- 进程中的块称为页(Page),内存中的块称为页框(Page Frame,或页帧)。外存也以同样的单位进行划分,直接称为块(Block)。进程在执行时需要申请主存空间,就是要为每个页面分配主存中的可用页框,这就产生了页和页框的一一对应。
- 分段、分页的对比
- 请求分页管理
- 驻留集:预先给进程分配的物理块(大小等于页面)
- 工作集:实际进程访问到的物理块
(5)页面置换算法 —— 大题五
- 局部页面置换算法
- 置换算法的选择范围仅限于当前进程占用的物理页面内
- 最优算法、先进先出算法、最近最久未使用算法
- 时钟算法、最不常用算法
- 全局页面置换算法
- 置换页面的选择范围是所有可换出的物理页面
- 工作机算法、缺页率算法
(6)补充
- 覆盖与交换
- 交换技术与覆盖技术的共同点
- 不同点:
- 与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构
- 交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。
- 覆盖只能覆盖那些与覆盖段无关的程序段
进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换。
- 颠簸(抖动)
- 页面置换算法不合理
- 分配给进程的物理页面数太少
颠簸(抖动):在虚存中,页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行的时间还多,此时系统效率急剧下降,甚至导致系统崩溃。这种现象称为颠簸或抖动。
原因:
- 局部性原理 —— 简答或计算
- 程序局部性原理:在一段时间内一个程序的执行往往呈现出高度的局部性,表现在时间与空间两方面
- 时间局部性:一条指令被执行了,则在不久的将来它可能再被执行
- 空间局部性:若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元可能被使用
第六章 文件系统
- 概述
- 存储信息,检索信息
- 能够存储大量的信息
- 长期保存信息
- 可以共享信息
- 把信息以一种单元——即文件的形式存储在磁盘或其他介质上
- 包括:文件的结构,命名,存取,使用,保护和实现方法
所有计算机应用程序都要
三个基本要求
解决方法
文件是通过操作系统来管理的
- 文件系统的分类
- 按信息保存期限分类:临时文件、永久文件、档案文件
- 按文件的保护方式分类:只读文件、读写文件、可执行文件
- 按文件的逻辑结构分类:流式文件、记录式文件
- 按文件的物理结构分类:顺序文件、链接文件、索引文件
- UNIX系统将文件分为三类:普通文件、目录文件、特殊文件(设备文件,即把外部设备也看做文件)
- 文件的逻辑结构与存取方式
- 逻辑结构:指在用户看来,文件内部的数据应该如何组织。
- 无结构文件,即流式文件
- 有结构文件,即记录式文件
- 文件的存取方式
- 顺序存取:最后一次存取总是在前一次存取的基础上进行,不必给出具体的存取位置;
- 随机存取:在请求对某个文件进行存取时要指出具体的存取位置(如记录号、字符序号等)。
- 文件的物理结构;多级索引结构 —— 简答或大题六
- 物理结构:文件的数据是如何存放在外存中的。
- 连续分配
- 链接分配
- 索引分配
- 文件目录;FCB;文件目录的实现
- 文件系统实现按名存取主要是靠查找文件目录实现的。
- 文件目录:文件控制块的有序集合,一个文件控制块就是一个文件目录项。一个文件目录可被当作一个文件,称为目录文件。
- 文件控制块(FCB):描述和控制文件的数据结构,使得文件能进行正确的存取。
- 文件控制块包含三类信息,分别是基本信息、存取控制信息和使用信息。
第七章 设备管理
- 设备的分类;设备控制(I/O 4方式);设备管理的功能;高速缓存
- 设备的分类
- 按功能特性分:存储型设备、输入输出型设备(交互型设备)、数据通信设备
- 按数据组织分:块设备、字符设备
- 按资源分配角度分:独占设备、共享设备、虚设备
- I/O设备控制方式
- 程序直接控制方式
- 中断驱动方式
- DMA方式
- 通道控制方式
- 设备管理的功能
- 设备分配
- 设备控制
- 设备独立性
- 缓冲管理
- 设备驱动程序管理
- 设备管理
- I/O接口(又称设备控制器)是CPU和设备之间的接口,以实现设备和计算机之间的数据交换。
- 设备控制器与设备的接口:用于实现CPU和设备控制器之间的通信,在该接口中共有三类信号线,分别为数据线、状态线和控制线。对应数据寄存器、状态寄存器、控制寄存器。
- I/O硬件特性:I/O设备的组成。I/O设备接口。
- 设备分配、I/O设备有关技术、几种典型的外部设备。
- I/O软件的组成
- 中断处理程序
- 用于保存被中断进程的CPU环境,转入相应的中断处理程序进行处理,处理完毕再恢复被中断进程的现场后,返回到被中断进程。
- 设备驱动程序
- 与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。
- 设备驱动程序是I/O系统高层与设备控制器之间的通信程序。
- 与设备无关的系统软件
- 设备独立性又称设备无关性,其含义是指应用程序所用的设备不局限于某个具体的物理设备。
- 主要实现的功能
- 向上层(用户层或文件层)提供统一的调用接口
- 执行所有设备的共有操作
- 使用逻辑设备名
- 用户控件的I/O软件
- 实现了与用户交互的接口。
- I/O技术
- SPOOLing(虚拟设备)技术
- SPOOLing的意思是外部设备同时联机操作,又称为假脱机输入/输出操作,是操作系统中釆用的一项可以把物理设备虚拟成逻辑上的多台设备,将独占设备改造成共享设备的技术。
- 为了缓和CPU的高速性与I/O设备低速性之间的矛盾而引入了脱机输入/输出技术。
- SPOOLing 技术系统由预输入程序、井管理程序(本质上可以理解成目录)和缓输出程序组成。
- SPOOLing系统主要包含三个部分,即输入井和输出井、输入缓冲区和输出缓冲区以及输入进程和输出进程。
- DMA技术
- DMA全称为Direct Memory Access,也叫做直接存储器访问。DMA是一种不经过CPU而直接从主存存取数据的数据交换模式,它在I/O设备和主存之间建立了一条直接数据通路,如磁盘。
- 通道技术
- 是一块能控制一台或多台外围设备与 CPU 并行工作的硬件。
- 通道是一种硬件,自己就可以执行IO命令,相当于一个削弱版的小CPU,执行的指令单一。
- 通道可以执行IO指令,CPU只需要将相关的IO指令发送给通道控制器就可以了,通道会执行IO指令,完成对应的传输。
- 相较于DMA,DMA实现固定的数据传送,而通道拥有着自己的指令和程序,具有更强的IO处理能力。
- 缓冲技术
- 单缓冲:在I/O设备和处理机之间设置一个缓冲区。
- 双缓冲:在设备输入时先将数据送入第一缓冲区,装满后便转向第二缓冲区。此时操作系统可以从第一缓冲区中移出数据,并送入用户进程,接着由 CPU 对数据进行计。
- 循环队列缓冲:将多个大小相等的缓冲区链接成一个循环队列。
- 缓冲池:包含一个用于管理自身的数据结构和一组操作函数的管理机制,用于管理多个缓冲区。
(1)简述I/O缓冲区的类型和典型应用
- 设备独立性
- 为使复杂的I/O软件能具有清晰的结构、良好的可移植性和易适应性,目前普遍采用层次式结构的I/O软件。
- 设备的独立性主要是指用户设备的透明性,即使用户程序和实际使用的物理设备无关。
第八章 设备管理
- 死锁问题的必要条件
- 互斥条件:任何时刻只能有一个进/线程使用一个资源实例
- 不可剥夺:进/线程保持至少一个资源,并正在等待获取其
- 部分分配(请求和保持条件):资源只能在进程使用后自愿释放,进程已经完成
- 环路条件(循环等待条件):存在等待进程集合 {P0, P1, . . . , PN},P0 正在等待 P1 所占用的资源,P1 正在等待 P2 占用的资源,. .
他进程持有的资源(持有并等待)
其任务之后(无抢占)
- 死锁处理办法
- 死锁预防 (Deadlock Prevention)
- 确保系统永远不会进入死锁状态
- 死锁避免 (Deadlock Avoidance)
- 在使用前进行判断,只允许不会出现死锁的进程请求资源
- 死锁检测和恢复 (Deadlock Detection & Recovery)
- 在检测到运行系统进入死锁状态后,进行恢复
- 由应用进程处理死锁
- 通常操作系统忽略死锁
- 大多数操作系统(包括 UNIX)的做法
- 银行家算法 —— 简答或计算
- Author:Koreyoshi
- URL:https://Koreyoshi1216.com/article/173c7b13-c6a7-80e7-8415-dd1ab9e32fa0
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!