操作系统复习大纲

目录

  • 第一章
    • 1. OS 地位、作用和定义
    • 2. OS 分类和发展历史
    • 3. OS的组成部分
    • 4. OS 特征
    • 5. OS 功能
    • 6. 其他概念
      • 1) 什么是中断
      • 2) 引入多道程序设计的目的
      • 3) 研究操作系统的几种观点
      • 4) 什么是双重操作模式什么要引进双重操作模式
      • 5) 系统态、用户态以及转换的条件
      • 6) 硬件保护机制
  • 第二章
    • 1. 用户与OS 的两种接口
    • 2. 系统调用
    • 3. 操作系统的结构有几种自的特点/li>
    • 4. 其他概念
  • 第三章
    • 1. 进程
    • 2. 程序顺序执行
    • 3. 程序的并发执行
    • 4. 进程与程序的区别与联系
    • 5. 进程状态及其转换
    • 6. 进程管理块PCB
    • 7. 调度程序
    • 8. 上下文切换
    • 9. 进程控制
  • 第四章
    • 1. 什么是线程什么要引进线程/li>
    • 2. 线程和进程的区别/li>
    • 3. 线程的实现方式
  • 第五章
    • 1. 调度类型
    • 2. 调度队列
    • 3. 调度算法的性能评价准则
    • 4. 调度算法
  • 第六章
    • 1. 基本概念
    • 2. 同步机制应当遵循准则
    • 3. 进程间的制约关系
    • 4. 互斥问题
    • 5. 准则
    • 6. 信 量
    • 7. 生产者与消费者
    • 8. 管程
  • 第七章
    • 1. 死锁
    • 2. 资源分配图(有向图)
    • 3. 资源的分类
    • 4. 死锁处理方法
  • 第八章
    • 1. 基本概念
    • 2. 存储器管理程序的功能
    • 3. 连续内存分配
    • 4. 离散式分配
    • 5. 覆盖与交换
  • 第九章
    • 1. 虚拟存储器
    • 2. 请求段式管理
    • 3. 什么是颠簸(抖动)什么会出现/li>
  • 第十章
    • 1. 基本概念
    • 2. 文件的组织结构
    • 3. 文件的存取方法
    • 4. 加快目录检索方法
  • 第十一章
    • 1. 文件系统的层次结构
    • 2. 文件系统实现
    • 3. 文件分配方法
    • 4. 磁盘存储空间管理方法
  • 第十二章
    • 1. 磁盘组织结构
    • 2. 一次磁盘存取操作的时间组成
    • 3. 扇区的交叉(交错)布局
    • 4. 磁盘调度算法
  • 第十三章
    • 1. 什么是缓冲什么要引入缓冲/li>
    • 2. I/O系统的控制方式
    • 3. 设备的分类
    • 4. 阻塞和非阻塞I/O
    • 5. Spooling系统
    • 6. 设备独立性(无关性)的含义

第一章

1. OS 地位、作用和定义

  • 地位:操作系统在硬件之上,应用程序之下
  • 作用:操作系统是控制应用程序执行的程序,并充当应用程序和硬件间的接口
  • 定义:操作系统(Operating System)是最基本的系统软件。它控制计算机的所有(包括硬件、软件、数据)资源(系统的观点)并提供应用程序开发的基础(用户的观点)

2. OS 分类和发展历史

  • 无操作系统
    • 特点:用户独占全机,CPU等待人工操作
  • 单道批处理系统
    • 产生动机:提高资源利用率
    • 特点:自动作业序列,脱机输入输出
    • 操作:监控程序+用户程序(两者循环)
    • 特征自动性、顺序性、单道性
    • 硬件支持存储保护、定时器、I/O保护、中断
    • 系统开销(overhead):内存,机器时间
    • 缺点:I/O 操作太慢
  • 多道批处理系统
    • 产生动机:提高资源利用率和系统吞吐量(系统单位时间内完成的总工作量)
    • 特点:两个或以上作业同时进入主存,切换运行
    • 操作:jobA+jobB+…+wait+…
    • 特征多道性、无序性(输出顺序)、调度性(作业调度、进程调度)
    • 硬件支持同单道、I/O中断、DMA(直接存储器存取)
    • 缺点:周转时间长,无交互能力(脱机)
  • 分时系统
    • 产生动机:通过解决及时接收和及时响应的问题,满足用户需求(人机交互、多用户共享、便于使用)
    • 特征多路性(宏观并行微观时间片)、独立性(虚拟)、及时性、交互性
  • 多处理器系统(/并行系统/紧耦合系统)
    • 有多个紧密通信的CPU,他们共享计算机总线,有时还有时钟、内设和外设等
    • 优点:增加吞吐量;规模经济;增加可靠性
    • 非对称处理器:主从式,只有核心处理器加载操作系统并为其他处理器分配任务
    • 对称处理器(更普遍)
  • 实时嵌入式系统
    • 功能:系统能及时(或即时)响应外部事件的请求,在规定时间内完成对该事件的处理,控制所有实时任务协调一致地运行,明确和固定的时间约束
    • 应用领域:实时控制, 实时信息处理
    • 硬实时系统:保证关键任务按时完成,否则可能出现灾难性后果
    • 软实时系统:限制相比硬实时较弱,关键实时任务的优先级高于其他任务
  • 分布式系统
    • 分布式系统通过 络提供功能
      • 络: 两个或多个系统之间的通信路径
      • 松耦合系统(硬件角度)

3. OS的组成部分

  • 内核:一直运行在计算机上的程序
  • 系统程序:与系统运行相关的程序
  • 应用程序:其他程序

4. OS 特征

  • 并发:2个或多个事件在同一时间间隔发生
  • 共享:互斥共享方式,同时访问方式
  • 虚拟:通过某种技术把一个物理实体变成若干个逻辑上的对应物
  • 异步性:进程的运行方式——走走停停

5. OS 功能

  • 进程管理、内存管理、文件管理、设备管理、与用户之间的接口

6. 其他概念

1) 什么是中断

  • 硬中断
    • 内部中断(不可屏蔽):内部中断是指因硬件出错(如突然掉电、奇偶校验错等)或运算出错(除数为零、运算溢出、单步中断等)所引起的中断。
    • 外部中断(可屏蔽):外部中断一般是指由计算机外设发出的中断请求,如:键盘中断、打印机中断、定时器中断等。利用中断控制器可以屏蔽这些外部设备的中断请求。
  • 软中断(不可屏蔽):用户通过系统调用来执行特权指令
  • 中断在OS的地位
    • CPU和外设并行工作的基础
    • 多道程序并发执行的推动力
    • 现代操作系统是由中断驱动的
  • 特权指令
    • 可能引起损害的指令
    • 只允许在内核模式下执行
    • 若在用户模式下试图执行特权指令,则硬件不执行该命令,并且将其以陷阱形式通知操作系统
  • 监控程序:监控程序包括服务器端和客户端在一台机器运行服务器程序客户端运行客户端程序可以动态监视服务器的屏幕能将鼠标和键盘事件传过去,能进行一般的操作
  • 切换运行:当一个作业需要等待I/O 时,切换到另一个不在等待I/O 的作业——让CPU保持忙碌

2) 引入多道程序设计的目的

通过把各种不同用户提出的CPU 和IO 设备请求相互交替的执行,更高效的使用CPU,通过不断让CPU 工作来提高CPU 的利用率。

3) 研究操作系统的几种观点

  • 系统观点:用于资源管理器的操作系统
  • 用户观点:用于扩展机的操作系统

4) 什么是双重操作模式什么要引进双重操作模式

  • CPU 有两种执行任务的模式(通过模式位表示当前模式)
    • 系统模式:用于执行操作系统任务
    • 用户模式:用于执行用户任务
  • 为何引入:通过只能在系统模式下运行特权指令,可以保证操作系统时刻控制整个计算机系统,并保证关键数据的安全。

