页式存储管理方式

优点:分页存储管理解决了“内存碎片”问题,提高了资源的利用率。 

页式存储管理方式的实现思路:

        将作业分页,物理空间分块。块大小=页大小,将作业的每一页依次装入到物理空间中的块中执行。(不要求装入连续的物理块)当所有页全部装入物理块后,才可以运行。
 

 例:现在有100条指令的作业,以32指令/页进行分页,共需划分4页。

1、内存分配

  •  位示图

        使用数据结构----位示图记录物理块装入作业页面情况。位示图的每一位对应着相应物理块的占用情况(0:空闲,1:已占用)

       位示图一般由一个或多个物理块构成的空间(默认位示图只存在一个物理块中),8个字节和8位组成在一个物理块中。

内存分配和回收时,位示图的实现:

        内存分配时,查位示图,寻找值为0的块,把值改为1并把相应作业装入。

        内存回收时,作业执行完后,其占用的物理块归还给系统,并把对应的块的值改为0

位示图一般适合小系统 

  • 页表

        为适应大系统的使用,采用页表。

        系统在内存为每个进程建立了一张页面映射表,简称页表,每个页在页表中占一个表项,记录该页在内存中对应的物理块号(页表的实现是采用数组的方式)。

在这里插入图片描述

 2.地址转换

        采取动态重定位方式实现地址转换

在CPU中增设逻辑地址寄存器LAR,用来存放作业执行过程中出现的逻辑地址。

对LAR的划分:

 对于用户而言:作业的逻辑地址为一个一维的线性地址。例:一条指令为:jump 70,这个70是一维线性地址。

对于CPU而言:一维线性地址要划分成物理地址,也就是二维地址(由页号和页内地址组成),二维地址由二进制组成。

例:一个8位的LAR分成以下情况:

 8位的LAR总共可以存储2^8条指令,一页可以存储2^5条指令,一共由2^3个页面。

LAR,如果为n位,其中有i位为页内地址,则一个页面的大小为2^i,最大页数为2^(n-i),最大长度为2^n,最大的逻辑地址为2^n-1;

转换过程:

为每个作业建立页表来记录作业逻辑页面被映射到具体物理块情况信息:

页表:

 正在执行的作业的页表常驻主存。

例:某系统LAR共16位,其中页内地址部分为10位。某作业装入该系统执行时页表内容如下:

问:1、该系统能装入的最大作业为多大?        2^16

        2、该系统下作业的页面大小为?              2^10

        3、该作业有几页?                                        5

        4、作业中jump 3890的执行将导致CPU执行的指令在哪? 

将3890换算成二进制0000 1111 0011 0010,取前6位(页号)换算成十进制3作为页号,取出其页号为3的块号270;将后10位换算成十进制为818。(因为页号部分是前6位,后面10位为页内地址,所以要将物理块号乘以2^10)将块号*2^10+818为物理地址(十进制)277,298将其转换成二进制为100 0011 1011 0011 0010

逻辑地址-->物理地址:

LAR(页号,页内地址),根据页号查页表-->块号;块号*2^(页内地址位数)+页内地址(十进制)-->换算成二进制后即为物理地址 

  • 快表

为了提高地址变换的速度,在地址变换机构中增设了一个具有按内容查找、并行查询功能的特殊的高速缓冲存储器,称为“联想存储器” 或“快表”,或称为“关联存储器” ,用以存放当前访问的那些页表项,每个页表项包括页号和相应的块号(快表中存储的是所有作业页表)。

原理:在快表的输入寄存器输入页号后,输入页号与快表中的各页表项中的页号同时比较,如有相同,快表的输出寄存器输出相应的块号,如都不相同,快表的输出寄存器不输出。

3、内存保护 

主要对页号、页内地址进行检查。要求必须符合:页号小于页表长度,页内地址小于页的长度。如果不符合,则会产生越界中断,终止程序执行。
4、内存扩充 

        采取虚拟技术实现。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 连续分配管理方式 工作原理:将内存划分为若干个固定大小的区域,每个进程分配一段连续的内存空间。 逻辑地址构成:由一个基地址和一个偏移量构成。 地址转换机构:通过基地址加上偏移量得到物理地址。 访问内存次数:一次访问。 优点:实现简单,效率高。 缺点:浪费内存空间,无法处理动态变化的内存需求。 地址维数:一维。 2. 分存储管理方式 工作原理:将物理内存划分为若干个固定大小的框,将进程分为若干个固定大小的面,将面映射到框上。 逻辑地址构成:由一个号和一个内偏移量构成。 地址转换机构:通过表将逻辑地址转换为物理地址。 访问内存次数:两次访问。 优点:充分利用内存空间,处理动态变化的内存需求。 缺点:表占用内存空间,表访问的时间开销较大。 地址维数:二维。 3. 分段存储管理方式 工作原理:将进程分为若干个逻辑段,每个段分配一段不连续的内存空间。 逻辑地址构成:由一个段号和一个段内偏移量构成。 地址转换机构:通过段表将逻辑地址转换为物理地址。 访问内存次数:两次访问。 优点:更好地满足了程序员对内存空间的管理需求。 缺点:浪费内存空间,段表访问的时间开销较大。 地址维数:二维。 4. 段存储管理方式 工作原理:将进程分为若干个逻辑段,每个段分配若干个固定大小的面,将面映射到框上。 逻辑地址构成:由一个段号、一个号和一个内偏移量构成。 地址转换机构:先通过段表将逻辑地址转换为物理地址的表基址,再通过表将逻辑地址转换为物理地址。 访问内存次数:三次访问。 优点:充分利用内存空间,更好地满足了程序员对内存空间的管理需求。 缺点:段表和表访问的时间开销较大。 地址维数:三维。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值