| page fault: 虚拟存储器是根据程序的逻辑地址转换来的,也称线性地址空间。一般每个进程,甚至每个段都有一个,以32位为例,则每个最大可达4G。 而主存目前一般为百M。因此程序中所指的存储单元并不能都放到主存中,也就是并不是每个程序所用的存储单元,都有具体的物理的存储器单元与之对应。 但由于程序的两个局部性原理,在一个时刻,程序只在一个比较小的范围内运行。所以我们把程序可能用到的整个存储空间分成一个个相同大小的页(按页管理硬件上容易实现),只把其中的一些页放在主存中,而其它的页则等需要时再建,或放在辅存(磁盘)中。同时建立一个页表,对应于每一页,如果该页在主存中,则页表记录它在主存中的地址;如果不在主存中,则在页表上作不在主存的标记。 这样,当程序需要调用某个存储单元的内容时,先根据它的线性地址,算出其所在的页。查页表,看是不是在主存中?如果在,则直接存取。如果查到页表上是不在的标记,那就是一个page fault。要把主存中的某一页(LRU策略)换到磁盘上,把要访问的那个单元所在的页调入主存,再进行存取。 就象一个预计有一万学生的学校,理论上每个学生都应有一个位子上课(一万个虚拟位子),而学校只有一千个(物理)位子。但实际上,学校也不会一万个人同时上课,只要让上课的同学有位子(在主存中),而其它同学只要留下联系方法能找到就好。为了降低管理的复杂性,我们采用按学号分班(页)管理。每个班要么一起上课(主存),要么一起呆在寝室(磁盘)。而在学校保留一个动态表(页表)表明每个班在哪儿(物理地址)上课,或者没上课(不在主存)。现在假设我们想按学号找一个同学,而且是女同学,只能在教室说话,呵呵。那么: 先算出来是哪个班的,查动态表,看该班是否在教室。在,直接按位置找到(hit);不在(page fault),要先找个不上课的班赶回寝室,把要找女生所在的班调到教室,再按位置找那个同学。 动态表(页表)的大小=表项数*每个表项所需的位数。 表项数=虚拟班数=虚拟人数(虚拟地址空间)/每班人数(每页大小) 每个表项的位数=Log(教室数)+适当控制位数 教室数=实际可以上课的人数(物理地址空间)/每班人数(每页大小) |
|
|
| 虚拟地址换算: |
|
|
| TLB miss: 4G(32-bit)的存储空间,如果按4K分页,则可分1M页。每个页表项为4B,则一个页表大小为4MB。由于页表太大,只能放在主存中。这样每次读内存都要读主存,大大影响读写速度。而同样基于局部性原理,整个页表在某一时刻,所用的也仅仅几页而已。所以我们把某段时间经常用的几个页表项,即常用的虚拟页号和其对应的物理页地址,存在Cache中,即TLB。 这样,当程序需要调用某个存储单元的内容时,先根据它的线性地址,算出其所在的页。先查TLB(比较虚拟页号),如果有相同的虚拟页号,则就可以马上知道其所在的物理地址,根据物理地址进行存取。 如果没有相同的虚拟页号,则说明该页没有记录在TLB中,那再去查页表,按page fault中所说的进行。 TLB像我们随身记录电话的小纸片,当要查一个电话时,我们先看小纸片。有,我们可以直接打电话。如果没有,我们再回家查详细的电话号码簿(页表),再打电话。 |
|
|
|
|
|
· 博科重组 与思科的虚拟.. · 分析:惠普要将更多的.. · EMC多款存储管理软件集.. |
· 分层数据保护 不可不知.. · 论图书馆数据安全备份 · 中小企业的SAN选择 IBM.. · 数据存储备份技术 · 免费赠送:技术超强的.. · 厦门TT数据技术有限公司 |
|
|||
| · 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
· 华为路由器产品 · 路由器模拟器 · AIX操作系统管理应用(.. · 思科路由器配置 · 路由器组网解决方案 · 路由器密码恢复 · 无线路由器故障处理 · 路由故障处理手册 |
||
|
|||
| · Java基础教程 · VPN技术 · SQL Server 2005全解 · ARP攻击防范与解决方案 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · 三层交换技术专题 |
· SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 · Windows操作系统安装 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 · Windows操作系统安装 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·网名接龙--之大话黄琨 ^o^ ·ARP欺骗引发的“冤案”—.. |
·ARP欺骗的原理、步骤和危.. ·利用负载均衡技术针对Web.. |
| ·VMware Workstation 6.01.. ·Windows Server 2008 RC0.. |
·ISA Server 2006的全自动.. ·ISA Server、虚拟机、托.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· IT基础教程 · 平凡黑客讲述精彩人生(.. · 平凡黑客讲述精彩人生(.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· AMD三核心处理器解析 痛.. · 服务器基础知识入门 · Rambus第二?看全缓冲内.. |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |