操作系统复习

第二部分 4-6章

Posted by XDong on December 20, 2021

第二部分 4-6章

第四章 存储管理

存储管理的基本概念

4.1.1 存储管理研究的课题

解决的问题:

  • 存储分配问题:重点是研究存储共享和各种分配算法
  • 地址再定位问题:研究各种地址变化机构,以及静态和动态再定位方法
  • 存储保护问题:研究保护各类程序、数据区的方法
  • 存储扩充问题:主要研究虚拟存储器问题及其各种调度算法

4.1.2 地址再定位

一个逻辑地址空间的程序装入到物理地址空间时,由于两个空间不一致,就需要进行地址变换,即地址的再定位

4.2.1 单一连续分配

优点是:方法简单、易于实现

缺点是:仅仅适用于单道程序,因而不能使处理机和主存得到充分利用

4.2.2 分区分配

分区分配是能满足多道程序设计需要的一种最简单的存储管理技术,分区管理法也称界地址存储管理法。

  1. 固定式分区
  2. 可变式分区
  3. 可再定位式分区分配
  4. 多重分区分配

优点:

  1. 实现了主存的共享
  2. 所占存储容量较少,算法也相对简单
  3. 实现存储保护的措施也比较简单
  4. 多重分区分配方案也能实现对子程序、数据段的共享

缺点:

  1. 主存不能充分利用
  2. 不能实现对主存的扩充
  3. 要求一个作业在执行之前必须全部放入主存
  4. 采用靠拢方法,虽然能解决碎片问题,需要处理大量信息,损失了处理机时间
  5. 除多重分区外,几个共行作业不不能共享存入主存的单一信息副本

4.3 分页存储管理

页面变换表

4.3.2 地址变换机构

动态地址变换机构DAT:

通过页面变换表来查找块号,慢、简单

每个作业都有一个页面变换表,通常各作业的页面变换表放在操作系统的一个工作区中,由页面变换地址寄存器(PMTAR)指出作业的页面变换表的起始地址

高速页面变换寄存器:

采用硬件的高速寄存器来实现作业地址空间到物理地址空间的变换

联想存储器:

一种折中的办法,高速寄存器作为DAT的辅助机构来实行地址变换,速度中等,费用中等

4.3.3 分页存储管理算法

  • 作业表(JT):整个系统一张表
  • 存储分块表(MBT):整个系统一张表
  • 页面变换表(PMT):每个作业一张表

当有一个作业进入系统时,就在作业表上登记页表的长度及状态信息,并为PMT表分配一个存储区,然后将PMT表的起始地址填入作业表中,最后搜索存储分块表,将存储块号填入PMT表中

4.3.4 分页存储管理方案的评价

优点:

  1. 不必像浮动分区法执行费时的靠拢操作
  2. 消除了碎片,便于多道程序设计

缺点:

  1. 采用动态地址变换会增加计算机成本和降低处理机的速度
  2. 各种表格占用了一定容量的主存空间,还需花费一定的处理机时间用来建立和管理这些表格
  3. 消除了碎片,但是每个作业的最后一页一般都有不能充分利用的空白区
  4. 存储扩充问题还是没有得到解决

4.4 请求分页存储管理

分页存储管理系统根据请求装入所需页面的方法,称为请求分页存储管理

将某一页从实存移到辅存称为“出页”,从辅存调入实存称为“入页”,入页和出页的操作称为“分页”操作

系统抖动:在请求分页系统中,从实存中刚刚移走某个页面后,根据请求有调入该页,这种反复进行入页和出页的现象称为“抖动”

发生系统抖动,在于页面置换算法和程序的问题

4.4.2 页面置换算法

先进先出算法(FIFO):

最近最久未使用算法(LRU):

当需要置换一页时,选择在最近一段时间最久未用的页予以淘汰

普遍适用于各种类型的程序,但是实现起来比较困难。因为要对先前的访问历史加以记录和更新,如果由软件来做,则系统开销过大,如果由硬件来完成,则会增加计算机成本,所以实际应用的推广的时一种简单而有效的LRU近似算法

LRU近似算法:

在存储分块表或页面变换表中设一“引用位”,当存储分块表中的页被访问时,该位由硬件自动置“1”,而由页面管理软件周期的把所有引用位置“0”。置换时,选择引用位为“0”的页

4.4.3 性能分析

程序设计的质量主要指程序的局部化程度,包括时间局部化和空间局部化

  • 时间局部化:一旦某个位置——数据或指令——被访问了,它常常很快又要再次被访问。可以通过循环、变量、子程序来实现
  • 空间局部化:一旦某个位置被访问到,那么她附近的位置很快也要用到

