当前位置: 首页 > news >正文

常见的网站推广方式有哪些附近电脑平面设计培训班

常见的网站推广方式有哪些,附近电脑平面设计培训班,网站如何接广告赚钱,佛山外贸网站建设方案目录 物理机内存访问过程 虚拟地址VA和物理地址PA概念 MUU实现VA到PA所使用的映射表 内存虚拟化类型 内存软件辅助虚拟化 内存硬件辅助虚拟化 内存虚拟化-内存超分配 内存共享 内存置换 内存气泡 物理机内存访问过程 内存的基本知识 内存都是从物理地址0开始的n结束 内存都是连续的 MMUMemory Management Unit内存管理单元主要功能为将内存虚拟地址到物理地址的转换、内存保护、中央告诉缓存的控制等 虚拟地址VA和物理地址PA概念 为什么提出虚拟地址VA 我们知道一个服务器的物理内存是固定的从0开始到n结束当有多个应用程序要使用内存时每个应用程序都认为自己使用的内存地址是从0开始到x结束x≤n此时某个进程的内存区就可能会被别的进程覆盖为了解决此问题就提出了虚拟内存的概念也就是虚拟内存地址VA的概念应用程序通过此地址无法直接访问内存通过MMU内存管理单元来把每个应用程序使用的VA虚拟地址转为具体的对应的物理内存地址PA 虚拟地址VA和物理地址PA的转换 虚拟地址VA由虚拟页面号VPN和虚拟地址偏移VA Offset组成物理地址PA由物理页帧号PFN和物理地址偏移PA Offset组成通常PA Offset等于VA Offset 当虚拟地址VA转为物理地址时需要将VPN转为PFN然后在加上VA Offset即 PAPFNVA Offset VA和PA地址转换的大致工作原理如下 实际上应用程序在往内存中读写数据时需要先将请求发往CPU再由CPU发往内存 所以应用程序将自己需要访问的虚拟内存地址VA发往CPUCPU将VA虚拟地址发给MMU 由MMU通过映射表将VA虚拟地址转为PA物理内存地址然后交给内存完成内存的读写 MUU实现VA到PA所使用的映射表 MMU将VA转为PA的两种映射表页表慢表、TLB传输后备缓冲器快表 页表慢表基本概念 MMU没有自己的存储空间所以最开始映射表存储在内存中名字叫页表 MMU如何知道页表在内存的具体地址呢 通常CPU会提供一个页表基址寄存器给操作系统使用用于给MMU指示页表的基地址不同处理器架构对应的寄存器不一样x86的寄存器为CR3、ARM-v8的寄存器为TTBR、RISC-V的寄存区为SATP寄存器存储了第一级页表的基地址由于在实际使用中都是使用多级页表来存储虚拟地址和物理地址的映射关系所以需要寄存器找到第一级页表的基地址然后依次查找后续级别的页表知道找到VA对应的真正的物理内存地址 不同多级页表涉及的表项 二级页表 分为页全局目录PGDpage global directory和页表入口PTEpage table entry 其中PGD来存储下一级页表的基地址PTE来存储真正的物理地址 共有PGD、PTE二级目录 三级页表 在PGD和PTE之间新加了页中间目录PMDpage middle directory 共有PGD、PMD、PTE三级目录 四级页表 在PGD和PMD之间新增了页上级目录PUDpage upper directory 共有PGD、PUD、PMD、PTE四级目录 常见系统使用多级页表的类型 未开启PAE物理地址扩展的32位系统只使用二级页表开启PAE物理地址扩展的32位系统使用三级页表64位系统使用四级页表或三级页表 具体使用多少级页表、虚拟地址、物理地址等的格式与是32位系统还是64位系统有关、也与处理器的架构有关但是MMU管理的工作原理都是一致的不管是二级页表、三级还是四级都是通过第一级找到第二级第二级找到第三级等最终找到其它物理地址 使用三级页表的工作原理 由于使用三级页表来存放VA与PA之间的关系此时VA地址也被分为4部分VPN1、VPN2、VPN3、VA Offset 应用程序将VA发给CPUCPU将VA发给MMUMMU访问页表基址寄存器得到一级页表PGD的基地址再结合虚拟地址中的VPN1PGD index找到下一级页表PMD的基地址得到了PMD的基地址再结合虚拟地址中的VPN2PMD index得到再下一级PTE的基地址结合虚拟地址中的VPN3PTE index的到最终的PFN然后通过PFNVA offset得到真实的物理地址然后MMU将VA转为PA最后通过PA地址访问内存 CPU→MMU→寄存器→读取内存中的页表→MMU将VA转为PA→内存整个流程访问了两次内存 TLB传输后备缓冲器快表 TLB存放在CPU缓存中CPU缓存的速率高于内存并且能够直接通过VA的VPN来获取到PA地址的PFN进而获得PA地址 TLB如何通过VA找到PA地址 TLB表根据虚拟地址VA的高20位此20位是针对x86架构的不同架构的值不同来查找表项找对对应的物理地址PA TLB工作流程 应用程序将VA地址发给CPUCPU将VA发给MMUMMU将存放在CPU缓存的TLB读取出来然后MMU将VA转为PA最后通过PA地址访问内存 CPU→MMU→读取CPU缓存中的TLB表→MMU将VA转为PA→内存 有些VA地址在TLB中没有映射怎么办 根据VA的高20位地址在TLB中查找对应的PA地址如果没有对应表项就返回TLB Miss此时MMU就去读取内存的页表通过页表来实现VA到PA的转换 内存虚拟化类型 内存半虚拟化主要是Xen厂商使用此处不做介绍 提前了解的概念 GVA        虚拟机访问内存的虚拟内存地址 GPA        虚拟机访问内存的物理内存地址 HVA        物理机访问内存的虚拟内存地址 HPA        物理机访问内存的物理内存地址 虚拟机内存虚拟化的核心 虚拟机的内存虚拟化类似于物理机的虚拟内存虚拟机的内存虚拟化通过引入一层新的地址空间GPA使得虚拟机以为自己运行在真实的物理地址中实际上它是通过VMM访问真实的物理地址的 内存软件辅助虚拟化 常用的软件辅助全虚拟化通过“影子页表shadow page table”技术来实现 虚拟机设计的每个映射表的作用 虚拟机的页表/TLB表维护GVA到虚拟机物理地址GPA的映射关系 VMM定义的映射表维护GPA到HVA的映射表 物理机的页表/TLB表维护HVA到HPA的映射表 VMM的影子页表维护GVA到HPA的映射表影子页表由VMM维护 虚拟机的页表和影子页表会通过一个哈希表建立关联也有其他的关联方式可以完成GPA到HPA的映射 影子映射表的作用 VMM为每个虚拟机都维护一个影子页表影子页表维护GVA到HPA的映射表简化了地址转换的过程实现了虚拟机的虚拟内存地址GVA到物理机的真实内存地址HPA的直接映射 具体工作原理 当虚拟机通过虚拟机CR3寄存器来获取到自己虚拟机的页表或获取TLB表时都会被VMM捕获通过影子页表直接将GVP转为HPA完成内存的访问 如果影子页表没有相应的GVP表项如何做 虚拟机的应用程序访问内存CPU将GVA地址发给虚拟机的MMU虚拟机的MMU通过页表或TLB表得到GPA然后再通过VMM查找GPA对应的HVA最后通过物理主机的页表或TLB表查HVA对应的HPA如果没有HPA则为HVA分配对应的HPA最终得到GPA对应的HPA关系然后将其对应关系填充到影子页表 VMM如何感知到虚拟机对自己的页表做出了一些更改 VMM将虚拟机对应影子页表的物理内存区域标记为只读状态当虚拟机想要更改自己的页表时就会对该物理内存区域做出更改的操作此时就会抛出CPU的异常触发一个VM Exit这个时候就退出到VMM中VMM就知道了虚拟机在更改页表 此时VMM代替虚拟机操作系统修改虚拟机页表然后更新自身的影子页表中GVA到HPA的映射关系 存在的问题 每次触发VM exit的话开销很高 VMM承担太多影子页表的维护工作 内存硬件辅助虚拟化 常见的内存硬件虚拟化技术 Inter的EPTExtend Page Table扩展页表技术 AMD的RVIRapid Virtualization Index快速虚拟化索引技术 两者细节方面有所不同但是设计理念完全一致把影子页表中依靠软件实现的过程改为硬件实现GVP到GPA的转换没有变化只是GPA到HPA的转化是由硬件来完成 EPT页表的工作原理 EPT页表存放在CPU中 当应用程序访问内存时将GVA交给虚拟机CPU虚拟机CPU会通过访问虚拟机中的页表来完成GVA到GPA的转换接着CPU通过EPT页表来实现GPA到HPA的转换 如果EPT页表没有GPA对应的HPA地址如何解决 如果HPA为空则CPU会抛出EPT Violation异常触发一个vm exit让VMM来处理此时VMM会根据GPA地址将其映射到对应的HVA地址然后通过物理页表找到此HVA地址对应的HPA如果没有HPA则为HVA分配对应的HPA最后再更新EPT表项 如果EPT页表中没有GPA地址如何解决 如果GPA地址为空即缺页则CPU产生缺页异常发生缺页中断如果是软件实现方式则会产生vm exit但是硬件实现方式下并不会产生VM-exit而是交给虚拟机内核的中断处理程序处理在中断处理程序中会产生EXIT_REASON_EPT_VIOLATION虚拟机退出VMM截获到该异常后为虚拟机分配新的物理地址HPA并建立新的GPA到HPA的映射关系保存到EPT中这样在下一次访问的时候就可以完成GPA到HPA的转换 内存虚拟化-内存超分配 虚拟机内存和物理机内存之间并不是一一对应的物理机可以通过内存超分配来超额分配内存给虚拟机 内存超分配实现分配给虚拟机的内存总数大于实际可用的物理内存总数 实现内存超分配主要通过内存复用技术实现的 而内存复用通过内存共享、内存置换、内存气泡三大技术来对内存进行分时复用实现内存超分配 内存复用共享气泡置换共同作用 内存共享 虚拟机之间共享同一物理内存空间蓝色部分并且该共享的物理内存为只读权限多个虚拟机内存中保存的多份相同数据在物理内存中只保留一份数据 当某个虚拟机需要写入数据到共享内存空间时此时就通过写时复制技术另开辟一块内存空间使用并修改映射表 内存置换 虚拟机长时间未访问的内存内容置换放到硬盘中并建立映射表释放内存 当虚拟机再次访问该内存时再置换回来 内存气泡 将较为空间的虚拟机内存释放给内存使用率较高的虚拟机即把虚拟机2的空闲内存分给虚拟机1使用内存的回收和分配为系统动态执行虚拟机上的应用无感知 提升了内存利用率不过需要保证所有虚拟机正在使用的内存总量不能超过物理机的物理内存总量
http://www.zqtcl.cn/news/912401/

