页框,页表,页表项,页面大小,页表项 长度的理解

本文介绍了内存管理中的分页机制,包括页框、页面和页表的概念。页面是用户进程地址空间的划分,页框是内存的分区,页表用于记录页面到物理块的映射。讨论了页面大小、页表项长度以及内存和页表在内存中的占用情况。通过示例说明了如何计算页表在内存中的大小。
摘要由CSDN通过智能技术生成

1.页框(物理块):将内存空间分成一个个大小相等的分区(页框号或物理块号从0开始)。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5a2m6Lev5LiKLQ==,size_11,color_FFFFFF,t_70,g_se,x_16

 2.页(页面):将用户进程的地址空间分为与页框大小相等的一个个区域(页号一般也从0开始)。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5a2m6Lev5LiKLQ==,size_8,color_FFFFFF,t_70,g_se,x_16

 因为要将进程中的页分别装入多个可以不相邻接的页框(物理块)中,且由于进程中的最后一页经常装不满一块,所以会产生内部碎片。(注:内部碎片是指分配给某进程的内存区域,有些部分没用上。如:分配给进程A4M,而该进程只占用了3M,剩余1M没使用,为内部碎片。)watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5a2m6Lev5LiKLQ==,size_10,color_FFFFFF,t_70,g_se,x_16

 页面长度:指这个页总共有几个页面或页表项(下面有解释)。

页面大小:指一个页面占多大的存储空间。(一般为2的12次方,也就是4KB,详细内容可以去了解分页地址中的地址结构)。

3.页表:系统为每个进程建立的页面映像表。在地址空间内的所有页(0~n),依次在页表中有一页表项,记录了相应页在内存块中对应的物理块号。(下图中间部分)watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5a2m6Lev5LiKLQ==,size_20,color_FFFFFF,t_70,g_se,x_16

页表项:(下图中的橙色框部分)watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5LiK5a2m6Lev5LiKLQ==,size_20,color_FFFFFF,t_70,g_se,x_16

 页表项长度:指每个页表项占多大的内存空间。(每个页表项的长度是相同的)

补充:

页表在内存中占用的大小=页表长度×页表项长度;

内存大小=页面长度×页面大小(物理块大小)

举例:

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

 

 

 

  • 158
    点赞
  • 677
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值