新第18讲存储器管理之请求分段存储管理方式.doc
文本预览下载声明
第十八讲 存储器管理之请求分段存储管理方式
引言
概述:请求分段存储管理系统也与请求分页存储管理系统一样,为用户提供了一个比内存空间大得多的虚拟存储器。虚拟存储器的实际容量由计算机的地址结构确定。
思想:在请求分段存储管理系统中,作业运行之前,只要求将当前需要的若干个分段装入内存,便可启动作业运行。在作业运行过程中,如果要访问的分段不在内存中,则通过调段功能将其调入,同时还可以通过置换功能将暂时不用的分段换出到外存,以便腾出内存空间。
请求分段中的硬件支持
请求分段需要的硬件支持有:段表机制、缺页中断机构、地址变换机构。
段表机制
段名 段长 段的基址 存取方式 访问字段A 修改位M 存在位P 增补位 外存始址 说明:
存取方式:存取属性(执行、只读、允许读/写)
访问字段A:记录该段被访问的频繁程度
修改位M:表示该段在进入内存后,是否被修改过。
存在位P:表示该段是否在内存中。
增补位:表示在运行过程中,该段是否做过动态增长。
外存地址:表示该段在外存中的起始地址。
缺段中断机构
当被访问的段不在内存中时,将产生一缺段中断信号。其缺段中断的处理过程如图:
地址变换机构
分段的共享和保护
为了实现分段共享,设置一个数据结构——共享段表,以及对共享段进行操作的过程。
共享段表
说明:所有的共享段都在共享段表中对应一个表项。其中:
共享进程计数器count:记录有多少个进程需要共享该分段,设置一个整型变量count。
存取控制字段:设定存取权限。
段号:对于一个共享段,不同的进程可以各用不同的段号去共享该段。
共享段的分配和回收
共享段的分配
基本过程:在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把count置为1;之后,当又有其它进程需要调用该共享段时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只需在调用进程的段表中,增加一表项,填写该共享段的物理地址;在共享段的段表中,填上调用进程的进程名、存取控制等,再执行count∶=count+1操作,以表明有两个进程共享该段。
就是:
第一次访问:分配内存(1)增加共享段表;(2)修改进程段表。
第二次访问:不用在分配内存了,因为已经把共享段调入内存(1)修改共享段表;(2)修改进程段表。
回收
基本过程:当共享此段的某进程不再需要该段时,应将该段释放,包括撤消该进程段表中共享段所对应的表项,以及执行count∶=count—1操作。若结果为0,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项, 表明此时已没有进程使用该段;否则(减1结果不为0), 则只是取消调用者进程在共享段表中的有关记录
回收: count∶=count—1
(1)count=0 系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项, 表明此时已没有进程使用该段
(2)count 0 取消调用者进程在共享段表中的有关记录,还有进程在使用该共享段。
分段保护
在分段系统中,由于每个段在逻辑上是独立,因而比较容易实现信息保护。目前分段管理的保护主要有三种:
地址越界保护
先利用段表寄存器中的段表长度与逻辑地址中的段号比较,若段号超界则产生越界中断;再利用段表项中的段长与逻辑地址中的段内位移进行比较,若段内位移大于段长,也会产生越界中断。注:在允许段动态增长的系统中,允许段内位移大于段长。
访问控制保护(存取控制保护)
在段表中设置了一个存取控制字段,用于规定对该段的访问方式。
环保护机构
环的构成:OS核心在内环;重要的实用程序和操作系统服务在中间环;一般应用程序在外环。
在环系统中,程序的访问和调用应遵循一定的规则:
(1)一个程序可以访问同环或较低特权环中的数据;
(2)一个程序可以调用同环或较高特权环中的服务;
练习:
1重定位是指 ;重定位的方式有两种:
从作业的逻辑地址到物理地址的转换过程。
静态重定位和动态重定位。
2 如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改即程序应该是:
可重入码
3 若计算机CPU给出的有效地址长度为32位,内存为32M,则该机的存储空间为 M,作业的地址空间为 :
32M,232B。
4 把作业装入内存时随即进行地址变换的方式称为 ;而在作业执行期间,当访问到指令或数据时才进行地址变换的方式称为 。
静态重定位;动态重定位。
5动态重定位的特点是:
由硬件实现,在运行过程中进行地址变换。
6 用户程序中的地址称为逻
显示全部