精华内容
下载资源
问答
  • 请求页式存储管理1、定义:请求页式存储管理是在分页存储管理的基础上发展的,基本结构和页式存储管理相同。不同的是在一个作业运行时,不要求把作业的全部信息装入内存,而只装入目前运行所需要的几页。其余都保存...

    请求页式存储管理

    1、定义:

    请求页式存储管理是在分页存储管理的基础上发展的,基本结构和页式存储管理相同。不同的是在一个作业运行时,不要求把作业的全部信息装入内存,而只装入目前运行所需要的几页。其余都保存在外存中,等需要时再请求系统调入。

    2、特点:

    请求页式存储管理与分页式存储管理在内存的分配与回收、存储保护等方面都很相似,不同的是“请求页式存储管理”在地址重定位时,可能会出现所需的页面不在内存的情况。

    3、面临问题:

    1、如果请求的页面可能不存在内存中,那么如何发现并处理缺页情况?2、当需要从外存中把某个页面调入到内存,但是此时内存中没有空闲块应该怎么办?

    4、表项扩充:

    对于问题1的解决方式:对分页式存储管理的页表的表项进行扩充。

    8777d9451c25e785b29ddfd7ab948bca.png

    状态位

    表示当前页是否在内存中

    修改位

    标志当前页在内存是否被修改过

    引用位

    反映当前页最近的使用情况,辅助操作系统对置换出内存的页面进行选择

    外存地址

    表示当前页在外存中的地址

    5、重定位过程:

    1、按照分页式存储管理,程序的逻辑地址首先会被硬件解释成(p,w)两部分2、根据页号查页表:    2.1、状态位为1:存在页面,那么查找对应的块号;    2.2、状态位为0:页面不存在,那么引起缺页中断,并由系统将该页从外存读入,并将状态位改为1和填入实际内存块号到页表。3、根据块号页内位移转换成物理地址,完成程序指令

    908820758b188fe6230a934552ddf59a.png

    6、例子:

    353673a41c6925ceb037458115993ecf.png

    执行到块号4对应的指令Mov R1,[2500],那么就会得到页号p=2;但是在页表中2页号是缺页(状态位为0)。此时发生缺页中断(操作系统通过软件中断处理):1、如果该作业没占满所分得的内存块,直接从外存将页面调入内存,并修改页表相应字段,完成中断并返回指令被中止处,然后继续执行。2、如果作业占用所有的内存块,那么就会触发页面置换了。
    展开全文
  • 结合操作系统(汤子瀛版)和王道版操作系统,对内存管理中,分页存储管理方式的地址转换进行整理总结(即根据逻辑地址寻找物理地址) 一、基本概念 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、建立一张位示图,用来模拟内存分配情况,利用随机数产生一组0和1数对应内存使用情况。 2、输入块(页)大小,通过模拟位示图为本作业分配内存空间建立相应...
  • 页/页面:将用户进程的地址空间分成与页框大小相等的一个个区域,每个区域就是一个页或页面; 页表:页表记录进程页面和实际存放的内存块之间的对应关系,每个进程都有一个页表; 通过页面的形式,可以将用户进程...

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

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

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

    展开全文
  • 分页存储管理允许把进程分配到不相邻分区中。首先将进程逻辑地址空间划分为大小相等块,且块相对比较小,每个块称为一页(Page),由页号和页内地址组成; 其次,将内存空间也划分为同样大小块,每个块...

    昨天参加网易的笔试,被一个操作系统的分页式管理难住啦,本来就忘得差不多啦,地址给的还是16进制,真是就懵啦。就把分页式存储管理又看了一遍,记录下。

    1.分页式存储管理基本原理:

    分页式存储管理允许把进程分配到不相邻的分区中。首先将进程的逻辑地址空间划分为大小相等的块,且块相对比较小,每个块称为一页(Page),由页号和页内地址组成;

    其次,将内存空间也划分为同样大小的块,每个块称为一页面(PageFrame)。

                                                     页:

    页号

    页内地址

     

     

    假设逻辑地址为A,页面大小为L,则页号和页内地址为:

    页号=A/L

    页内地址=A%L

     

    2.当进程将要运行时,操作系统会为进入内存的每个用户进程建立一张页表,记录进程逻辑地址空间的页号和内存物理地址空间中的页面号一一对应关系。同时系统还会建立一张作业表,将当前运行的作业的页表地址进行登记。

    对应关系如图所示:

    进程运行时,通过查找页表,就可以找到每页对应的物理页面号。页表就是实现从页号到物理块号的地址映射。

    3.地址转换

    地址转换时,先从页表控制寄存器中找到相应的页表,再以页号为索引去检索页表。查找操作由硬件执行。在执行检索之前,先将页号与页表长度进行比较,如果页号大于或等于页表长度,则表示本次所访问的地址已超越进程的地址空间。于是,这一错误将被系统发现并产生一地址越界中断。若未出现越界错误,则将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,于是可从中得到该页的物理块号,将之装入物理地址寄存器中。与此同时,再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中。这样便完成了从逻辑地址物理地址的变换。图示出了分页系统的地址变换机构。

    网易的笔试题:

    23.有用户态进程A,其虚拟内存页为1KB,A占用了64页,内存大写为128KB,A进程将爱子到内存的页面和物理内存块的编号对应关系如下:

    页面编号   物理内存块编号

    0                          4

    1                          9

    2                          5

    3                          8

    请根据以上信息回答如下问题,并给出计算过程:

    1)虚拟地址为015D对应的物理地址是多少?

    2)物理地址为113C对应的虚拟地址为多少?

    3)进程A有一作业长度为8页,试图访问虚拟地址2A3D并保存整型1到该地址对应的物理地址空间,之后又尝试从该地址读取保存的数据,请问A进程这两次内存访问过程能否正常执行?并解释原因。

       解:

       1)虚拟地址为015D对应的物理地址是 :

           1KB=400H  (转换成16进制)

           页号:  015D/400=0

           页内地址:015D%400=15D

           查找页表:0->4

           物理地址:4*400+15D=115D

       2)物理地址为113C对应的虚拟地址为多少?

           就是反过来,物理快号:113C/400 = 4

                          块内地址:113C%400 = 13C

                          虚拟地址:0*400+13C=013C

       3)进程A有一作业长度为8页,试图访问虚拟地址2A3D并保存整型1到该地址对应的物理地址空间,之后又尝试从该地址读取保存的数据,请问A进程这两次内存访问过程能否正常执行?并解释原因。

            不能。  

            页号:2A3D/400 = A

            页内地址:2A3D%400=23D

            A>8,超出进程A的页表长度。

           **第三问不是很确定,如果有错,请指出,谢谢。第三问我也不太懂。

           这个题麻烦的就是16进制的乘除。

    转载于:https://www.cnblogs.com/jycboy/p/5312840.html

    展开全文
  • 【例1】考虑一个由8个页面,每页有1024个字节组成的逻辑空间,把它装入到有32个物理块的存储器中,问: ...页号的地址位数决定了页的多少,假设页号有20位,则地址空间中最多可容纳的页面数为220,即1M...
  • 分析页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得:  p=int [A/L]d=A mod L  其中,int是取整函数(取...
  • 分析页式存储管理的地址结构是一维的,即逻辑地址(或物理地址)只用一个数值即可表示。若给定逻辑地址A,页面的大小为L,则页号p和页内地址d可按照下式求得: p=int [A/L]d=A mod L其中,int是取整函数(取数值的...
  • 分页存储管理中逻辑地址到物理地址的转换过程解析首先要知道,物理地址=块号+页内地址 逻辑地址=页号+页内地址所以物理地址和逻辑地址后面部分是相同,即都为页内地址。下面以一个例子说明如何由逻辑地址求物理...
  • 加深对分页存储管理方式和分段存储管理方式理解,特别是要掌握地址转换的方法。 二、实验原理 分页存储管理方式 页面:将一个进程逻辑地址空间分成若干个大小相等片,称为页面或页,并加以编号,从0开始编制...
  • 详述在设有快表请求分页存储管理系统中,一个虚地址转换成物理内存地址过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&&页...
  • 基本分页存储管理的基本概念 1.连续分配方式的缺点 2.概述 3.思想 4.分页存储管理的基本概念 5.如何实现地址转换 6.逻辑地址结构 7.页表 8.总结
  • 实验五:模拟分页存储管理中硬件的地址转换和产生缺页中断,然后分别用LRU、FIFO、改进型的CLOCK算法实现分页管理的缺页中断。要求:显示每个页面在内存中的绝对地址,页表信息、列出缺页情况等。# 实验五:模拟...
  • 存储管理的主要功能包括分配和回收主存空间、提高主存的利用率、扩充主存、对主存信息实现有效保护。一. 基本概念1、存储器的结构存储器的功能是保存数据,存储器的发展方向是高速度、大容量和小体积。一般存储器的...
  • ![图片说明](https://img-ask.csdn.net/upload/201711/29/1511938778_606453.png) 希望能给出流程图和全部代码
  • 本实验的目的是:通过编程模拟实现请求分页存储管理中硬件地址转换过程、缺页中断处理过程,以及先进先出页面置换算法,加深对页式虚拟存储管理的理解,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法...
  • 详述在设有快表请求分页存储管理系统中,一个虚地址转换成物理内存地址过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&...
  • 模拟分页式虚拟存储管理中硬件的地址转换和缺页中断,以及选择页面调度算法处理缺页中断
  • 分页的基本思想将逻辑地址转换为物理地址 怎么转换呢? 逻辑地址结构+页表 1⃣️逻辑地址 高地址部分为页号 低地址为偏移量。 2⃣️页表 第一部分页号 第二部分内存中块号 这里一个用高地址 一个用第一部分描述在...

空空如也

空空如也

1 2 3 4 5 ... 14
收藏数 265
精华内容 106
关键字:

分页存储管理的地址转换