分段虚拟内存

虚拟内存  时间:2021-01-15  阅读:()
2014/4/181内容提要内存管理基础页式内存管理段式内存管理虚拟内存管理分页式存储管理碎片和紧凑问题页:在分页存储管理系统中,把每个作业的地址空间分成一些大小相等的片,称之为页面或页.
存储块:在分页存储管理系统中,把主存的存储空间也分成与页面相同大小的片,这些片称为存储块,或称为页框.
2014/4/182纯分页系统(PurePagingSystem)在调度一个作业时,必须把它的所有页一次装到主存的页框内;如果当时页框数不足,则该作业必须等待,系统再调度另外作业.
优点:–没有外碎片,每个内碎片不超过页大小.
–一个程序不必连续存放.
便于改变程序占用空间的大小(主要指随着程序运行而动态生成的数据增多,要求地址空间相应增长,通常由系统调用完成而不是操作系统自动完成).
缺点:程序全部装入内存.
2014/4/183FrameNumber0123456789101112131401234567891011121314A.
0A.
1A.
2A.
301234567891011121314A.
0A.
1A.
2A.
3B.
0B.
1B.
201234567891011121314A.
0A.
1A.
2A.
3B.
0B.
1B.
2C.
0C.
1C.
2C.
301234567891011121314A.
0A.
1A.
2A.
3C.
0C.
1C.
2C.
301234567891011121314A.
0A.
1A.
2A.
3C.
0C.
1C.
2C.
3D.
0D.
1D.
2D.
3D.
42014/4/184数据结构进程页表:每个进程有一个页表,描述该进程占用的物理页面及逻辑排列顺序;–逻辑页号(本进程的地址空间)->物理页面号(实际内存空间);物理页面表:整个系统有一个物理页面表,描述物理内存空间的分配使用状况.
–数据结构:位示图,空闲页面链表;请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小,用于地址转换,也可以结合到各进程的PCB里;页表(pagetable)0123ProcessA0123012ProcessB---------012340123ProcessC789104561112ProcessDFreeFrameList13142014/4/185逻辑与物理内存分页模型32字节内存,页面大小4字节页表长度页表地址控制寄存器页号页面号有效地址02132821C4物理地址81C4地址变换2014/4/186内存管理单元MMU的处理过程:16个4KB大小的页面页表项的内容Modified(dirty)bit(修改位):1meanswrittento=>havetowriteittodisk.
0meansdon'thavetowritetodisk.
Referencedbit(访问位):1meansitwaseitherreadorwritten.
Usedtopickpagetoevict.
Don'twanttogetridofpagewhichisbeingused.
Present(1)/Absent(0)bit(在/不在位)Protectionbits:r,w,r/w2014/4/187页面大小的选取与体系结构、物理内存大小等相关一般为2n字节通常是:几KB到几MB.
–页面小->内碎片小,但需要更大的页表;–大->页表短,管理开销小,交换时外存I/O效率高(主要时间花费是寻道和旋转延迟).
假定进程平均占用s个字节,页面大小是p个字节,一个页表项约占e字节–分页的开销为:se/p+p/2–最优的页面大小p=如何提高分页的效率两个关键问题–提高虚拟地址到物理地址的映射速度–减少页表的大小2014/4/188快表(TLB-TanslationLookasideBuffer)页表项的高速缓存一般用硬件实现多个表项并行比较和匹配快表示例虚拟页号不在TLB中时:查询页表,将相应的页表项复制到TLB2014/4/189哈希/杂凑页表(HashedPageTable)两级页表虚拟地址:32位–PT1:10–PT2:10–偏移量:12页面大小:4KB页面数量:1M2014/4/1810多级页表节约内存,解决页表过大的问题为缩短查找时间,多级页表中的每级都可以装入到快表(即页表的高速缓存)中,并按照cache的原理进行更新.
多级页表结构中,指令所给出的地址除偏移地址之外的各部分全是各级页表的页表号或页号,而各级页表中记录的全是物理页号,指向下级页表或真正的被访问页.
多级页表示例.
.
.
.
.
.
166.
.
.
.
.
.
.
.
.
111.
.
.
2.
.
.
.
.
.
.
.
.
85166810.
.
.
.
.
.
81.
.
.
61118560929VirtualAddressRealAddress进程页表首地址2014/4/1811课堂练习题4.
3为满足264地址空间的作业运行,采用多级分页存储管理方式,假设页面大小为4KB,在页表中的每个页表项需要占8个字节,则为了满足系统的分页管理至少采用多少级页表反置/倒排页表(Invertedpagetable)反置页表不是依据进程的逻辑页号来组织,而是依据该进程在内存中的物理页面号来组织(即:按物理页面号排列).
反置页表的大小只与物理内存的大小相关,与逻辑空间大小和进程数无关.
如PowerPC,IBMAS/40002014/4/1812反置页表表项:→页框HashTablePageTablePage#ChainInvertedPageTableRealAddressFrame#Offset(Hash)VirtualAddressPage#OffsetFrame#Entry综合哈希和反置表的方法每个进程一个反置页表,通过哈希表(hashtable)查找可由逻辑页号得到物理页面号.
虚拟地址中的逻辑页号通过哈希表指向反置页表中的表项链头(因为哈希表可能指向多个表项),得到物理页面号.
2014/4/1813PageTablePtrBpage#0page#1page#2page#3page#5V,RNV,R,WNpage#4V,RV,R,Wpage#4V,R页共享OffsetVirtualPage#VirtualAddress(ProcessA):PageTablePtrApage#0page#1page#3page#4page#5V,RV,Rpage#2V,R,WV,R,WNV,R,WOffsetVirtualPage#VirtualAddress:ProcessBSharedPage该物理页面出现在A和B两个进程的地址空间page#2V,R,W分页环境下的代码共享2014/4/1814内容提要存储器管理基础页式内存管理段式内存管理虚拟内存管理分区和分页的不足分区管理:碎片问题–内碎片–外碎片分页管理–不便于子程序等的内存共享2014/4/1815分段存储管理分段地址空间一个段可定义为一组逻辑信息,每个作业的地址空间是由一些分段构成的,每段都有自己的名字,且都是一段连续的地址空间.
代码段、数据段、堆栈段地址结构:地址结构:段号S+位移量W2014/4/1816分段地址变换过程分段管理示例2014/4/1817段共享分段管理的优缺点优点:–方便编程,分段共享,分段保护,动态链接,动态增长缺点:–处理机要为地址变换花费时间;要为表格提供附加的存储空间.
–为满足分段的动态增长和减少外碎片,要采用内存紧缩手段.
–在辅存中管理不定长度的分段困难较多.
–分段的最大尺寸受到主存可用空间的限制.
2014/4/1818分页与分段的比较:分页的作业的地址空间是单一的线性地址空间,分段作业的地址空间是二维的.
"页"是信息的"物理"单位,大小固定.
"段"是信息的逻辑单位,即它是一组有意义的信息,其长度不定.
分页活动用户是看不见的,而是系统对于主存的管理.
分段是用户可见的(分段可以在用户编程时确定,也可以在编译程序对源程序编译时根据信息的性质来划分).
CodeDataStackFreeSpace012345670120L0M0N段表示动态数据增长应用页面2014/4/1819段页式存储管理基本思想:用分段方法来分配和管理虚拟存储器,而用分页方法来分配和管理实存储器.
实现原理一个程序首先被分成若干程序段,每一段赋予不同的分段标识符,然后,对每一分段又分成若干个固定大小的页面.
地址结构:S+P+WS:段号;P:页;W:页内位移量2014/4/1820IntelPentium处理器《现代操作系统》P1362014/4/18212014/4/1822P:Present(sameas"valid"bitinotherarchitectures)W:WriteableU:UseraccessiblePWT:Pagewritetransparent:externalcachewrite-throughPCD:Pagecachedisabled(pagecannotbecached)A:Accessed:pagehasbeenaccessedrecentlyD:Dirty(PTEonly):pagehasbeenmodifiedrecentlyL:L=14MBpage(directoryonly).
Bottom20bitsofvirtualaddressserveasoffsetPageFrameNumber(PhysicalPageNumber)Free(OS)0LDAPCDPWTUWP01234567811-931-12IntelPTE(PageTableEntry)IntelPentium分页系统结构

