ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

OS——关于页面大小与页表项的问题

2020-05-11 21:04:40  阅读:296  来源: 互联网

标签:4KB 512K 内存 大小 页面 OS 页表


一、采用分页管理方式时,操作系统将进程划分成若干个页面,将内存划分为若干个内存块(or页),页面和内存块大小一致并且一一对应,但是由于进程划分页面时,最后一个页面大小可能小于内存块大小,导致存放的最后一个内存块存在内部碎片,成为页内碎片。为了方便查找还引入了页表机制,如下图(页面数量多时可以使用多级表)。

页表是一种数据结构,其中每一项成为页表项,存放内存块号(每个页表项对应一个内存块),并且将页表放在内存块中。例如一个页面大小为4kb,页表项为4k,那么一个内存块(内存块大小与页面大小相同)就能存放1024(4kb/4b)个页表项,即页表的一页有1024个页表项。举一个现实中的例子,有一本书的目录很长,按照常规的做法,必须拆分开印到很多页上,但是如果有一张很长的纸,那便不需要拆分也能把目录全都包括在一张纸上。页表存放在内存块里也是如此,如果有一个内存块足够大存放下一张页表,那么就不需要割分开页表了,但是页面大小过大的话也就失去了划分页面的意义。

二、页表占用一定的内存。

(一)现在假设有2GB内存,页面大小为4KB,页表项大小为4B。那么它一共有2GB/4KB=512K个内存块(or页,内存块大小=页面大小),也就是说页表项有512K项(一个页表项对应一个块号),而每个页表项的大小4B,那么页表在内存中占用的大小是:512K*4B=2MB,意味着,只要2MB就可以表示512K个页(每个页是4KB,总内存大小是2G),它页表本身占用了2MB/4KB=512个页。

 

标签:4KB,512K,内存,大小,页面,OS,页表
来源: https://www.cnblogs.com/zhengmq2010/p/12867124.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有