5) 系统态、用户态以及转换的条件

  • 用户态
    • 也称作算态、目标程序态(目态)、常态
    • 当系统在用户态时,只能使用非特权指令
  • 系统态
    • 也称作管态、核心态、管理态、特权态
    • 当系统处于系统态时,可以使用所有指令、资源,并具备改变CPU状态的能力
  • 用户态切换到内核态的3种方式
    • 系统调用(主动)
      如果CPU执行用户程序时要申请使用操作系统提供的服务程序,系统将自行转到中断处理程序,CPU就由用户态转换到核心态,称之为软中断。
    • 异常
      当CPU在执行用户程序时,发生了某些事先不可知的异常,这时会触发由当前运行进程切换到处理此异常的内核相关程序中,也就转到了内核态,比如缺页异常。
    • 外围设备的中断
      如果CPU在执行用户程序时需要调用外围设备信息如键盘输入,或外围设备完成用户请求的操作后,会向CPU发出相应的中断信 ,称为硬中断。

6) 硬件保护机制

  • 双重模式操作
  • CPU保护
  • I/O保护
    • 所有I/O 指令都是特权指令,用户只能通过系统调用进行I/O操作
    • 目的:确保用户程序不能获得管理模式
  • 内存保护
    • 保护OS的存储区(如中断向量表、中断服务程序、OS的代码和数据等)
    • 内存中用户程序之间的保护
    • 一种实现方法(基址寄存器、界限寄存器)

第二章

1. 用户与OS 的两种接口

  • 命令接口:由一组键盘操作命令和命令解释程序组成
    • 脱机(off-line):批处理系统——作业控制语言JCL
    • 联机(on-line):交互式系统——命令行
  • 程序接口:为了用户访问系统资源而设,用户程序获取操作系统服务的唯一途径是系统调用

2. 系统调用

  • 系统调用提供了操作系统提供的有效服务界面,提供了进程与操作系统之间的接口
  • 功能:允许用户级进程请求操作系统服务
  • 分类:进程控制,文件管理,信息管理,设备管理,通信

3. 操作系统的结构有几种自的特点/h2>
  • 结构
    • 简单结构/整体式系统
      • 一系列过程的集合,只要需要,就可以相互调用
      • 内存容量限制,没有划分模块
    • 层次式结构
      • 每层只能利用低一层的功能(操作)和服务
      • 实现模块化,相对效率差
    • 微内核(/C/S 结构)
      • 只有最基本OS功能放在内核中,运行在内核模式;不是最基本服务和应用在内核之外,运行在用户模式
      • 易于维护,易于扩充,适用于分布式系统
    • 虚拟机(/扩展机)结构
      • 提供与基本硬件相同的接口,虚拟多台硬件裸机
      • 提供了安全层,完全保护硬件资源,系统开发不影响正常系统操作;完全复制底层机器
    • 模块
      • 可加载的内核模块:内核提供核心服务,无论在启动或运行时,内核都可以通过模块链入额外服务

4. 其他概念

  • 虚拟机:是硬件的完全拷贝
  • Shell:解释程序
    • 实现命令两种方法
    1. 命令解释程序本身包含代码以执行这些命令
    2. 通过系统程序实现大多数的命令
  • 中断:是异步的,因为从逻辑上来说,中断的产生与当前正在执行的进程无关
  • 陷入:是异常之一,异常是由当前正在执行的进程产生。陷入的最主要的应用是在调试中,被调试的进程遇到你设置的断点,会停下来等待你的处理,等到你让其重新执行了,它当然不会再去执行已经执行过的断点指令。

第三章

1. 进程

  • 定义:进程指一个正在执行的程序,包括程序计数器、寄存器和变量当前值
    • 程序是被动的实体,进程是活动的实体
    • 进程可中断
    • 同一程序处理不同数据级时,可以构成不同的进程
  • 特征
    • 动态性:有一定的生命期: 创建, 执行, 暂停, 消亡
    • 并发性:多个进程实体,同存于内存中,能在一段时间内同时运行
    • 独立性:进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位
    • 异步性:进程按各自独立的、不可预知的速度向前推进, 即进程按异步方式运行
  • 结构特征:进程映像(正文段/程序段、数据段、堆、栈以及进程控制块)

