虚拟存储器

  • Post author:
  • Post category:其他




虚拟存储器的概念

虚拟地址按固定大小分页

物理地址空间也按同样大小分为页框

虚拟地址和实际的物理地址通过页表确定映射关系

一个进程运行时不需要把所有程序装入内存,只需要装入活跃的页

页的交换,由操作系统完成

所谓虚拟地址,其实是磁盘空间,数据一开始都在磁盘里

程序加载就是建立页表映射

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



虚拟地址空间

页表存在内核里

在这里插入图片描述



实现虚拟存储管理需要考虑的问题

在这里插入图片描述



页表的结构

装入位记录当前这个页在不在主存

在这里插入图片描述

在这里插入图片描述



地址转换过程

在这里插入图片描述

在这里插入图片描述

有符号向无符号转换,导致数组访问空间超出预期,这个地址访问实在虚拟表中增长的,虚拟表上有一些内核区等不可访问区,即出现访问违例。

在这里插入图片描述

在这里插入图片描述



快表

在这里插入图片描述

在这里插入图片描述

主存里不需要tag,按照索引排序

引入TLB就是为了减少访问主存的次数

在这里插入图片描述

在这里插入图片描述



CPU访存流程 精华PPT

在这里插入图片描述

在这里插入图片描述

针对 miss miss hit不可能的情况说明,就是说CPU访问存储器,必须通过虚拟地址 页表 再到物理地址这个流程决定的。



举例

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



段式和段页式虚拟存储

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



存储保护

在这里插入图片描述

在这里插入图片描述



IA32中的地址转换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



段选择符和段寄存器

在这里插入图片描述

在这里插入图片描述



段描述符

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



用户不可见寄存器

在这里插入图片描述



Linux全局段描述符

在这里插入图片描述



逻辑地址向线性地址转换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



逻辑地址向线性地址转换举例

在这里插入图片描述

不对,10进制没有转换成16进制



线性地址向物理地址的转换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为weixin_42376458原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。