操作系统学习(十一) 、页级保护

一、页级保护方式

页目录和页表表项中的读写标志R/W和用户/超级用户标识U/S提供了分段机制保护属性的一个子集。分页机制只识别两级权限。特权级0、1和2被归类为超级用户级,而特权级3被称为普通用户级。普通用户级的页面可以被标志成只读/可执行或可读/可写/可执行。超级用户级的页面 对于超级用户来说总是可读/可写/可执行的,但普通用户不可访问。 对于分段机制,在最外层用户级执行的程序只能访问用户级的页面,但是在任何超级用户层(0、1、2)执行的程序 不仅可以访问用户层的页面,也可以访问超级用户层的页面。与分段机制不同的是,在内层超级用户级执行的程序对任何 页面都具有可读/可写/可执行权限,包括那些在用户级标注为只读/可执行的页面。

普通用户和超级用户对页面的访问限制

正如在整个80x86地址转换机制中分页机制是在分段机制之后实施一样,页级保护也是在分段机制 提供保护措施之后 发回作用 。首先,所有段级保护被检查和测试。如果通过检查,就会再进行页级保护检查。例如,仅当一个字节位于级别3执行的程序可访问段中,并且处于标志为用户级页面中时,这个内存中的字节才可被级别3上的程序访问。仅当分段和分页都允许写时,才能对页面执行 写操作。如果一个段是读/写类型的段,但是地址 对应的相应页面被标注为只读/可执行,那么还是不能对页面执行写操作。如果段的类型是只读/可执行,那么不管对应页面被赋何种保护属性,页面始终是没有写权限的。可见分段和分页保护机制就像电子线路中的串行线路,其中只要有一个开关没闭合上线路都不会通。

类似地,一个页面的保护属性有页目录和页表结构中表项的“串行”或“与操作”构成,页表表项中的U/S标志和R/W标志应用于该表项映射的单个页面。页目录项中的U/S和R/W标志则对该目录项所映射的所有页面起作用。页目录和页表的组合保护属性有两者属性的“与”操作构成,保护措施非常严格。

页目录和页表项对页面的“串行”保护

二、修改页表项的软件问题

这里提供了一些有关操作系统软件修改页表项内容所需遵守的规则。分页转换缓冲要求所有系统都须遵守这些规则。为了避免每次 内存应用都要访问驻留内存的页表,从而加快速度 ,最近使用的线性到物理地址的转换信息被保存在处理器内的页转换高速缓冲中。处理器在访问内存中的页表之前会首先利用缓冲中的信息。只有当必要的转换信息不在高速 缓冲中时,处理器才会搜寻内存中的页目录和页表。页转换高速缓冲也叫转换查找缓冲TLB(快表??)

80x86处理器并没有维护页转换高速缓冲和页表中数据的相关性,但是需要操作系统软件来确保它们一致。即处理器并不知道什么时候页表被软件修改过了。因此操作系统必须在改动过页表之后刷新高速缓冲以确保两者一致。通过简单地重新加载寄存器CR3,我们就可以完成对高速缓冲的刷新操作。

有一种特殊情况,在这种情况下修改页表项不需要刷新页转换高速缓冲。也即不存在页面的表项被修改时,及时是把P标志从0改成1来标注表项对页转换有效,也不需要刷新高速缓冲。因为无效的表项不会被存入高速缓冲中。所以在把一个页面从磁盘调入内存以使页面存在 时,我们不需要刷新页转换高速缓冲。

原文地址:https://www.cnblogs.com/ay-a/p/9185324.html

时间: 2024-10-10 07:31:24

操作系统学习(十一) 、页级保护的相关文章

操作系统学习(七) 、保护机制概述

