開啟主選單
求真百科
搜尋
檢視 页表 的原始碼
←
页表
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
用戶
您可以檢視並複製此頁面的原始碼。
{| class="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E9%A1%B5%E8%A1%A8&step_word=&hs=0&pn=2&spn=0&di=7108135681917976577&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=3666917966%2C3928073706&os=1929405058%2C3989089756&simid=4265607522%2C777204847&adpicid=0&lpn=0&ln=1623&fr=&fmq=1656168384151_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=0&oriquery=&objurl=https%3A%2F%2Fss3.baidu.com%2F9fo3dSag_xI4khGko9WTAnF6hhy%2Fbaike%2Fpic%2Fitem%2F377adab44aed2e7341d4f11e8301a18b87d6fac7.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3Fkwthj_z%26e3Bkwt17_z%26e3Bv54AzdH3Ftpj4AzdH3F%25El%25A8%25Bc%25Eb%25A8%25AbAzdH3Fm0lmdc&gsm=3&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined" style="float:right; margin: -10px 0px 10px 20px; text-align:left" |<center>'''页表'''<br><img src="https://ss3.baidu.com/9fo3dSag_xI4khGko9WTAnF6hhy/baike/pic/item/377adab44aed2e7341d4f11e8301a18b87d6fac7.jpg " width="280"></center><small> 圖片來自百度</small> |} 页表是一种特殊的[[数据结构]],放在系统空间的页表区,存放逻辑页与[[物理页帧]]的对应关系。 每一个[[进程]]都拥有一个自己的页表,PCB表中有指针指向页表。 <ref>[[汤小丹 梁红兵 哲凤屏 汤子瀛 .《计算机操作系统》(第三版):西安电子科技大学出版社,2007]]</ref> *中文名:[[页表]] *存储方式:基本分页存储管理方式 *所属领域:操作系统 ==简介== 分页系统中,允许将进程的每一页离散地存储在内存的任一物理块中,为了能在内存中找到每个页面对应的物理块,系统为每个进程建立一张页面映射表,简称页表。页表的作用是实现从页号到物理块号的地址映射。 页表长度就是页表项的个数。页表长度=虚存容量/页面大小。 比如虚存容量为1GB,则虚拟地址是30位,2^30,如页面大小为4KB(z^12),则页表长度是 2^30/2^12=2^18=256K ==地址结构== 逻辑地址:CPU所生成的地址。CPU产生的[[逻辑地址]]被分为 :p (页号) 它包含每个页在物理内存中的基址,用来作为页表的索引;d (页偏移),同[[基址]]相结合,用来确定送入内存设备的物理内存地址。 物理地址:内存单元所看到的地址。[[逻辑地址空间]]为2^m,且页大小为2^n,那么逻辑地址的高m-n位表示页号,低n位表示页偏移。 逻辑地址空间:由程序所生成的所有逻辑地址的集合。 物理地址空间:与逻辑地址相对应的内存中所有[[物理地址]]的集合,[[用户程序]]看不见真正的物理地址。 注:用户只生成逻辑地址,且认为进程的地址空间为0到max。物理地址范围从R+0到R+max,R为基地址,[[地址映射]]-将程序地址空间中使用的逻辑地址变换成内存中的物理地址的过程。由[[内存管理]]单元(MMU)来完成。 分页逻辑地址 =P(页号).d(页内位移) 分页物理地址=f(页帧号).d(同上) P = 线性逻辑地址/页面大小 {| class="https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E9%A1%B5%E8%A1%A8&step_word=&hs=0&pn=1567&spn=0&di=7108135681980891137&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&istype=0&ie=utf-8&oe=utf-8&in=&cl=2&lm=-1&st=undefined&cs=2442253525%2C1405586201&os=1713513862%2C389528263&simid=2442253525%2C1405586201&adpicid=0&lpn=0&ln=1623&fr=&fmq=1656168725425_R&fm=&ic=undefined&s=undefined&hd=undefined&latest=undefined©right=undefined&se=&sme=&tab=0&width=undefined&height=undefined&face=undefined&ist=&jit=&cg=&bdtype=15&oriquery=&objurl=https%3A%2F%2Fgimg2.baidu.com%2Fimage_search%2Fsrc%3Dhttp%3A%2F%2Fwww.pianshen.com%2Fimages%2F1%2F03f8e28decc2e11ceffaae3520abcc39.png%26refer%3Dhttp%3A%2F%2Fwww.pianshen.com%26app%3D2002%26size%3Df9999%2C10000%26q%3Da80%26n%3D0%26g%3D0n%26fmt%3Dauto%3Fsec%3D1658761524%26t%3D8da506bffb08f42668959dc5bcc11ee3&fromurl=ippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Brtwgfijg_z%26e3Bv54AzdH3Fw6ptvsjAzdH3F0nad89d8ncdAzdH3F&gsm=620&rpstart=0&rpnum=0&islist=&querylist=&nojc=undefined" style="float:right; margin: -10px 0px 10px 20px; text-align:left" |<center>'''页表'''<br><img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.pianshen.com%2Fimages%2F1%2F03f8e28decc2e11ceffaae3520abcc39.png&refer=http%3A%2F%2Fwww.pianshen.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1658761524&t=8da506bffb08f42668959dc5bcc11ee3 " width="280"></center><small> 圖片來自百度</small> |} d= 线性逻辑地址-P*页面大小 ==作用== 实现从页号到物理块号的地址映射。 逻辑地址转换成物理地址的过程是:用页号p去检索页表,从页表中得到该页的[[物理块号]],把它装入[[物理地址]]寄存器中。同时,将页内地址d直接送入物理[[地址寄存器]]的块内地址字段中。这样,物理地址寄存器中的内容就是由二者拼接成的实际访问内存的地址,从而完成了从逻辑地址到物理地址的转换。 ==基本分页存储管理方式== 用固定大小的页(Page)来描述[[逻辑地址]]空间,用相同大小的[[页框]](Frame)来描述物理内存空间,由操作系统实现从逻辑页到物理页框的页面映射,同时负责对所有页的管理和进程运行的控制。 ==分级页表== 一个32位逻辑地址空间的计算机系统,页大小为4KB,那么页表有一百万条目。假设每个条目占4B,则需要4MB物理地址空间来存储页表本身。利用多级页表,可以减少页表所占用的空间。 一个逻辑地址(32位系统,页大小 4K) 可以被分为 :一个20位的页号 +一个12位的[[偏移]]。如果对页表进行再分页,那么页号分解为:一个10位的页号 +一个10位的偏移。因此,一个逻辑地址表示如下 :p1 是用来访问外部页表的索引, p2 是外部页表的页偏移。 此时,两级32位分页结构的地址转换机制如下: ==具有TLB(转换后备缓冲器)的页表结构== 转换后备缓冲器TLB(translation lookaside buffer)是小、专用、快速的[[硬件缓冲]],只包括页表中的一小部分条目。如果页号在TLB中,得到[[帧号]],[[访问内存]];否则从内存中的页表中得到帧号,将其存入TLB,访问内存。 '''视频''' '''页表及页表项的设计''' {{#iDisplay:n0186qfj7yi | 560 | 390 | qq }} ==参考文献== {{Reflist}} [[Category:400 應用科學總論]]
此頁面使用了以下模板:
Template:Main other
(
檢視原始碼
)
Template:Reflist
(
檢視原始碼
)
模块:Check for unknown parameters
(
檢視原始碼
)
返回「
页表
」頁面