精华内容
下载资源
问答
  • 目录 1.分页机制介绍 ...分段机制把逻辑地址转换成线性地址,而分页机制则把线性地址转换成物理地址。分页机制可用于任何一种分段模型。处理器分页机制会把线性地址空间划分成页面,然后这些线性...

    目录

    1.分页机制介绍

    2.页表结构

    3.页表项格式

    4.虚拟存储

    5.直达底部

    一、分页机制介绍

    1. 什么是分页机制

    分页机制是 80x86 内存管理机制的第二部分。它在分段机制的基础上完成虚拟地址到物理地址的转换过程。分段机制把逻辑地址转换成线性地址,而分页机制则把线性地址转换成物理地址。分页机制可用于任何一种分段模型。处理器分页机制会把线性地址空间划分成页面,然后这些线性地址空间页面被映射到物理地址空间的页面上。分页机制的几种页面级保护措施,可和分段机制保护措施和用或替代分段机制的保护措施。

    2.分页机制如何启用

    通过设置控制寄存器 CR0 的 PG 为可以启用分页机制。如果 PG=1,则启用分页操作,处理器会使用分页机制将线性地址转换成物理地址。如果 PG=0,则禁用分页机制,此时分段机制产生的线性地址直接用作物理地址。

    与分段机制不同,分页机制对固定大小的内存块(称为页面)进行操作。分页机制把线性地址空间和物理地址空间都划分成页面。线性地址空间中的任何页面可以被映射到物理地址空间的任何页面上。如下图所示。
    825979-20180130231418296-652550151.png

    3.分页机制线性地址到物理地址转换过程

    80x86使用 4K 字节固定大小的页面,每个页面均是 4KB,并且对其于 4K 地址边界处。 这表示分页机制把 2^32字节(4GB)的线性地址空间划分成 2^20(1M = 1048576)个页面。分页机制通过把线性地址空间中的页面重新定位到物理地址空间中进行操作。由于 4K 大小的页面作为一个单元进行映射,并且对其于 4K 边界,因此线性地址的低 12 位可做为页内偏移地量直接作为物理地址的低 12 位。分页机制执行的重定向功能可以看作是把线性地址的高 20 位转换到对应物理地址的高 20 位。

    线性到物理地址转换功能,被扩展成允许一个线性地址被标注为无效的,而非要让其产生一个物理地址。以下两种情况一个页面可以被标注为无效的:

    1. 操作系统不支持的线性地址。
    
    2. 对应的虚拟内存系统中的页面在磁盘上而非在物理内存中。

    在第一中情况下,产生无效地址的程序必须被终止,在第二种情况下,该无效地址实际上是请求 操作系统虚拟内存管理器 把对应的页面从磁盘加载到物理内存中,以供程序访问。因为无效页面通常与虚拟存储系统相关,因此它们被称为不存在页面,由页表中称为存在的属性来确定。

    当使用分页时,处理器会把线性地址空间划分成固定大小的页面(4KB),这些页面可以映射到物理内存中或磁盘存储空间中,当一个程序引用内存中的逻辑地址时,处理器会把该逻辑地址转换成一个线性地址,然后使用分页机制把该线性地址转换成对应的物理地址。

    如果包含线性地址的页面不在当前物理内存中,处理器就会产生一个页错误异常。页错误异常处理程序就会让操作系统从磁盘中把相应页面加载到物理内存中(操作过程中可能会把物理内存中不同的页面写到磁盘上)。当页面加载到物理内存之后,从异常处理过程的返回操作会使异常的指令被重新执行。 处理器把用于线性地址转换成物理地址和用于产生页错误的信息包含在存储与内存中的页目录与页表中。

    分页机制与分段机制的不同

    分页与分段的最大的不同之处在于分页使用了固定长度的页面。段的长度通常与存放在其中的代码或数据结构有相同的长度。 与段不同,页面有固定的长度。如果仅使用分段地址转换,那么存储在物理内存中的一个数据结构将包含其所有的部分。如果使用了分页,那么一个数据结构就可以一部分存储与物理内存中,而另一部分保存在磁盘中。

    为了减少地址转换所要求的总线周期数量,最近访问的页目录和页表会被存放在处理器的一个叫做转换查找缓冲区(TLB)的缓冲器件中。 TLB 可以满足大多数读页目录和页表的请求而无需使用总线周期。 只有当 TLB 中不包含所要求的页表项是才会出现使用额外的总线周期从内存读取页表项。通常在一个页表项很长时间没有访问过时才会出现这种情况。

    返回目录

    二、页表结构

    分页转换功能由驻留在内存中的表来描述,该表称为页表,存放在物理地址空间中。 页表可以看作是简单的 2^20 物理地址数组。 线性到物理地址的映射功能可以简单地看作进行数组查找。 线性地址的高 20 位构成这个数组的索引值,用于选择对应页面的物理(基)地址。线性地址的低 12 位给出了页面中的偏移量,加上页面的基地址最终形成对应的物理地址。 由于页面基地址对齐在 4K 边界上,因此页面基地址的低 12 为肯定是 0 ,这意味着 高 20 位的页面基地址 和 12 位偏移地址连接组合在一起就能得到对应的物理地址。

    页表中每个页表项 大小为 32 位,由于只需其中的 20 位来存放页面的物理基地址,因此剩下的 12 位可用于存放诸如页面是否存在等的属性信息。如果线性地址索引的页表被标注为存在,则表示该项有效, 我们可以从中取得页面的物理地址。 如果项中表明不存在,那么当当访问对应物理界面时就会产生一个异常。

    一、两级页表结构

    页表含有 2^20 个表项,而每项占用 4 个字节。如果作为一个表来存放,最多将占用 4M 的内存。 为了减少内存占用量,80x86 使用了两级页表。 高 20 位线性地址到物理地址的转换被分成两步来进行,每次转换其中 10 位。

    第一级表称为页目录,存放在一页 4K 大小的页面中,具有 2^10 个 4 字节长度的表项。 这些表象指向对应的二级表。 线性地址的最高 10 位(31-22)用作以及表中的索引。

    第二级称为页表,长度也是 4K 大小的一个页面,最多有 1K 个 4 字节的表项。 每个 4 字节的表项含有相关页面的 20 位物理基地址。 二级页表使用线性地址的中间 10 位(21-12)作为表项索引值,以获取含有页面 20 物理地址基地址的表项。 该20位页面物理基地址和线性地址中的低12位(页内偏移)组合在一起就得到了分页转换过程的输出值,即对应的的最终物理地址。

    二级页表的查找过程。其中 CR3 寄存器指定页目录表的基地址。线性地址的高10位用于索引这个页目录表,以获得指向相关第二级页表的指针。线性地址空间中间10位用于索引二级页表,以获得物理地址的高20位。线性地址的低12位直接作为物理地址的低12位,从而组成一个完整的32位物理地址。

    825979-20180203175438359-590143270.png

    二、不存在的页表

    二级页表结构允许页表被分散在内存各个页面中,而不需要保存在连续的 4MB 内存块中。另外,并不需要为不存在的 或 线性地址空间未使用部分分配二级页表。 虽然目录表页面必须常驻内存中,但是二级页表可以在需要时再分配。这使得页表结构的大小对应于实际使用的线性地址空间大小。

    页目录表中每个表项也有一个存在属性,类似于页表中的表项。页目录表项中的存在属性指明对应的二级页表是否存在。如果目录表指定的二级页表存在,那么通过访问二级表,表查找过程第二步将正常进行。如果存在位表明对应的二级表不存在,那么处理器就会产生一个异常来通知操作系统。页目录表项中的存在属性使得操作系统可以根据实际使用的线性地址范围来分配二级页表页面。

    目录表项中的存在位还可用于在虚拟内存中存放二级页表。这意味着在任何时候只有部分二级页表需要存放在物理内存中,而其余的可保存在磁盘上。处于物理内存中页表对应的页目录项将被标注为存在,以表明可用它们进行分页转换。处于磁盘上的页表对应的页目录项将被标注为不存在。由于二级页表不存在而引发的异常会通知操作系统把缺少的页表从磁盘上加载进物理内存。把页表存储在虚拟内存中减少了保存分页转换所需要的物理内存量。

    返回目录

    三、 页表项格式

    页目录和页表的表项格式如下图所示,其中位32-12含有物理地址的高20位,用于定位物理地址空间中一个页面(也叫页帧)的物理基地址。表项的低 12 位含有页属性信息。

    825979-20180203214109125-1196546263.png

    • P 位0是存在标志,用于指明表项对地址转换是否有效。 P=1 表示有效;P=0 表示无效。在页转换过程中,如果涉及的 页目录或页表的表项无效,则会导致一个异常。 如果 P=0,那么除表示表项无效外,其余位可供程序自由使用,如图中 b 所示

    • R/W 位1是读/写标志。如果等于1,表示页面可以被读、写或执行。如果为0,表示页面只读或可执行。当处理运行在超级用户特权级(级别0、1或2)时,则R/W位不起作用。页目录项中的R/W位对其所映射的所有页面起作用。

    • U/S 位2是用户/超级用户标志。如果为1,那么运行在任何特权级的程序都可以访问该页面,如果是0,那么页面只能被允许在超级特权级上的程序访问。页目录项中的U/S位对其所映射的所有页面起作用。

    • A 位5是已访问标志。当处理器访问页表项映射的页面时,页表项的这个标志就会被置为1.当处理器访问页目录表项映射的任何页面时,页表目录项的这个标志就会被置为1。处理器只负责设置该标志位,操作系统可通过定期地复位该标志来统计页面的使用情况。

    • D 位6是页面已被修改标志。当处理器对一个页面执行写操作时,就会设置对应页表表项的D标志。处理器并不会修改页目录项中的D标志。

    • AVL 该字段保留专供程序使用。处理器不会修改这几位,以后的升级处理器也不会。

    返回目录

    虚拟存储

    也目录和页表表项中的存在标志 P 为使用分页技术的虚拟存储提供了必要的支持。若线性地址空间中的页面存在于物理内存中,则对应表项中的标志 P=1,并且该表项中含有相应的物理地址。页面不在物理内存中的表项其标志 P=0。 如果程序访问物理内存中不存在的页面,处理器就会产生一个缺页异常。此时操作系统就可以利用这个异常处理过程把缺少的页面从磁盘上调入物理内存中,并把相应物理地址存放在表项中,最后在返回程序重新执行引起异常的指令之前设置标志 P=1。

    已访问标志 A 和已修改标志 D 可以用于有效地实现虚拟存储技术。通过周期性地检查和复位所有 A 标志,操作系统能够确定哪些页面最近没有访问过,这些页面可以成为移出到磁盘上的候选者。假设当一页面从磁盘上读入内存时,其脏标志 D=0,那么当页面再次被移出到磁盘上时,若 D标志还是0,则该页面就无需被写入磁盘中(因为没有被改)。若此时 D=1,则说明页面已经被修改过,于是就必须将该页面写到磁盘上。

    返回目录

    转载于:https://www.cnblogs.com/ay-a/p/8387809.html

    展开全文
  • 新的更新内容请到mwhls.top查看。 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。 操作系统原理学习笔记目录 ...基本功能是将逻辑地址映射成物理地址,为了满足换入换出要求,还增加了四个字段

    文章首发及后续更新:https://mwhls.top/1569.html
    新的更新内容请到mwhls.top查看。
    无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。

    操作系统原理学习笔记目录

    请求分页中的硬件支持

    • 请求分页是目前最常用的一种实现虚拟存储器的方式。
    • 为了实现请求分页,计算机系统除了要求内存与外存外,还需要请求页表机制,缺页中断机构,地址变换机构。
    • 请求页表机制:
      • 请求分页系统中主要的数据结构是请求页表。
        • 基本功能是将逻辑地址映射成物理地址,为了满足换入换出要求,还增加了四个字段。
      • 状态位P(存在位):指示是否调入内存。
      • 访问字段A:记录一段时间内被访问次数,或多久未被访问。
      • 修改位M:标识调入内存后是否被修改过。
      • 外存地址:指出其外存地址。
    • 缺页中断机构:
      • 请求分页系统中,待访问的页面不在内存时,产生缺页中断,请求OS将所缺页调入内存。
      • 缺页中断作为中断,同样需要保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、在中断处理完成后再恢复CPU环境等步骤。
      • 但缺页中断与一般中断相比有两个明显区别:
        • 在指令执行期间产生和处理中断信号。
        • 一条指令期间可能产生多次中断。
        • 注:一般中断,出现于指令结束后,才会被检查到。
    • 地址变换机构:
      • 变换过程:
        1. 检索快表,找到了页。
          1. 修改页表项的访问位。
          2. 若是写操作,则修改“修改位置”为1,表示已被修改。
          3. 利用页表项中给出的物理块号和页内地址形成物理地址。
        2. 快表中无该页,在内存中检索,并找到了页。
          1. 从状态位P了解是否调入内存,若调入,则将其加入快表。
          2. 快表满时,根据算法调出部分页。
        3. 内存中未找到页,产生缺页中断,请求OS将该页从外存调入内存。

    请求分页中的内存分配

    • 最小物理块数:
      • 保证进程正常运行所需的最小物理块数。
      • 取决于计算机硬件结构、指令格式、功能、寻址方式。
      • 对于单地址指令:
        • 采用直接寻址,最小物理块数为2.
        • 一块用于存放指令,一块用于存放数据。
      • 间接寻址:
        • 至少三个物理块、
      • 功能较强的机器:
        • 指令长度可能多两个字节,及可能跨两个页面。
        • 至少六个物理块。
    • 内存分配策略:
      • 固定分配局部置换(Fixed Allocation, Local Replacement)
        • 固定分配:为进程分配固定数目物理块。
        • 局部置换:将进程已分配的物理块中,换出一页,再调入一页。
      • 可变分配全局置换(Variable Allocation, Global Replacement)
        • 可变分配:为进程分配一定数目物理块,进程运行期间,根据情况适当增减。
        • 全局置换:将OS中空闲物理块分配给该页,或如从所有进程的物理块中换出调入。
          • 空闲物理块用完时,才从内存中的进程调出。
      • 可变分配局部置换(Variable Allocation, Local Replacement)
    • 物理块分配算法:
      • 平均分配算法。
      • 按比例分配算法:按进程大小的比例分配。
      • 考虑优先权的分配算法。

    页面调入策略

    • 何时调入页面:
      • 预调页策略:
        • 调入预测中会在不久后访问到的页面。
        • 目前成功率仅约50%。
      • 请求调页策略:
        • 仅调入被请求的页面。
    • 从何处调入页面:
      • 拥有足够对换区空间:
        • 全部从对换区调入所需页面。
      • 系统缺少足够的对换区空间:
        • 不会被修改的文件从文件区调入。
        • 可能被修改的文件调到对换区。
      • UNIX方式:
        • 未运行过的页面从文件区调入。
        • 运行过但被换出的页面放在对换区。
        • 部分共享的页面不需要调入,它们已被其他进程调入内存。
    • 页面调入过程:
      • 所访问页面不在内存(存在位为0),发出缺页中断。
      • 中断处理程序保留CPU环境,分析中断原因,转入缺页中断处理程序。
      • 缺页中断处理程序查找页表,得到该页在外存的物理块。
      • 若内存能容纳新页:
        • 则启动磁盘I/O,该页调入内存,修改页表。
      • 若内存已满:
        • 根据置换算法从内存中选取一页准备换出。
        • 待换出的页未修改过(修改位为0),不必写回磁盘,否则写回磁盘。
        • 调入所缺页,修改页表,存在位设置1,将该页写入快表。
      • 缺页调入内存后,根据页表生成访问待访问数据的物理地址,再访问内存数据。
    • 缺页率:
      • 缺页率为:F/(S+F)
        • 访问成功的次数为S。
        • 缺页的次数为F。
      • 受几个因素影响:
        • 页面大小:页面大,缺页率低。
        • 进程所分配物理块的数目:数目多,缺页率低。
        • 页面置换算法。
        • 程序固有特性。
      • 缺页中断处理时间:p*a + (1-p)*b
        • 被调出的页面被修改的概率为p。
        • 处理被修改的缺页中断处理时间为a。
        • 处理未被修改的缺页中断处理时间为b。

    展开全文
  • 页面:将进程的逻辑地址空间分成若干页,并进行标号:第0页、第1页...将内存的物理地址空间分成若干块,并进行标号:0#块,1#块...进程分配内存时,以块为单位,将进程若干页装入多个不相邻的物理块中。进程最后一页...

    文章首发及后续更新:https://mwhls.top/1357.html
    新的更新内容请到mwhls.top查看。
    无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。

    操作系统原理学习笔记目录

    分页存储管理的基本方法

    • 页面:
      • 将进程的逻辑地址空间分成若干页,并进行标号:第0页、第1页...
      • 将内存的物理地址空间分成若干块,并进行标号:0#块,1#块...
      • 进程分配内存时,以块为单位,将进程若干页装入多个不相邻的物理块中。
      • 进程最后一页剩余的空间,被称为“页内碎片”
    • 页面大小:
      • 页面过大,可以减少页表长度,提高页面交换速度,但会使页内碎片增大。
      • 页面过小,可以减少业内碎片大小,提高内存利用率,但会导致页表过长,占用大量内存,降低交换效率。
      • 页面大小应为2的幂次方,通常为1KB~8KB。
    • 地址结构:
      • 包含页号P与偏移量W,在32位逻辑地址空间中,页号一般占20位,偏移量占12位。
      • 页号:
        • 页号若有20位,则地址空间最多分成220,即1M页。
      • 偏移量:
        • 也称位移量,是页内地址。
        • 偏移量有12位,则一页的大小为212,即4KB。
      • 若知道逻辑空间地址A,与页面大小L,则:
        • 页号P为:[A/L](整除,向下取整)。
        • 偏移位W为:[A] mod L。
        • 如,A为2170B,L为1KB,则P=2,W=122,第三页,页号为2,偏移位为122。
    • 页表:
      • OS为各进程建立的页面映像表,将页号与块号对应起来。
      • 表项中的存取控制字段,如果为1位,是读写/无权限,如果是2位,是读写/读/执行等。
      • 写入只读的存储块时,将引起中端。

    地址变换机构

    • 借助页表,实现逻辑地址到物理地址的转换。
    • 由于页内地址与物理地址对应,因此只要将逻辑地址中页号转为内存中物理块号即可。
    • 基本的地址变换方式:
      • 实现方式:
        • 使用专门寄存器实现。
        • 页表存放在内存中。
          • 存放在寄存器会需要很多寄存器,成本高,因此存放于内存中。
        • 用页表寄存器(Page-Table Register, PTR)存放页表在内存中的起始地址与长度。
        • 页表始址与长度存在PCB中,仅在调度到本程序时才将其装入PTR。
        • 单处理机环境下,通过一个PTR即可运行多个进程。
      • 实现过程:
        • 进程访问某逻辑地址的数据时,分页地址变换机构将有效地址(相对地址)分为页号与页内地址,再以页号索引检索页表。
        • 查找由硬件执行,检索前:
          1. 将页号与页表长度进行比较,页号≥页表长度,则产生地址越界中断。
          2. 若未越界,则将页表始址与页号和页表项长度的乘积相加,得到该表项在页表中的位置。
          3. 从中得到该页物理块号,装入物理地址寄存器中。
          4. 同时,将有效地址寄存器直接跑每个页内地址送入物理地址寄存器的块内地址字段中。
        • 本过程于P150有图示。
    • 具有块表的地址变换机构:
      • 基本地址变换机构在进程访问内存时,第一次需要将逻辑地址转为物理地址,第二次访问时才能获取数据,虽然提高了存储器空间利用率,但将计算机的处理速度降低了一半。
      • 在基本地址变换机构中,增加一个具有并行查询能力的特殊高速缓冲寄存器,又称为“联想寄存器”(Associative Memory),或“快表”,在IBM系统中又被称为TLB(Translation Look aside Buffer)。
      • TLB用来存放当前访问的页表项。
      • 在进行检索时,先检索TLB中是否存有该页号对应的物理块号,若无,再检索内存中的页表。
      • 当TLB满时,OS需要找到一个存在时间长且被认为不再需要的页表项,与新的页表项对换。
      • 由于成本问题,TLB一般只存放16~512个页表项,但已能满足大部分需求,将基本地址变换机构造成的速度损失降低至10%。

    访问内存的有效时间

    • 内存的有效访问时间(Effective Access Time, EAT):从进程发出逻辑地址访问请求,经过地址变换,到内存物理块中取出数据的时间。
    • 基本地址变换机构EAT:EAT = t+t = 2t。
      • 两个t分别为查表的时间,与获取数据的时间。
    • 快表的地址变换机构EAT:EAT = a*m + (t+m)(1-a) = 2t + m - t*a
      • 其中,a为查找命中率,m为快表查询时间。
      • 查找命中率,是查找TLB表时成功的几率,当成功时,无需在内存中查询页表。

    两级和多级页表

    • 为了解决页表占据连续的大内存空间问题,可采用两种办法:
      • 页表离散存储。
      • 仅在内存中保留当前需要的页表。
    • 两级页表(Two-Level Page Table):
      • 实现页表离散存储。
      • 用外层页表(Outer Page Table)作为离散分配页表的页表。
      • 结构为:外层页号-外层业内地址-页内地址。
      • 将页表再进行分页,使得每个页面与物理块大小相同,并为其标号:0#页、1#页...,之后可将各页面离散的存储在不同物理块中。
      • 以32位逻辑地址空间为例,页表大小为12位时:
        • 采用一级页表结构,具有20位的页号,即1M个页表。
        • 采用两级页表,若每页包含10位页表项,则外层页号为10位。
      • P153页有图示。
      • 个人的理解:
        • 外层页内地址,存放在物理块中,并指向内存空间中的不同地址。
        • 外层页号保存的是物理块的地址。
        • 即,检索时,先在外层页表找到外层页内地址存放的物理块,再从物理块中找到内存物理地址。
    • 多级页表:
      • 对于32位机器,二级页表已经够用。
      • 但对于64位机器,页面大小为12位时,还有52位的空间,若与32位机器一样,用10位划分页表,则还有42位用于外层页号,过于庞大。
      • 对外层页表再分页,形成多级页表,即可避免上述问题。
      • 现代64位机器中,一般将可直接寻址的存储器空间减少至45位,再使用三级页表结构实现分页存储管理。

    反置页表

    • 概念:
      • 一般的页表是按页号排序的,页表项内容是物理块号。
      • 反置页表是为每一个物理块设置一个页表项,按物理块编号排序,页表项内容是页号及其隶属进程标识符。
      • 在IBM公司推出的系统中广泛使用,如AS/400、IBM RISC System、IBM RT等。
    • 地址变换:
      • 根据进程标识符与页号,检索反置页表,若找到,则其序号就是物理块号。
      • 若检索不到,则表示此页并未装入内存:
        • 不具备请求调页功能的存储器管理系统,会表示地址出错。
        • 具备请求调页功能的,则产生请求调页中断,系统把此页调入内存。
    • 特点:
      • 一个64MB内存的机器,若页面大小为4KB,则反置页表占用64KB内存。
      • 但该表只包含调入内存的页面,因此还需为每个进程建立外部页表(External Page Table),该表与传统页表一样,且仅在发现页面不在内存时会被使用。
      • 内存容量很大时,页表项数目也会很大,为此,可采用Hash算法进行检索。
        • 但Hash算法可能产生“地址冲突”,即多个逻辑地址被映射到一个Hash表项上,后续部分会对其处理方式进行讲解。

    展开全文
  • 请画出逻辑地址格式。 题解:逻辑空间32页=252^525,推出逻辑地址中页号必须用5位来描述。每页2KB,1KB=2102^{10}210,2KB=2112^{11}211,故页内地址必须用11位来描述。 已知某分页系统,主存容量为6

    分页存储管理方式

    1. 分页地址中的地址结构如下:在这里插入图片描述
    2. 对某特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d可按下式求得:在这里插入图片描述

    具体例题

    1. 某系统采用页式存储管理策略,拥有逻辑空间32页,每页2KB,拥有物理空间1MB。请画出逻辑地址的格式。

    题解:逻辑空间32页=252^5,推出逻辑地址中页号必须用5位来描述。每页2KB,1KB=2102^{10},2KB=2112^{11},故页内地址必须用11位来描述。
    在这里插入图片描述

    1. 已知某分页系统,主存容量为64K字节,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中,试求:
      (1)将十进制的逻辑地址1023、2500、4500转换成物理地址。
      (2)以十进制的逻辑地址1023为例画出地址变换过程图。

    分析:在分页系统中进行地址转换时,地址变换机构将自动把逻辑地址转化为页号和页内地址,如果页号不小于页表长度,则产生越界中断;否则便以页号为索引去检索页表,从中得到对应的块号,并把块号和页内地址分别送入物理地址寄存器的块号和块内地址字段中,形成物理地址。

    在这里插入图片描述

    分段存储管理方式

    1. 分段地址中的地址具有如下结构:在这里插入图片描述
    2. 分页和分段的主要区别: 
      (1) 页是信息的物理单位。
      (2) 页的大小固定且由系统决定。
      (3) 分页的用户程序地址空间是一维的。

    具体例题

    1. 对于下表所示的段表,请将逻辑地址(0,137),(1,4000),(2,3600),(5,230)转换成物理地址。在这里插入图片描述

    分析:在分段系统中进行地址转换时,地址变换机构首先将逻辑地址中的段号与段表长度作比较,如果段号超长,则产生越界中断;否则便以段号为索引去检索段表,从中得到段在内存的始址和段长;然后再将逻辑地址中的段内地址与段表项中的段长作比较,若不越界,则由段的始址与段内地址相加,形成物理地址。在这里插入图片描述

    虚拟存储器例题

    1. 某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为5、10、4、7,而该用户作业的长度为6页,试将十六进制的虚拟地址0A5C、103C、1A5C转换成物理地址。

    由题目所给条件可知,该系统的逻辑地址有15位,其中高5位为页号,低10位为页内地址;物理地址有14位,其中高4位为块号,低10位为块内地址。另外,由于题目中给出的逻辑地址是十六进制数,故可先将其转换成二进制数以直接获得页号和页内地址,再完成地址的转换。

    如下图,逻辑地址(0A5C)的页号为(00010),即2,故页号合法;从页表中找到对应的内存块号为4,即(0100);与页内地址(10 0101 1100)拼接形成物理地址(010010 0101 1100),即(125C)。在这里插入图片描述
    (2)逻辑地址(103C)的页号为4,页号合法,但该页未装入内存,故产生缺页中断。

    (3)逻辑地址(1A5C)的页号为6,为非法页号,故产生越界中断。

    展开全文
  • WORD格式 专业资料整理 例 1某分页系统主存容量为 64K页面大小为 1K对一个 4 页大的作业其 0 1 2 3 页分别被分配到主存的 2467 块中将十进制的逻辑地址 10232500 4500 转换为 物理地址 1逻辑地址 1023 1023/1K 得...
  • 新的更新内容请到mwhls.top查看。...逻辑地址由段名和段内偏移量(段内地址)决定。信息共享分页方式的页只是存放信息的物理块,没有完整逻辑意义。段可以是信息的逻辑单位,因此在调用一个共享信息时
  • 现推出谷秋精品课程系统,软件严格按照国家教育部关于精品课程建设的格式要求开发。界面简洁大方,操作容易,只需具备一些Word操作即可轻松使用。本软件为网络版,教师制作课程无需下载任何客户端。   谷秋精品...
  • 9.2.1逻辑地址空间 179 9.2.2物理地址空间 179 9.2.3地址重定位 180 9.3常用存储管理技术 181 9.3.1连续内存分配方式 181 9.3.2覆盖和交换技术 181 9.3.3分页管理技术 182 9.3.4段式管理技术 184 9.4虚拟...
  • 文章管理系统

    2014-12-06 10:19:22
    改进保存远程图片和采集图片逻辑 4.几个小细节纠正 2011年11月24日 V2.3升级包 1.MSXML2.XMLHTTP更换成MSXML2.ServerXMLHTTP,防止采集或生成首页静态页会卡死问题 2.纠正采集的图片标签中有js脚本时,可能会造成...
  • 在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
  • oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...
  • 2 逻辑地址空间与物理地址空间  9. 1. 3 动态加载  9. 1. 4 动态链接与共享库  9. 1. 5 覆盖  9. 2 交换  9. 3 连续内存分配  9. 3. 1 内存保护  9. 3. 2 内存分配  9. 3. 3 碎片  9. 4 分页  9. 4. 1 ...
  • 2005-2009软件设计师历年真题

    千次下载 热门讨论 2010-05-18 19:20:10
     • 模块规格说明书(功能和接口说明、程序处理逻辑的描述、输入输出数据格式的描述)  • 测试要求说明书(测试类型和目标、测试用例、测试方法)  3.3 程序设计评审  4.系统实施  4.1 配置计算机系统及其...
  • 8086/8088汇编语言程序设计教程

    热门讨论 2008-10-22 22:52:54
    10.3 80386控制寄存器和系统地址寄存器 10.3.1 控制寄存器 10 3.2 系统地址寄存器 10.4 实方式与保护方式切换实例 10.4.1 演示实方式和保护方式切换的实例(实例一) 10.4.2 演示32位代码段和16位代码段切换的实例...
  • 显示系统中SSA磁盘阵列的逻辑磁盘 lsdev -C -t hdisk -c disk -s ssar -H name status location description hdisk2 Available 07-08-L SSA Logical Disk Drive hdisk3 Available 07-08-L SSA Logical Disk Drive ...
  • PDF格式扫描版,全书分为7篇16章,共874页。2011年6月出版。 注:原电子版图书缺少最后4章内容,共874页。本人补全了剩余章节重新编辑成完整版本共1026页,并添加了详细完整的书签(编辑校对书签花费了6个小时,怎一...
  • PDF格式扫描版,全书分为7篇16章,共874页。2011年6月出版。 注:原电子版图书缺少最后4章内容,共874页。本人补全了剩余章节重新编辑成完整版本共1026页,并添加了详细完整的书签(编辑校对书签花费了6个小时,怎一...
  • 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址是否有效 149 实例119 统计关键字的查询结果 150 实例120 计算查询操作的执行时间 151 实例121 查询关键字描红 152 实例122 判断上传文件的类型 153 实例...
  • 实例117 验证Email地址格式是否正确 148 实例118 验证IP地址是否有效 149 实例119 统计关键字的查询结果 150 实例120 计算查询操作的执行时间 151 实例121 查询关键字描红 152 实例122 判断上传文件的类型 153 实例...
  • 2004-2010软考程序员真题

    热门讨论 2012-09-27 12:33:00
     A)"工具"菜单 B)"视图"菜单 C)"格式"菜单 D)"窗口"菜单  38、当前活动窗口是文档d1.doc的窗口,单击该窗口的"最小化"按扭后  A)不显示d1.doc文档内容,但d1.doc文档  并未关闭 B)该窗口和d1.doc文档都被关闭  ...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085...
  • 每个工具都内附mht格式的官方说明,可用IE打开。 这次发的是完整版,不需要分段解压。 ---------------------------------------------------- ★Sysinternals 实用工具:文件和磁盘 AccessChk 此工具向您显示,...
  • 实例055 得到本地机器的ip地址 实例056 检测计算机是否存在网络连接 实例057 判断计算机的联机状态 3.4 获取特殊文件夹路径 实例058 获取系统特殊文件夹路径 实例059 得到本地运行的exe的路径 实例060 获取映射驱动...
  • 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...
  • 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...
  • 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...
  • 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中实现合并单元格 116 实例084 在DataGridView控件中显示图片 118 实例085 为...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

分页系统逻辑地址格式