精华内容
下载资源
问答
  • 分页存储管理系统中进行地址转换时,地址变换机构将自动把逻辑地址转化为页号和页内地址,如果页号不小于页表长度,则产生越界中断;否则便以页号为索引去检索页表,从中得到对应的块号,并把块号和页内位移分别...
  • 结合操作系统(汤子瀛版)和王道版操作系统,对内存管理中,分页存储管理方式的地址转换进行整理总结(即根据逻辑地址寻找物理地址) 一、基本概念 1.逻辑地址:(工具书中的解释) (1)在有地址变换功能的...

    结合操作系统(汤子瀛版)和王道版操作系统,对内存管理中,分页存储管理方式的地址转换进行整理总结(即根据逻辑地址寻找物理地址)

    一、基本概念

    1.逻辑地址:(工具书中的解释)

    (1)在有地址变换功能的计算机中,访问指令给出的地址 (操作数) 叫逻辑地址,也叫相对地址

    (2)把用户程序中使用的地址称为相对地址即逻辑地址。

    :逻辑地址包含页号和页内偏移两部分,通过页内偏移的位数可以知道页面的大小。(在题目中,有时会给出十进制的数)

    2.物理地址:在存储器里以字节为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的存储器地址

    :物理地址包含页帧号和页内偏移两部分,根据逻辑地址查找页表即可找到在内存中的页帧号,物理地址中的页内偏移同逻辑地址中的相同。

    3.页、页帧(页框)、块

    分页的思想:把主存空间分为大小相等且固定的块,块相对较小,作为主存的基本单位。进程中的块称为页,内存中称为页帧(页框),外存中直接称为块。

    4.页表、页表项

    (1)为了方便找到每个页号在内存中对应的物理块,系统为每一个进程建立一张页表。 注意是为每个进程建立一张页表。

    (2)页表中的每一项叫做页表项。

    注:根据页号的位数可以算出页表项数,根据页表项的大小和页表项数可以算出页表的大小。

    例:若页号有20位,页表项大小为4B,则页表大小为2的20次方*4B=4MB。题目中页表项大小一般会给出。

    注:注意区分页表长度和页表项长度

    (1)页表长度:页表中共有多少页

    (2)页表项长度:在页表中页地址占多大的存储空间

    5.页表寄存器

    在系统中通常设置一个页表寄存器,存放页表在内存中的始址F和页表长度M。进程未执行时,页表的始址和长度存放在进程控制块中,当进程执行时,才将页表始址和长度存入页表寄存器。

    二、地址转换(根据逻辑地址求出在内存中的物理地址)

    1.根据逻辑地址可找出页号

    (1 )若逻辑地址由二进制表示,根据页号位数(或逻辑地址位数-页内偏移位数)即可确定。

    (2)若逻辑地址由十进制表示,需要根据页号位数算出页号

    例:若逻辑地址为4000,当页内偏移为10位时,页号为4000/1k=3,当页内偏移为11位时,页号为4000/2k=1。

    2.判断是否越界

    比较页号和页表寄存器中的页表长度,若页号不在查找的页表中,越界中断。

    3.在页表中找出页号对应的物理块号

    页号对应的页表项地址=页号*页表项长度+页表起始地址

    4.求出在内存中的物理地址

    (1)在页表中找到页号对应的块号

    (2)块内偏移=页内偏移

    三、题目求解

    1.页面大小

    通过页内偏移的位数可以知道页面的大小

    2.页表大小

    页表长度*页表项大小

    3.根据十进制的逻辑地址求出页号在页表中的物理地址

    (1)页号的求法见上面(二、1)

    (2)页号求出后加上页表起始地址即可

    4.求物理地址

    参考二(地址转换)

    5.未完待续。。。

    展开全文
  • 一、连续分配方式缺点 连续分配方式的主要缺点是会形成许多碎片,...基本的分页存储管理方式不具备页面对换功能,也不支持实现虚拟存储器功能,它需要把每个作业全部装入内存后才能运行。 三、页面 分页存储管理是将

    一、连续分配方式缺点

    连续分配方式的主要缺点是会形成许多碎片,尽管我们可以通过紧凑的方法将碎片拼接成可用的大块空间,但这样须付出很大的代价。

    二、离散分配方式

    离散分配方式思想:将进程直接分散地装入到许多不相邻接的分区中。
    1.如果离散分配的基本单位是页----------》分页存储管理方式
    2.如果离散分配的基本单位是段----------》分段存储管理方式
    基本的分页存储管理方式不具备页面对换功能,也不支持实现虚拟存储器功能,它需要把每个作业全部装入内存后才能运行。

    三、页面

    分页存储管理是将一个进程的逻辑地址空间划分为若干个大小相等的片,这些片称之为页面,并编号第0页,第1页。。。同时,我们还把内存空间也划分为与页面大小相同的若干个存储快,称为块或叶框,也进行编号0#,1#…之后我们为进程分配内存时,即是将进程的若干个页分别映射装入到可以不相邻的块中去。由于这里进程的最后一页往往装不满块而会形成不可利用的碎片,我们称之为业内碎片。

    四、页面大小

    很明显,页面大小过小可使得内存碎片变小,减少内存碎片总空间,提高内存利用率,但缺点是:每个进程由此会占用更多页面,导致进程页表过长,占用大量内存(页表也是要耗费内存的),。而且还降低了页面切换的效率。而页面过大,可以减少页表长度,提高页面切换效率,但内存碎片增大。

    在页面大小选择适中,一般为2的幂,通常为512B~8KB。

    五、页面地址结构

    页号(P)+位移量(W)
    位移量W也称呼为页内地址或页内偏移量,对于特定机器,其页面地址结构时确定的,给定逻辑地址空间中的地址A,页面大小L,则页号P=int(A/L)
    页内地址W=A%L
    比如:系统页面大小为1KB,A=2170B,可得
    页号P=A/L=2170/1024=2
    页内地址=A%L=122

    六、页表

    在分页系统里,允许将进程各个页面离散存储在内存的不同物理块中,为了保证进程的正常运行,需要能在内存中找个每个页面所对应的物理块,于是系统得为进程建立一张页面映射表,以方便查找页面对应的地址,这张表叫做页表,进程地址空间内的所有页(0~n)都将通过页表映射到块号,进程执行时,只要通过查找页表,就可知道每页在内存中的物理块号。总而言之,页表作用就是实现从页号到物理块号的地址映射。

    例题:
    例1:
    一分页存储管理系统中逻辑地址长度为16位,页面大小为4KB字节,现有一逻辑地址为2F6AH,且第0,1,2,页依次存放在物理块5,10,11中,则相应的物理地址是多少?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    例2:
    在这里插入图片描述
    解题过程:

       首先要知道页式存储管理的逻辑地址分为两部分:页号和页内地址。物理地址分为两部分:
    

    关系为:
    逻辑地址= 页号+页内地址

    物理地址= 块号+页内地址;

    **分析:**已知:用户编程空间共32个页面,2ˆ5 = 32 得知页号部分占5位,由“每页为1KB”,1K=210,可知内页地址占10位。

    由“内存为16KB”,2^4=16得知块号占4位。

    逻辑地址0A5C(H)所对应的二进制表示形式是:0000101001011100,后十位1001011100是页内地址,

    00010为为页号,页号化为十进制是2,在对照表中找到2对应的物理块号是11,11转换二进制是1011,即可求出物理地址为10111001011100,化成十六进制为2E5C;

    即则逻辑地址0A5C(H)所对应的物理地址是2E5C;

    例3:
    十进制逻辑地址转物理地址
    在这里插入图片描述
    在这里插入图片描述
    地址转换步骤:
    地址转换步骤
    当逻辑地址为16进制、八进制、二进制时,
    第一步:把逻辑地址转为二进制;

    第二步:按页的大小分离出页号和页内偏移量( 高位部分为页号,低位部分为页内偏移量 )

    第三步:根据题意产生页表;

    第四步:将逻辑地址的页内偏移量直接复制到物理地址的页内偏移量上
    ( 即:逻辑地址的页内偏移量 = 物理地址的页内偏移量 )

    第五步:以逻辑地址的页号查页表,查出物理地址的帧号,再把帧号转为二进制,复制到物理地址的的帧号上,从而得出物理地址。

    当逻辑地址为十进制时,
    第一步:求出逻辑地址的页号 = 逻辑地址 / 页面大小

    第二步:求出页内偏移量 = 逻辑地址 % 页面大小
    (“%”表示取余,只取余数,不取商)

    第三步:根据题意产生页表;

    第四步:以逻辑地址的页号查页表,查出物理地址的帧号

    第五步:求出物理地址 = 帧号 * 页面大小 + 页内偏移

    网易校招笔试题

    对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少?

    解法1:
    0X0005F123这个地址对应的十进制是:389411B

    页面大小8KB=8192B

    页号=389411/8192=47页

    页内偏移=389411%8192=0X00001123

    解法2:
    将地址转换为二进制:0X000….0101 111 1 0001 0010 0011

    8KB=2^13,即后13为页内偏移量即0X00001123

    0101111=47

    参考文章:
    分页存储管理方式
    逻辑地址到物理地址的转换

    展开全文
  • 【例1】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问: ...页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1M...

    【例1】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问:

      (1)逻辑地址需要多少二进制位表示?

      (2)物理地址需要多少二进制位表示?

     

      它由两个部分组成:前一部分表示该地址所在页面的页号p;后一部分表示页内地址(页内位移)d。页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1MB个页面。页内地址位数确定了每页的大小,若页内地址为12位,则每页大小为212,即2KB。

      同理,物理地址中块号的地址位数决定了块的数量。由于页式存储管理内存空间块的大小与页面大小相同,所以物理地址中块内地址与逻辑地址中的页内地址位数相同。

      解因为页面数为8=23,故需要3位二进制数表示。每页有1024个字节,1024=210,于是页内地址需要10位二进制数表示。32个物理块,需要5位二进制数表示(32=25)。

      (1)页的逻辑地址由页号和页内地址组成,所以需要3+10=13位二进制数表示。

      (2)页的物理地址由块号和页内地址的拼接,所以需要5+10=15位二进制数表示。

       

      【例2】若在一分页存储管理系统中,某作业的页表如下所示。已知页面大小为1024字节,试将逻辑地址1011,2148,4000,5012转化为相应的物理地址。

    页号

    块号

    0

    1

    2

    3

    2

    3

    1

    6

      分析页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得:

      p=int [A/L]d=A mod L

      其中,int是取整函数(取数值的整数部分),mod是取余函数(取数值的余数部分)。

       

      

       

      页表的作用是实现从页号到物理块号的地址映射。以逻辑地址的页号检索页表,得到该页的物理块号;同时将页内地址d直接送入物理地址寄存器的块内地址字段中。这样物理块号和块内地址拼接成了实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。

      所以物理地址的计算公式为:

      物理地址=块的大小(即页的大小L)′块号f+页内地址d

      解本题中,为了描述方便,设页号为p,页内位移为d,则:

      (1)对于逻辑地址1011,p=int(1011/1024)=0,d=1011 mod 1024=1011。查页表第0页在第2块,所以物理地址为1024′2+1011=3059。

      (2)对于逻辑地址2148,p=int(2148/1024)=2,d=2148 mod 1024=100。查页表第2页在第1块,所以物理地址为1024+100=1124。

      (3)对于逻辑地址4000,p=int(4000/1024)=3,d=4000 mod 1024=928。查页表第3页在第6块,所以物理地址为1024′6+928=7072。

      (4)对于逻辑地址5012,p=int(5012/1024)=4,d=5012 mod 1024=916。因页号超过页表长度,该逻辑地址非法。

       

      【例3】某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

    页号

    物理块号

    0

    5

    1

    10

    2

    4

    3

    7

      则逻辑地址0A5C(H)所对应的物理地址是什么?

      分析页式存储管理的逻辑地址分为两部分:页号和页内地址。

      由已知条件“用户编程空间共32个页面”,可知页号部分占5位;由“每页为1KB”,1K=210,可知内页地址占10位。由“内存为16KB”,可知有16块,块号为4位。

      逻辑地址0A5C(H)所对应的二进制表示形式是:000 1010 0101 1100,根据上面的分析,下划线部分为页内地址,编码“000 10”为页号,表示该逻辑地址对应的页号为2。查页表,得到物理块号是4(十进制),即物理块地址为:01 00 ,拼接块内地址10 0101 1100,得01 0010 0101 1100,即125C(H)。

      解逻辑地址0A5C(H)所对应的物理地址是125C(H)。

    转载于:https://www.cnblogs.com/Kobe10/p/5673520.html

    展开全文
  • 基本概念: 页框/内存块:将内存空间分为大小相等的分区,每个分区就是一个...从而实现逻辑地址到物理地址转换。 如图: 接下来看具体的实现过程: 1.在进程未调度时,PCB中会存放页表始址和页表长度(多少个页表项

    基本概念:
    页框/内存块:将内存空间分为大小相等的分区,每个分区就是一个页框,或内存块。
    页/页面:将用户进程的地址空间分成与页框大小相等的一个个区域,每个区域就是一个页或页面;
    页表:页表记录进程页面和实际存放的内存块之间的对应关系,每个进程都有一个页表;

    通过页面的形式,可以将用户进程分割成一个个区域,实现在内存中的不连续分配管理。通过页表可以实现页面与页框一一对应。从而实现逻辑地址到物理地址的转换。
    如图:
    在这里插入图片描述
    接下来看具体的实现过程:

    1.在进程未调度时,PCB中会存放页表始址和页表长度(多少个页表项)。在线程调度时,操作系统会将页表始址和页表长度放在页表寄存器中(PTR)中;
    2.在执行每一条指令时,算出指令中的逻辑地址的页号和页内偏移量;将页号与PTR中的页表长度进行比较(若页号超出页表长度,则抛出一个越界中断异常)。
    3.若在页表长度范围内,则继续进行。根据PTR中的页表始址和页号以及页表项长度算出页表项地址(页表项地址=页表始址+页表项长度*页号)。
    4.页表项地址找到对应的内存块号,再根据业内偏移量找到具体的物理地址。

    展开全文
  • 分析页式存储管理地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得:  p=int [A/L]d=A mod L  其中,int是取整函数(取...
  • 完成逻辑地址转换成相应的物理地址的过程。 1、建立一张位示图,用来模拟内存的分配情况,利用随机数产生一组0和1的数对应内存的使用情况。 2、输入块(页)的大小,通过模拟位示图为本作业分配内存空间建立相应的...
  • 在第1部分实验基础上实现进程的分页式内存分配和地址转换过程,并进一步实现请求分页存储分配和地址转换过程。页面置换算法至少应实现先进先出(FIFO)、最近最久未使用(LRU)等算法。
  • 模拟分页存储管理中硬件的地址转换和产生缺页中断。
  • 加深对分页存储管理方式和分段存储管理方式的理解,特别是要掌握地址转换的方法。 二、实验原理 分页存储管理方式 页面:将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并加以编号,从0开始编制...
  • 模拟分页存储管理中硬件的地址转换和产生缺页中断.------很好用的程序和源代码
  • 分析页式存储管理地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得: p=int [A/L]d=A mod L其中,int是取整函数(取数值的...
  • 分页存储管理

    万次阅读 2018-05-19 16:58:06
    所以产生了离散的分配方式,根据离散时分配地址空间的基本单位不同,可分为三种,这里我们只讲解分页存储管理。 1. 页面和物理块 (1)页面。分页存储管理将进程的逻辑地址空间分成若干个页,并为各页加以编号,...
  • 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&&页...
  • 完成逻辑地址转换成相应的物理地址的过程。 1、建立一张位示图,用来模拟内存的分配情况,利用随机数产生一组0和1的数对应内存的使用情况。 2、输入块(页)的大小,通过模拟位示图为本作业分配内存空间建立相应的...
  • 分页式虚拟存储系统是把作业信息的副本存放在磁盘上,当作业被选中时,可把作业的开始几页先装入主存且启动执行。该程序是模拟存储管理地址转换代码
  • C语言模拟实现虚拟存储管理(请求分页存储管理

    千次阅读 多人点赞 2020-06-25 23:19:08
    本实验的目的是:通过编程模拟实现请求分页存储管理中硬件地址转换过程、缺页中断处理过程,以及先进先出页面置换算法,加深对页式虚拟存储管理的理解,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法...
  • 【操作系统】分页存储管理

    千次阅读 2019-04-17 09:36:58
    分页存储管理:离散分配的基本单位是页 分段式存储管理:离散分配的基本单位是段 段页式存储管理:离散分配的基本单位是段、页 空间划分 1)对于进程:将一个用户进程的地址空间(逻辑空间)划分成若干个大小...
  • 页面置换算法来模拟分页存储管理 将逻辑地址转换成为物理地址,同时处理缺页中断的算法。页面淘汰算法(FIFO、LRU)
  • 在计算机系统中,为了提高主存利用率,往往把辅助存储器(如磁盘)作为主存储器的扩充,使多道运行的作业的全部逻辑地址空间总和可以超出主存的绝对...通过本实验帮助同学理解在分页存储管理中怎样实现虚拟存储器。
  • 就把分页存储管理又看了一遍,记录下。 1.分页存储管理基本原理: 分页存储管理允许把进程分配到不相邻的分区中。首先将进程的逻辑地址空间划分为大小相等的块,且块相对比较小,每个块称为一页(Page),由...
  • 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&...
  • 操作系统 请求分页存储管理

    千次阅读 2020-12-22 13:06:04
    请求分页存储管理中的页表机制 缺页中断机构 地址转换 页置换算法 页分配和页置换策略 工作集及抖动现象的消除 请求分页存储管理的优缺点 请求分页存储管理中的页表机制 系统需要解决的问题 系统如何获知进程当前...
  • 分页存储管理方式介绍及例题

    千次阅读 2020-03-17 14:45:38
    一、引入  在存储器管理中连续...基于这一思想便产生了离散分配方式,根据在离散分配时所分配地址空间的基本单位不同,又可将离散分配方式分为以下三种:(1)分页存储管理方式(2)分段存储管理方式(3)段页式...
  • 基本分页存储管理的基本概念 1.连续分配方式的缺点 2.概述 3.思想 4.分页存储管理的基本概念 5.如何实现地址转换 6.逻辑地址结构 7.页表 8.总结
  • 3.1.4.1 基本分页存储管理方式

    千次阅读 2016-07-13 23:58:02
    分页存储管理方式中,又根据运行作业时是否要把作业的所有页面都装入内存才能运行分为基本分页存储管理方式和请求分页存储管理方式。 1、基本分页存储管理方式 固定分区会产生内部碎片,动态分区会产生外部碎片,这...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,296
精华内容 19,718
关键字:

分页存储管理的地址转换