2. 程序顺序执行

严格按先后次序逐个执行语句/程序段

  • 顺序执行的特征
    • 顺序性:只有前一个操作结束, 才能执行后续操作
    • 封闭性:程序运行时独占全机资源
    • 可再现性:与执行速度无关

3. 程序的并发执行

  • 多道程序系统:多道程序的并发执行
  • 某道程序可以包含若干个能够并发执行的程序段
  • 好处:充分利用系统资源,提高系统处理能力
  • 并发执行的特征
    • 间断性:共享资源,相互合作
      • 相互制约
      • 执行 – 暂停 – 执行
    • 失去封闭性:一个程序的执行受到其他程序的影响
    • 不可再现性

4. 进程与程序的区别与联系

  • 进程是一个正在执行的程序
  • 进程是一个活动的实体,程序是一个被动的实体
  • 进程不只是程序代码,还包括当前的活动(用CPU 各种寄存器的内容表示)以及堆栈段和数据段
  • 非对称性:一个进程可以调用多个程序,一个程序可以被多个进程共用

5. 进程状态及其转换

  • 三状态(运行、就绪、等待
  • 五状态
    • 新建:新进程正在被创建
    • 就绪:只要有机会获得CPU 就开始执行
    • 运行:进程正在被执行
    • 等待:等待某个事发生

6. 进程管理块PCB

  • 进程各种属性的集合
  • PCB是进程存在的唯一标志
  • 是OS中最重要的数据结构
    • OS通过PCB控制和管理并发执行的进程
    • 涉及调度、资源分配、中断处理
  • 主要内容
    • 进程标识
    • 进程状态信息
    • 进程控制信息

7. 调度程序

  • 长期调度程序 / 作业调度程序:长期调度程序在后备队列中选择作业,控制主存中进程的数量
  • 短期调度程序 / CPU调度程序:就绪队列中选择进程,分配CPU;执行频率很高
  • 中期调度程序:交换;进程的挂起状态

8. 上下文切换

  • CPU从一个进程切换到另一进程,保存原来进程的状态,装入新进程上次保存的状态
  • 上下文切换时间:系统开销

9. 进程控制

  • 主要功能:创建、撤销、挂起、唤醒、阻塞、激活等原语所需完成的功能
  • 原语和系统调用:执行过程的区别
  • 进程在执行过程中通过系统调用创建
    • Fork():由于代码相同,父子共享存储空间
    • Execve():必须重新分配空间(windows CreateProcess())
  • 进程通信的几种方法
    • 共享内存
      共享内存模型会建立一块协作进程共享的内存区域,进程通过向此共享区域读或写数据来交换信息
    • 消息队列
      • 相互合作的并发进程交换信息的一种高级通信方式
      • 进程间的数据交换以消息(message)为单位
      • 适用场合:单处理器系统、共享主存的多处理器系统、分布式系统
      • 使用消息传递原语(发送消息原语、接收消息原语)实现通信,系统隐蔽了实现细节
      • 类型
      1. 直接通信
        -> 明确指明发送进程和接收进程的标识
        特点
        1. 自动建立
        2. 一个通信线路只与一对进程相关联
        3. 每对进程只有一个通信线路
      2. 间接通信
        -> 邮箱(mailbox) / 端口(port):有唯一标识,共享同一个邮箱的进程才可以通信
        -> 发送和接收消息的原语
        特点
        1. 建立:多个进程共享一个邮箱
        2. 一个线路可以与多个进程关联
        3. 两个进程可以共享多个邮箱(有多个线路)

第四章

1. 什么是线程什么要引进线程/h2>
  • 线程:又称为轻量级进程,是使用CPU 的基本单元,由线程ID、程序计数器、寄存器集合和堆栈组成。属于同一进程的线程共享进程的代码段、数据段和其他操作系统资源。
  • 引入进程的目的
    • 使多个进程并发执行
    • 改善资源利用率
    • 提高系统吞吐量
  • 引入线程的原因
    • 程序并发执行时所付出的时空开销
    • 使OS 具有更好的并发性
  • 线程是调度和分派的基本单位
  • 与同进程内其他线程共享进程所拥有的资源
  • 基本状态:运行、就绪、阻塞

2. 线程和进程的区别/h2>
  • 进程是资源的拥有者,而线程是进程中的一个实体,只拥有运行所必须的资源
  • 线程的优点
    • 提高并发性
    • 响应度高
    • 资源资源共享
    • 经济——降低时空开销
    • 多处理器体系结构的利用

3. 线程的实现方式

  • 用户级线程(管理无需内核支持)和内核级线程(由操作系统来直接支持与管理)
  • 多线程模型
    1. 多对一模型
      -> 映射多个用户线程到一个内核线程
      -> 效率高,但若一个线程执行阻塞系统调用则整个进程将会阻塞,并且同一时间只能一个线程访问内核,即不能并行运行
    2. 一对一模型
      -> 每个用户线程映射一个内核线程
      -> 比多对一更好的并发性,但创建内核线程的开销会影响应用程序的性能
    3. 多对多模型
      -> 多路复用多个用户级线程到同样数量或更少的内核线程,没有以上两个缺点
  • 双层模型
    • 多对多(普通线程)+ 一对一(重要线程)

第五章

1. 调度类型

  • 长期调度——确定把哪个作业放到内存中执行
  • 中期调度——主要在分时系统中使用。将内存中的作业换出到外存中等到内存允许的情况下再换入到内存中执行
  • 短期调度——从就绪队列中选择进程执行并把CPU分配给它
  • 分派程序:一个模块,负责把CPU控制权交给被CPU调度程序选中的进程(切换上下文)

2. 调度队列

  • 调度的四种时机
    1. 运行的进程 –> 终止
    2. 运行态 –> 等待态:e.g. 因请求I/O 而阻塞;调用wait 等待子进程终止
    3. 运行态 –> 就绪态:e.g. 分时系统中,时间片用完
    4. 等待态 –> 就绪态:e.g. 如I/O完成;优先级高于当前运行进程
  • 非抢占调度
    • 仅在第1、2 种情况下才进行调度
    • 一旦把处理器分配给某进程,就让他一直执行,直到它完成或因等待某事件而阻塞
    • 特点:实现简单,系统开销小,无需特别硬件支持
    • 适用大多数批处理系统
  • 可抢占调度
    • 发生在调度时机的各种情况
    • 特点:避免一个进程独占处理器时间过长–>可能对所有进程提供较好服务,系统开销增加,对协作进程并发执行有影响

3. 调度算法的性能评价准则

  • 准则
    • CPU使用率(CPU utilization)
    • 吞吐量(throughput):单位时间内完成的作业数
    • 周转时间(turnaround time):作业/进程从提交到完成的时间间隔,T(执行完)- T(进入系统)
      • 等待进入主存,在就绪队列中等待CPU,在CPU上运行,执行I/O操作等
      • 平均周转时间
      • 带权周转时间 = 周转时间 / 实际服务时间
      • 平均带权周转时间
    • 等待时间(waiting time):在就绪队列中等待所花时间的总和,受到调度算法的影响
    • 响应时间(response time):对于一个交互式进程,从用户提出请求,到系统开始输出响应
    • 最优化准则:CPU使用率— 最大化、吞吐量— 最大化、周转时间— 最小化、等待时间— 最小化、响应时间— 最小化
  • 评价
    • 批处理系统周转时间很重要
    • 分时系统响应时间短很重要

4. 调度算法

  • 先来先服务调度FCFS
    • 先到先服务按到达持续先后调度
    • 对长进程有优势,利于多处理器处理的进程,不利于多I/O 处理的进程
  • 最短作业优先调度SJF
    • 在就绪队列中选择下一个CPU区间最短的进程
    • 非抢占和可抢占
    • 需要知道或者估计进程会执行多长时间,可能会是长进程产生饥饿,不适合在实时系统中使用
  • 优先级调度
    • 每个进程和一个优先权关联,把CPU分配给就绪队列中优先权最高的进程,具有相同优先权则顺序
    • 非抢占:主要用于批处理
    • 可抢占:实时、分时、批处理
    • 优先权与优先数 / 优先权的值没有绝对固定关系
    • 可以通过老化(等待时间越长,优先权增加)解决饥饿问题
  • 轮转法调度RR
    • 每个进程每次只能运行一个很小的时间单位
    • 问题:若时间片短则响应快,但开销大太长;若时间片长则退化成变成FCFS
    • 在通用分时系统和事务系统中有效
  • 高响应比优先调度算法HRRN
    • 响应比 = (A + B) / B
    • A:等待处理器的时间
    • B:期望服务的时间
  • 多级队列调度
    • 把就绪队列划分为2个或多个独立的队列
    • 划分依据:进程的性质或类型
    • 一进程固定属于某个队列
    • 每个队列有各自的调度算法
  • 多级反馈队列调度
    • 进程可以在多个队列之间移动
    1. 进程CPU区间特点->处于哪个队列
    2. 使用CPU多->进入优先权较低的队列
    3. I/O约束、交互式:高优队列
    4. 老化(aging):在低优队列等待过久 -> 进入优先权较高的队列

第六章

1. 基本概念

  • 竞争条件:两个或两个以上的进程共享数据,而最终的执行结果则是根据执行次序而决定的,这种情况成为竞争条件(解决方法:控制对共享资源的访问)
  • 临界资源:多个进程可同时读写共享的数据,一段时间内只允许一个进程访问的资源
  • 临界区:每个进程中访问临界资源的那段代码,当一个进程在临界区内执行时,不允许其他进程在临界区执行
  • 信 量:两个或者多个进程可以用信 的方法进行协作。进程可以在任何地方停下来以等待收到特定的信 ,这种信 的实现叫做信 量
  • 忙等待:持续检测一个变量知道它具有某一特定值
  • 互斥:如果有程序在临界区中执行,那么其他进程都不能在临界区中执行。这样可以避免竞争条件的发生

2. 同步机制应当遵循准则

  • 互斥(mutual exclusion) / 忙则等待
  • 前进(progress) / 有空让进
  • 有限等待(bounded waiting):从一个进程提出进入临界段的请求到被满足,其他进程进入临界段的次数有限
  • 让权等待:不在就绪队列而在等待队列

3. 进程间的制约关系

  • 间接制约(如:都等一个信 量)
    • 共享某一公有资源的并发进程,在临界区内不允许交叉执行
    • 由于访问共享公有资源,造成了对并发进程执行速度的间接制约
    • 受到间接制约的各并发进程执行临界区的顺序是任意的
  • 直接制约(如:P2必须得等P1释放信 量才可执行)
    • 一组在异步环境下的并发进程,各自的执行结果互为对方的执行条件,从而限制了各进程的执行速度,这称作并发进程间的直接制约

4. 互斥问题

  • 死锁:两个或者多个进程无限期等待一个事件的发生,而这个事件只能由这些等待的进程之一来实现。
  • 饥饿:无限期阻塞

5. 准则

  • 实现方法:硬件、信 量(软件方法不要求)
  • 硬件互斥:系统提供了特殊硬件指令允许原子地检查和修改字的内容或者交换两个字
  • 信 量:两个或者多个进程可以用信 的方法进行协作,进程可以在任何时候停下来等待收到特定的信

6. 信 量

  • 记录型信 量:用于发信 的特殊变量,是一个整数值;通过信 量接收信 和发送信
  • 公用信 量私有信 量(非全部并发进程)
  • 强信 量(等待队列按FIFO顺序出队)与弱信 量(没有规定出队顺序)
  • 计数信 量:值不受限制
  • 二进制信 量 / 二值信 量:值只能为0或1

7. 生产者与消费者

  • 保持同步,消费者不能取空消息,生产者不能放入有消息的地方

8. 管程

  • 一个软件模块,高级语言提供的同步机制
  • 特性
    • 对局部变量的访问只能通过该管程的过程,不能通过其他过程
    • 一进程只能通过调用管程的过程进入管程
    • 每次只能有一个进程在管程中执行——互斥
  • 条件变量(condition variables)
    • 管程内部的一种特殊数据类型
    • 管程通过使用条件变量支持同步
    • 只能在管程内部访问
  • 对条件变量的操作
    • wait( ):调用wait操作的进程暂停(在管程内),直到有其他进程对该条件变量执行signal()
    • signal( ):如果有暂停的进程, 则重新启动一个暂停的进程;否则,signal操作不产生任何效果
    • 与信 量的PV操作区别:管程中的wait一定会停止,而信 量中wait需要根据信 量值进行判断

第七章

1. 死锁

  • 定义:指多个进程因竞争资源而造成的一种僵局, 若无外力作用, 这些进程将永远不能再向前推进
  • 产生原因:资源不足导致的资源竞争,进程推进顺序不合理
  • 4 个必要条件
    • 互斥条件:一次只能有一个进程使用
    • 占有并等待条件 / 请求和保持:一个进程在申请其他进程占据的资源,同时保持着自己已经获得的资源
    • 非抢占(非剥夺)条件:资源不可被抢占,仅当使用资源的进程完成任务后,才自愿释放
    • 循环等待(环路等待)条件:在发生死锁时,必然存在一个进程-资源的环形链
    • 注意:如果没有环,那么一定没有死锁;有环不一定死锁

2. 资源分配图(有向图)

  • 进程用圆形表示,资源用方形表示
  • 申请边:进程指向资源
  • 分配边:资源指向进程
  • 需求边:将来要申请的资源,用虚线表示

3. 资源的分类

  • 可重用资源:只有一个,不会由于使用而耗尽
  • 可消费资源:数量不限,可以创建/生产并且可以销毁/消费的资源,使用后则不存在
  • 可剥夺性资源:如处理器、主存
  • 非可剥夺性资源:如磁带机、打印机、刻录机

4. 死锁处理方法

  • 通过破坏死锁的四个必要条件中的一个或多个条件,保证不会发生死锁
  • 确保系统不进入死锁
    • 预防死锁
      • 预防第二个产生死锁的条件
      • 直接预防:预防第四个产生死锁的条件(适用条件:资源的状态可很容易地保存和恢复)
      • 间接预防:预防前三个产生死锁的条件
      • 预防互斥——不可取!
    • 避免死锁
      • 不需要事先采取限制措施破坏死锁的必要条件
      • 在资源的动态分配过程中,采用某种策略防止系统进入不安全状态,从而避免发生死锁
      • 如果满足一个进程新提出的一项资源请求有可能导致死锁,那么拒绝分配资源给这个进程
      • 死锁的避免是允许前三个条件的发生,但不允许后用一种机制来防止到达死锁的状态
        操作系统复习大纲
      • 银行家算法
    • 允许系统进入死锁
      • 进行检测
      • 恢复
      1. 进程终止
      2. 资源剥夺
    • 假定系统不会进入死锁(不理会)
      • 鸵鸟算法

第八章

1. 基本概念

  • 符 地址:在源程序中,程序员使用符 名作为地址
  • 名空间:由符 地址形成的空间
  • 逻辑地址 / 虚地址:CPU 生成的地址;通常,一个应用程序(源程序)经过编译、链接后形成可装入程序,地址从0开始,程序中的其他地址都是相对于起始地址计算的
  • 逻辑地址空间:由逻辑地址所形成的地址范围
  • 物理地址空间

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年3月11日
下一篇 2022年3月11日

相关推荐