第五章 文件系统

5.1 文件系统概述

5.1.3 文件系统的基本功能

  1. 文件的结构及有关存取方法
  2. 文件的目录结构和有关处理
  3. 文件存储空间的管理
  4. 文件的共享和存取控制
  5. 文件的操作和使用

5.2 文件的结构和存取法(具体应用)

5.2.2 文件的物理结构

连续结构(类似于定长数组):

知道文件存储的起始块号和文件块数,可以立即找到所需的信息。缺点是,建立文件时,需要用户给出文件的最大长度;不便于记录的增、删操作,一般只能在末端进行

串联结构(类似于链表):

动态增删,不需要事先声明文件的最大长度。缺点是只适合顺序存取,不便于直接存取。设置链接字破坏了物理信息的完整性

索引文件:

具备串联结构的所有优点,还克服了它的缺点,可以随机存取。缺点是增加了索引表的空间开销,存取文件时需要区得索引表,增加了一次访盘操作,降低了文件访问的速度

多个索引表块的组织方式:串联文件方式和多重索引方式

在UNIX系统中,文件的物理结构就采用多重索引结构

系统把常规文件分成小型(0~9,直接)、中型(10,间接)、大型(11,二次间接)和巨型(12,三次间接)四种文件

5.2.4 存取方法

表5.1

5.3 文件目录

5.3.1 简单的文件目录

存在以下几个问题:

  1. 存在“重名”问题
  2. 当系统文件数量过多时,目录项数会很大,查找起来就要花费较长时间(效率问题)

解决问题的方法是建立二级或多级目录

5.4 文件存储空间的管理

5.4.1 空白文件目录

我们把盘空间上一个连续的未分配区域称为“空白文件”。系统为所有这些“空白文件”单独建立一个目录

这种方法仅当有少量空白文件时才有较好的效果。如果存储空间中有大量的小的空白文件,则使该目录变得很大,因而效率降低。其次,这种管理技术仅适用于连续文件

5.4.2 空白块链

采用链接结构时,释放和分配的空白块都可以在链首处进行,其主要问题时修改几个有关的链接字。

采用指针,要读几个盘块,工作量较大;采用索引表,工作简单,存储空间较大,对系统来说也是一种负担

UNIX使用了空白块成组链接法

5.4.3 位示图

一位代表一个物理块

分配和释放都可以在内存的位示图上完成,而且速度较快。这一优点是它能被广泛采用的主要原因。其缺点是,尽管位示图较小,但还是要占用存储空间

5.5 文件的共享

同名共享

异名共享:文件的勾连

  1. 允许目录项链接到目录树的任一节点上
  2. 只允许链接到数据文件的叶子节点上

实现方法:

  1. 基于索引节点的共享方法
  2. 基于符号链的共享方法:能跨越文件系统共享

5.5.2 打开文件结构中的共享

5.5.3 管道文件

一种特殊的打开文件,有以下部分组成:

  1. 一个外存索引节点
  2. 相应的内存索引节点
  3. 两个系统打开文件表

5.6 文件的存取控制

5.6.1 文件存取控制法

  • 存取控制矩阵:优点是简单,缺点是不够经济。矩阵本身将占据大量空间
  • 存取控制表:一个文件只于几个用户有关
  • 用户权限表:
  • 口令:优点是,对每个需要保护的文件只须提供少量的保护信息,口令的管理简单易于实现。缺点是,别人存取你的文件,要告诉别人口令,操作系统和系统程序员可能会得到系统的全部口令
  • 加密:具有保密性强,节省存储空间的优点,但是是以花费大量编码和译码的时间为代价换来的

第六章 输入/输出系统

6.1 I/O设备类型

图6.2

6.1.3 I/O系统的硬件组织

  1. 循环I/O测试方式
  2. 程序中断I/O方式
  3. DMA方式
  4. 通道方式

6.1 I/O系统的软件组织

6.3.1 I/O系统软件的层次结构

图6.12 I/O系统的层次结构

6.4 缓冲技术

为什么要有缓冲:缓冲技术的引入可明显的提高CPU与外设的并行程度,提高系统的处理能力和设备利用率

缓冲技术的基本思想是在CPU和外设之间设立缓冲区,用于暂存CPU和外设之间交换的数据,从而缓和CPU和外设速度不匹配产生的矛盾

6.5 磁盘的驱动调度

  • 先来先服务算法FCFS
  • 最短查找时间优先法SSTF
  • 电梯调度算法