保护机制是可靠运行多任务环境所必须的.它可以用于保护各个任务免受互相之间的干扰.在软件开发的任何阶段都可以使用段级和页级保护来协助寻找和检测设计问题和错误.当程序对错误内存空间执行了一次非期望的引用,保护机制可以阻止这种操作并且报告此类事件. 保护机制可以被用于分段和分页机制.处理器寄存器的2个比特位定义了当前执行程序的特权级,称为当前特权级CPL.在分段和分页地址转换过程中,处理器将对CPL进行验证. 通过设置控制寄存器CR0的PE标志(位0)可以让处理器工作在保护模式下,从而也就开启了分段保

操作系统学习(一)、80x86保护模式内存管理

整理的不好,凑合着看吧 目录 1.内存及寻址 2.地址变换 3.分段机制 4.分页机制 5.保护 6.去到底部 一.内存及寻址 返回目录 二.地址变换 80X86 从 逻辑地址 到 物理地址 的转换:第一阶段是使用分段机制把程序的 逻辑地址变换成处理器可寻址的内存空间(称为线性地址空间)中的地址. 第二阶段使用分页机制把线性地址转换为物理地址. 在地址变换的过程中, 第一阶段的分段变换机制总是使用,第二阶段的分页机制是可选的,如果没有启用分页机制,那么分段机制产生的线性地址空间就直接映射到处理器

操作系统学习笔记----进程/线程模型----Coursera课程笔记

操作系统学习笔记----进程/线程模型----Coursera课程笔记 进程/线程模型 0. 概述 0.1 进程模型 多道程序设计 进程的概念.进程控制块 进程状态及转换.进程队列 进程控制----进程创建.撤销.阻塞.唤醒.... 0.2 线程模型 为什么引入线程 线程的组成 线程机制的实现 用户级线程.核心级线程.混合方式 1. 进程的基本概念 1.1 多道程序设计 允许多个程序同时进入内存运行,目的是为了提高CPU系统效率 1.2 并发环境与并发程序 并发环境: 一段时间间隔内,单处理器上

操作系统学习

本文原创,转载请注明来至:http://blog.csdn.net/j903829182/article/details/38060553 1.计算机发展的4个时代:电子管时代,晶体管时代,集成电路时代和大规模集成电路时代 2.操作系统发展过程:(1)单道批处理,(2)多道批处理,分时和实时系统时代,(3)多方式系统时代(4)并行与分布式系统时代. 3.操作系统:是一种系统软件,是软硬件资源的控制中心,它以尽量合理有效的方法组织单个或多个用户以多任务方      式共享计算机的各种资源,并提供编

操作系统学习(三)、分页机制

目录 1.分页机制介绍 2.页表结构 3.页表项格式 4.虚拟存储 5.直达底部 分页机制介绍 分页机制是 80x86 内存管理机制的第二部分.它在分段机制的基础上完成虚拟地址到物理地址的转换过程.分段机制把逻辑地址转换成线性地址,而分页机制则把线性地址转换成物理地址.分页机制可用于任何一种分段模型.处理器分页机制会把线性地址空间划分成页面,然后这些线性地址空间页面被映射到物理地址空间的页面上.分页机制的几种页面级保护措施,可和分段机制保护措施和用或替代分段机制的保护措施. 通过设置控制寄存器

操作系统学习 28/9/2015

操作系统学习 28/9/2015 虚拟内存:程序可以比内存大,允许执行程序不全在内存中,按需调页. 按需调页:通过设置有效无效位,有效表面该页合法且在内存中,无效表明该页不在进程的逻辑空间内或者该页合法但是在磁盘上.进程试图访问无效位的页时会产生错误陷阱,处理:1.检查进程内部页表,确定该引用是否合法,若非法,则终止进程,若合法,则调入该页面:2.在内存中找到一个空闲帧,将页面从磁盘掉入该帧中:3.修改进程的内部表和页表:4.继续该中断指令的执行.(重新对该指令进行获取,译码等) fork()调

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

嵌入式Linux操作系统学习规划

开发板用友善之臂的吧mini2440 连3.5寸屏500块钱的样子有好几张DVD学习光盘 这款口碑比较高 嵌入式Linux操作系统学习规划ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目. 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺.这一