5.22硬件的保护机制 (1)单用户内存保护问题 用户程序运行时不能跨越地址界限寄存器(基址寄存器) 无法分隔不同用户的程序 系统区 界限寄存器 用户区 (内存) 单用户内存保护 12/103
12/103 (1)单用户内存保护问题 ⚫ 用户程序运行时不能跨越地址界限寄存器(基址寄存器) ⚫ 无法分隔不同用户的程序 系统区 用户区 (内存) 界限寄存器 单用户内存保护 5.2.2 硬件的保护机制
522硬件的保护机制 (2)多道程序的保护 在基址寄存器基础上再增加一个寄存器保存用户程序的 上边界地址 使用多对基址和边界寄存器,还可把用户的可读写数据 区与只读数据区和程序区互相隔离 系统区 基地址寄存器 基地址寄存器2 程序R内存区 边界址寄存器 边界址寄存器2 程序S内存区 程序T内存区 多道程序的保护 13/103
13/103 (2)多道程序的保护 ⚫ 在基址寄存器基础上再增加一个寄存器保存用户程序的 上边界地址 ⚫ 使用多对基址和边界寄存器,还可把用户的可读写数据 区与只读数据区和程序区互相隔离 5.2.2 硬件的保护机制 多道程序的保护 系统区 程序R内存区 程序S内存区 程序T内存区 基地址寄存器 边界址寄存器 基地址寄存器2 边界址寄存器2
52,2硬件的保护机制 (3)标记保护法 能对每个存储单元按其内 容要求进行保护,例如有E 代码 的单元只读,读/写、或仅E 代码 执行(代码单元)等不同E 代码 要求,可以在每个内存字E 代码 单元中专用几个比特来标 记该字单元的属性。 其中E表示执行,R表示读,OR 数据 W表示写,OR表示只读 RW 数据 加标记的内存 14/103
14/103 (3) 标记保护法 ⚫ 能对每个存储单元按其内 容要求进行保护,例如有 的单元只读,读/写、或仅 执行(代码单元)等不同 要求,可以在每个内存字 单元中专用几个比特来标 记该字单元的属性。 ⚫ 其中E表示执行,R表示读, W表示写,OR表示只读 5.2.2 硬件的保护机制 加标记的内存 E 代码 E 代码 E 代码 E 代码 RW 数据 OR 数据 ………………
522硬件的保护机制 (4)分段与分页技术 稍微复杂一些的用户程序,通常按功能划分成若干个模块(过程) 以模块为单位对程序进行分段,可以实现对程序的不同片段分别保护 的目标 但各段长度不同,个别段还有尺寸要求增大的要求,内存管理困难 分页是把目标程序与内存都划分成相同大小的片段,解决了碎片问题, 但没有像段那样完整的意义无法指定各页的访问控制要求 将分页与分段技术结合起来使用 由程序员按计算逻辑把程序划分为段,再由操作系统把段划分为页 属于相同段的页还可用密码保护,只有拥有正确的密钥才能访问页 15/103
15/103 (4) 分段与分页技术 ⚫ 稍微复杂一些的用户程序,通常按功能划分成若干个模块(过程), 以模块为单位对程序进行分段,可以实现对程序的不同片段分别保护 的目标 ⚫ 但各段长度不同,个别段还有尺寸要求增大的要求,内存管理困难 ⚫ 分页是把目标程序与内存都划分成相同大小的片段,解决了碎片问题, 但没有像段那样完整的意义无法指定各页的访问控制要求 ⚫ 将分页与分段技术结合起来使用 ⚫ 由程序员按计算逻辑把程序划分为段,再由操作系统把段划分为页 ⚫ 属于相同段的页还可用密码保护,只有拥有正确的密钥才能访问页 5.2.2 硬件的保护机制
6522硬件的保护机制 →2运行保护 R7用户程序 基本要求是:在进程运行 R6用户程序 的区域内运行域实行不同 R5用户程序 的安全等级的保护机制。 R4用户程序 图(a所示的是一个两域两 R3系统应用程序 环)的运行保护,图(b)是多 R2操作系统 域情况下的运行保护。 R1操作系统 两环系统的目的是隔离系 统运行域与用户运行域。 RO (a)中大写字母表示系统运 内核 行域,小写表示用户的运 行域 WR X w r x c物理地址 图(a)两环情况下的运行保护 16/103 图(b)多环情况下的运行保护
16/103 2.运行保护 ⚫ 基本要求是:在进程运行 的区域内 (运行域 )实行不同 的安全等级的保护机制 。 图(a)所示的是一个两域 ( 两 环 )的运行保护,图(b)是多 域情况下的运行保护。 ⚫ 两环系统的目的是隔离系 统运行域与用户运行域 。 (a)中大写字母表示系统运 行域,小写表示用户的运 行域 W R X w r x c 物 理 地 址 图 ( a ) 两 环 情 况 下 的 运 行 保 护 R 7 用 户 程 序 R 6 用 户 程 序 R 5 用 户 程 序 R 4 用 户 程 序 R 3 系 统 应 用 程 序 R 2 操 作 系 统 R 1 操 作 系 统 R 0 内 核 图 ( b ) 多 环 情 况 下 的 运 行 保 护 5.2.2 硬件的保护机制