中断处理过程示意图_缺页中断处理过程.ppt

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:18   2200   0

缺页中断处理过程

3.5.3 存储保护与共享 1. 分页式存储中的存储保护与共享 . 在页式环境下,存储保护以页面为单位。在页表的每个表项里设置一个所谓的“保护位”,由该位的不同取值定义对应页是可读、可写或只可读等。 . 被共享的程序文本不一定正好在一个或几个完整的页面中,有可能一个页面中既有允许共享的内容,又有不能共享的私有数据。因此,在分页环境下实现页面的共享比较困难,但也不是不可能。 3 3 11 . 若页面尺寸为50KB,文本编辑程序的代码是可重入的,需要3页,用户进程的数据段需要一页。那么每个用户进程的逻辑地址空间为4页。如图画出三个进程的逻辑地址空间和对应页表,它们的0~2页都划归给文本编辑程序使用(ed1,ed2,ed3),页表中的0~2表项都对应于块号3、4和6;各进程的数据页(即dataA、dataB、dataC)都位于自己空间的第3页,分别存放在内存的2、8和11块。 进程A的 逻辑地址空间 进程B的 逻辑地址空间 进程C的 逻辑地址空间 ed1 0 ed2 1 ed3 2 dataA 3 ed1 0 ed2 1 ed3 2 dataB 3 ed1 0 ed2 1 ed3 2 dataC 3 进程A的页表 0 3 1 4 2 6 3 2 0 3 1 4 2 6 3 2 0 3 1 4 2 6 3 2 页号 帧号 进程B的页表 页号 帧号 进程C的页表 页号 帧号 操作系统 0 1 2 3 4 5 6 7 8 9 10 11 12 dataA ed1 ed2 ed3 dataB dataC 内存 (a) 2. 分段式存储中的存储保护与共享 在分段环境下,段是有完整意义的逻辑信息单位,为实行存储保护,只需在段表表项里增加权限位,指出每段是可读的、可写的或只执行的等。每次进行地址映射时,都将这次访问的类型与权限位比较,若不符合就产生出错中断。 . . 在段式存储管理中很容易实现段的共享,只需在作业的段表中都增加一个表项,让该段的基址指向共享段在内存中的起始地址即可。 比如进程A和B要对文本编辑程序进行共享,那么可把文本编辑程序作为它们地址空间中的段0,如图所示。若文本编辑程序存放在内存43062起始的连续分区里,那么在所对应的各段表中,段号为0的表项的基址都是43062,从而可共享该文本编辑程序。 . 文本 编辑程序 段0 程序段 段1 数据段 段2 进程A的 逻辑地址空间 文本 编辑程序 段0 程序段 段1 数据段 段2 进程B的 逻辑地址空间 堆栈段 段3 0 25286 1 基址 2 43062 操作系统 内存 进程A的段表 段号 段长 0 25286 1 基址 2 43062 进程B的段表 段号 段长 3 A的数据段 文本 编辑程序 B的数据段 A的程序段 B的堆栈段 43062 B的程序段 (b) 4. 分段与分页的区别 (1) 页是信息的物理单位,段是信息的逻辑单位:系统根据帧的大小划分页,不考虑页中的信息是否完整。因此,一页对应的是信息的一个物理单位;段是基于用户程序结构提出的存储管理模式,用户知道自己的程序分多少段,每段在逻辑上都是相对完整的一组信息。所以,段是信息的逻辑单位。 (2) 页的尺寸由系统确定,段的尺寸因段而异。分页式存储管理中的页的尺寸是由系统确定的,它与内存块的大小相同。段的长度取决于用户编写的程序,不同的段有不同的长度。 (3) 页式地址空间是一维的,段式地址空间是二维的 :在分页式存储管理时,用户必须通过链接编辑程序,把各程序段链接成一个相对于0编址的一维线性空间,用户向系统提供的是一个一维的逻辑地址空间;在分段式存储管理时,用户不把各程序段连接成一个相对于0编址的一维线性空间,各程序段之间是通过[段号,段内位移]进行访问的。因此,用户向系统提供的是一个二维的逻辑地址空间。 虚拟存储器的引入 前面介绍的存储管理方案要求进程全部装入内存才可运行。但这会出现两种情况: ●有的作业因太大,内存装不下而无法运行。 ●系统中作业数太多,因系统容量有限只能让少数作业先运行。 3.6.1 虚拟存储的概念 1. 程序执行的“局部性”原理 由于程序执行具有“局部性”,因此实际运行时,没有必要把全部信息都放在内存里。只要合理组织,调度恰当,在发现所需访问的信息不在内存时,能够找到它,能够把它调入内存,那么不仅可以保证作业的正确执行,而且还提高了系统的资源利用率,使得系统具有更高的运行效率。 程序执行的“局部性”原理,是指程序在执行的某一

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP