分段虚拟内存

虚拟内存  时间: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分页系统结构

数脉科技8月促销,新客减400港币,BGP、CN2+BGP、阿里云线路低至350元

数脉科技(shuhost)8月促销:香港独立服务器,自营BGP、CN2+BGP、阿里云线路,新客立减400港币/月,老用户按照优惠码减免!香港服务器带宽可选10Mbps、30Mbps、50Mbps、100Mbps带宽,支持中文本Windows、Linux等系统。官方网站:https://www.shuhost.com* 更大带宽可在选购时选择同样享受优惠。* 目前仅提供HKBGP、阿里云产品,香港...

域名注册需要哪些条件(新手注册域名考虑的问题)

今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...

华纳云CN2高防1810M带宽独享,三网直cn218元/月,2M带宽;独服/高防6折购

华纳云怎么样?华纳云是香港老牌的IDC服务商,成立于2015年,主要提供中国香港/美国节点的服务器及网络安全产品、比如,香港服务器、香港云服务器、香港高防服务器、香港高防IP、美国云服务器、机柜出租以及云虚拟主机等。以极速 BGP 冗余网络、CN2 GIA 回国专线以及多年技能经验,帮助全球数十万家企业实现业务转型攀升。华纳云针对618返场活动,华纳云推出一系列热销产品活动,香港云服务器低至3折,...

虚拟内存为你推荐
虚拟主机服务器虚拟主机和站点服务器什么区别com域名空间那里有免费的com域名和空间申请啊!国内免费空间国内有没有好的免费空间啊国外主机空间可以购买国外主机(空间一样吗?)来做私服吗?免费网站空间有没有免费的网站空间推荐虚拟主机评测网请问这几个哪个虚拟主机好山东虚拟主机能否在虚拟机与主机之间建立局域网,让主机与虚拟机同时上网?虚拟主机试用30天虚拟主机返佣是怎么回事?安徽虚拟主机合肥金马网络科技有限公司怎么样?域名是什么什么是域名?域名是干什么用的?
美国网站空间 国外服务器租用 国外bt wdcp godaddy域名优惠码 dropbox网盘 服务器架设 骨干网络 空间出租 789电视网 阿里校园 爱奇艺vip免费试用7天 免费phpmysql空间 上海电信测速 东莞服务器托管 免费php空间 supercache 卡巴斯基官网下载 godaddyssl 9929 更多