相关文章:

  • 泉州网站设计哪家公司好沈阳seo代理计费
  • 做景观素材有哪几个网站国内建网站费用
  • 驻马店重点项目建设网站wordpress常规选项
  • 网站开发 英文网站策划建设阶段的推广
  • 建立网站一般多少钱wordpress评论跳过验证
  • 南京每月做社保明细在哪个网站查看设计作品的网站软件
  • html怎么做网站如何在腾讯云上网站建设
  • 网站建设怎么链接表格手机做外贸有什么好的网站
  • 深圳开发网站建设哪家好外贸网络营销培训
  • 广州智迅网络做网站免费下载ps素材网站
  • 什么网站时候做伪静态开发软件定制
  • 找人做网站 多少钱西宁市公司网站建设
  • 网页设计 教程网站找权重高的网站方法
  • 网站建设本地还是外地重庆seo排名方法
  • 那个网站做网编好昨晚兰州发生了什么事
  • 温州建设局网站首页哪里可以学做资料员的网站
  • 网站怎样在360做优化wordpress文章图片在线裁剪
  • 彭州建设网站建设网站哪间公司比较好
  • qq空间网站根目录慧聪网首页
  • 制作小程序和网站的公司杭州品牌设计公司
  • 显示网站翻页代码wordpress 金融 模板下载
  • 用双语网站做seo会不会phpmysql网站
  • 长沙专业网站建设公司优惠券怎么做自己的网站
  • 做网站如何宣传怎么弄公众号
  • seo网站策划书网站建设资金投入
  • 做网站东莞东莞建网站wordpress 多文件上传
  • 公司注册流程聊城网站优化案例
  • 化妆品网站建设实施方案杭州seo代理公司
  • 网站小图片素材高质量外链
  • 福州个人建站模板有没有一些有试卷做的网站