HostKvm 黑色星期五香港服务器终身六折 其余机房八折

HostKvm商家我们也不用多介绍,这个服务商来自国内某商家,旗下也有多个品牌的,每次看到推送信息都是几个服务商品牌一起推送的。当然商家还是比较稳定的,商家品牌比较多,这也是国内商家一贯的做法,这样广撒网。这次看到黑五优惠活动发布了,针对其主打的香港云服务器提供终身6折的优惠,其余机房服务器依然是8折,另还有充值50美元赠送5美元的优惠活动,有需要的可以看看。HostKvm是一个创建于2013年的...

企鹅小屋6折年付240元起,美国CN2 GIA VPS促销,独享CPU,三网回程CN2 GIA

企鹅小屋怎么样?企鹅小屋最近针对自己的美国cn2 gia套餐推出了2个优惠码:月付7折和年付6折,独享CPU,100%性能,三网回程CN2 GIA网络,100Mbps峰值带宽,用完优惠码1G内存套餐是年付240元,线路方面三网回程CN2 GIA。如果新购IP不能正常使用,请在开通时间60分钟内工单VPS技术部门更换正常IP;特价主机不支持退款。点击进入:企鹅小屋官网地址企鹅小屋优惠码:年付6折优惠...

HostYun:联通AS9929线路,最低月付18元起,最高500Mbps带宽,洛杉矶机房

最近AS9929线路比较火,联通A网,对标电信CN2,HostYun也推出了走联通AS9929线路的VPS主机,基于KVM架构,开设在洛杉矶机房,采用SSD硬盘,分为入门和高带宽型,最高提供500Mbps带宽,可使用9折优惠码,最低每月仅18元起。这是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选。...

虚拟内存为你推荐
注册域名个人如何注册域名广东虚拟主机广东哪里可以购买教育网虚拟主机?免费云主机有永久的免费云主机么免费虚拟主机申请求免费可以申请的域名和虚拟主机虚拟主机管理系统虚拟主机管理系统那一家好?1g虚拟主机想买个1G虚拟主机,不限流量的,但不知道哪个建站网站靠谱,求推荐!虚拟主机服务商请问哪个服务商的虚拟主机比较好呀山东虚拟主机400电话哪家代理商办理得比较好论坛虚拟主机最适合做论坛的虚拟主机是什么?美国免费虚拟主机哪有便宜的美国虚拟主机?246数据美国虚拟主机一年才40元http://246idc.com/host/
com域名注册1元 vps代购 花生壳域名贝锐 过期域名抢注 私服服务器 海外服务器 512au 网站实时监控 宁波服务器 双线主机 徐正曦 域名接入 1g内存 百度云1t 太原网通测速平台 天翼云盘 移动服务器托管 英国伦敦 vul 湖南idc 更多