第章存储器管理传.ppt
文本预览下载声明
第六章 存储管理 基本分页存储管理模式 地址结构 用户程序的划分是由系统自动完成的,对用户是透明的。一般,一页的大小为2的整数次幂,因此,地址的高位部分为页号,低位部分为页内地址 页表 将页号和页内地址转换成内存地址,必须要有一个数据结构,用来登记页号和块的对应关系和有关信息。 这样的数据结构称为页表。 页表的作用就是实现从页号到物理块号的地址映射。 地址变换过程 计算时要注意: 若给出的地址字为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址字的高几位和低几位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。 若给出的地址字为10进制,则用公式: 程序地址字/页长 商为页号,余数为页内地址。 如程序地址为8457, 页长为4KB,则8457/4096可得:商为2,余数为256。 分页存储管理中的信息保护 分页存储管理中的存储信息保护从两个方面来实现。 一、在分离程序地址字的页号和页内地址时判别访问是否合法,若产生的页号满足下式为合法: 0=页号程序地址空间的页数 上述判断由硬件自动做,若不合法,硬件产生越界中断,由操作系统的越界中断处理程序进行处理。 二、在页表中增加用于存取控制和存储保护的信息,当要访问某页时系统要根据该页的存取控制和存储保护信息检查访问是否合法。(主要用来判断访问是否越权) 2、快表和联想存储器 在前述的页地址变换过程中有一个严重的问题,那就是每一次对内存的访问都要访问页表,页表是放在内存中的,也就是说每一次访问内存的指令至少要访问两次内存,运行速度要下降一半。 第一次访问内存中的页表,从中找到指定页的物理块号,再将块号与页内偏移量W拼接,形成物理地址 第二次访问内存时,才是从第一次所得地址中获得所需数据(获向此地址中写入数据) 解决这个问题的一种方法是把页表放在一组快速存储器中(Cache),从而加快访问内存的速度。我们把这种快速存储器组成的页表称为快表,把存放在内存中的页表称为慢表。 快表又叫联想存储器(associative memory)或 TLB(Translation lookaside buffers)用以存放当前访问的那些页表项 地址变换过程:在CPU给出有效地址后,由地址变换机构自动将页号P送入高速缓冲寄存器,并将此页号与高速缓存中的所有页号进行比较,若其中有与此相匹配的页号,便表示所要访问的页表项在快表中,可直接从快表中读出该页所对应的物理块号,并送到物理地址寄存器中 如果未找到对应的页表项,则还须再访问内存中的页表,找到后,把从页表项中读出的物理块号送地址寄存器;同时将此页表项存入快表的一个寄存器单元中。如果联想寄存器已满,则OS必须找到一个老的且已被认为不再需要的页表项,将它换出。 4.3.3两级页表和多级页表 当页表项很多时,仅采用一级页表需要大片连续空间,可将页表也分页,并对页表所占的空间进行索引形成外层页表。由此构成二级页表。 更进一步可形成多级页表。 页式存储管理方案小结 某计算机采用二级页表的分页存储管理方式,按字节编制,页大小为210字节,页表项大小为2字节,逻辑地址结构为 逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是() A、64 B、128 C、256 D、512 逻辑地址转物理地址: 在分页存储管理系统中,有一作业大小为4页,页长为2K,页表如下: 试借助地址变换图(即要求画出地址变换图)求出逻辑地址4635所对应的物理地址。 有一页式系统,其页表存放在主存中。 (1) 如果对主存的一次存取要3us,问实现一次页面访问要多长时间。 (2) 如系统有快表,平均命中率为97%,假设访问快表的时间忽略为0,问此时一次页面访问要多长时间。 1、2*3=6us 2、0.97*3+0.03*6=3.09us 页式存储管理方案小结 优点:解决了碎片问题 便于管理 可以使程序和数据存放在不连续的主存空间 缺点:不易实现共享 不便于动态连接 页表都有可能占用较大的存储空间。 要求有相应的硬件支持,从而增加了系统成本,也增加了系统开销 4.5 分段存储管理 4.5.1 分段存储管理方式的引入 4.5.2 分段系统的基本原理 4.5.3 信息共享 4.5.4 段页式存储管理方式 4.5.1 分段存储管理方式的引入 引入:主要是为了满足用户和程序员的需要 方便用户:用户希望逻辑分段 信息共享 信息保护 动态增长 动态连接 4.5.2 分段系统基
显示全部