image-20220310144152329

准备复试 暂停更新

2022.3.20

操作系统

第一章 操作系统概述

1.0 章节框架图

image-20220301173151773

操作系统是计算机系统中的系统软件

操作系统地位、作用

操作系统的设计目标

  • 有效性
  • 方便性
  • 可扩充
  • 开放性

中断

中断是主机接收到外部信号或者系统发生随机性事件,停止当前执行的程序,转而处理这一事件,待事件处理完成,主机又可以回到原来的断点继续工作。中断是让操作系统内核夺回CPU使用权限的唯一途径。操作系统是由中断驱动的。

用户态转到核心态(内核态)的三种方式

  • 程序请求操作系统服务,执行系统调用
  • 程序运行时产生外中断事件(比如I/O操作完成),运行程序被中断,转向中断程序处理
  • 在程序运行时发生内中断事件(异常),运行程序被打断,转向异常处理程序工作

用户态

也叫目态,即用户进程运行时处理器的状态。

核心态

也称管态,即操作系统的自身核心部分及部分系统进程的程序运行时的处理器状态

操作系统内核所运行的模式。运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问。

特权指令

只能由操作系统调用而不能被用户调用的指令

核心态转到用户态的方式

中断类型

  • 外中断
    • 也叫中断,狭义上的中断。外中断与当前执行的指令无关,中断信号源于CPU外部,如I/O设备完成终端,表示设备输入输出处理已经完成,CPU能够发送下一个输入输出请求。此外还有时钟中断控制台中断
  • 内中断
    • 也叫异常、例外。内中断与当前执行的指令有关,中断信号源于CPU内部,如非法操作码、地址越界、算术溢出、除数为0等

中断机制的基本原理

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

系统调用

第二章 处理器管理

2.0 章节框架图

image-20220301173331378

2.1 进程及其实现

2.1.1 进程定义

进程包括程序、数据、程序控制块PCB和栈。进程是操作系统进行资源调度和分配的独立的单位

2.1.2 进程类型及特性

进程类型

  • 系统进程
    • 如C语言的编译进程
  • 用户进程

特性

  • 结构性
  • 共享性
  • 动态性
  • 独立性
  • 制约性
  • 并发性

进程和程序的区别

  • 进程可以描述系统的并发特性,但程序不可以
  • 进程包含程序、数据、PCB和栈,程序是进程的一部分
  • 进程是动态的,程序是静态的
  • 进程有其生命周期,而程序可以长久保存在磁盘中
  • 一个进程可以有多个进程,一个进程也可以涉及多个程序。
  • 进程可以创建子进程,而程序不能创建子程序

2.1.3 进程的状态和转化

进程的基本状态

  • 运行态
    • 当前进程占有CPU并正在运行,则其所处的状态就是运行态
  • 就绪态
    • 当前进程具备了在CPU上执行的所有条件,等待CPU调度程序分配CPU,其状态叫就绪态
  • 等待态
    • 也叫阻塞态,当前进程等待系统某个信号、某个资源或等待事件发生,当需求没有被满足,此时的状态为等待态

进程转换图

image-20220310142855812

五状态模型

在三状态模型的基础上添加新建态和终止态

新建态是指进程刚被创建的时候,系统还没有允许执行该进程,且所需的其他资源还没有被完全满足

终止态是指进程正常结束或异常终止之后的状态。

七状态模型

在五状态模型的基础上新增就绪挂起和等待挂起状态

2.2 进程控制

2.2.1 进程控制原语

原语是指在管态下执行的,具有原子性、能实现特定系统功能的程序段。这里的原子性是指程序段不可分割,即在执行过程中不允许被中断。

2.3 处理器调度

2.3.1 处理器调度的模式

2.3.2 处理器调度的原则

2.4 进程联系

2.5 临界区管理

2.6 信号量与PV操作

信号量是一种特殊的变量,它的表面形式是一个整型变量附加一个队列,而且它只能被特殊的操作使用。

P操作和V操作都是原语

几大问题

  • 生产者-消费者问题
  • 读者-写者问题
  • 吸烟者问题
  • 哲学家进餐问题

2.7 进程通信

2.8 进程死锁

死锁的概念

死锁是在多道进程并发执行的环境下

死锁产生的条件

  • 互斥使用(资源独占):资源每次只能给一个进程使用
  • 不可抢占(不可剥夺):资源申请者不能强行从占有者手中剥夺资源,只能由占有者自愿释放
  • 保持请求:进程在申请新资源时,保持对原有资源的占有
  • 循环等待:存在进程等待队列{P1,P2,P3……Pn},P1等待P2占有的资源,P2等待P3占有的资源……Pn等待P1占有的资源,形成环路

死锁的预防机制

机制原理

  • 预先确定资源分配,保证不发生死锁
  • 通过破坏死锁4个必要条件之一来实现
  • 破坏“互斥使用”这一条件不现实

解决方案

  • 破坏不可抢占条件
    • 允许进程动态申请资源
    • 进程在申请新资源不能得到满足而变为等待状态之前,必须释放已占有的资源
    • 若需要资源必须重新申请
  • 破坏请求保持条件
    • 不允许进程动态申请资源
    • 进程运行之前必须一次性申请所需的所有资源
    • 进程所有资源均可满足时给予一次性分配
  • 破坏循环等待条件

进程死锁的避免机制

机制原理

  • 对进程发出的每一个资源申请进行动态检查
  • 根据检查结果决定是否分配资源
  • 若试分配后可能发生死锁,则不予分配,否则分配

银行家算法

死锁原因

  • 系统资源不足
  • 进程运行推进顺序不合理
  • 资源分配不当

解决原则

image-20220228200304386

  • 单独使用死锁预防、避免、检测与接触并不能全面解决操作系统中遇到的所有死锁问题
  • 可将系统中的进程、资源分为若干类,对每一类进程、资源使用最适合它的办法解决死锁

第三章 存储管理

image-20220301173628409

3.1 基本概述

3.1.1 计算机中的存储体系

3.1.5 存储覆盖和交换技术

第五章 文件管理

5.1 基本概述

5.2 文件目录

5.3 文件的物理结构

弱项知识点

Spooling技术

假脱机技术

对比Spooling技术和缓冲区技术

文件物理结构(索引文件结构)

  • 顺序文件结构
  • 链接文件结构
  • 索引文件结构

索引文件结构

混合索引文件结构

直接索引:索引直接指向物理地址

一级间接地址索引:索引节点指向的物理地址用来存放地址项

二级间接地址索引:索引节点指向的物理块用来存放一级索引

文件目录结构