分段虚拟内存

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

月神科技:香港CN2/洛杉矶CN2/华中电信高防vps,月付20元起

月神科技怎么样?月神科技是由江西月神科技有限公司运营的一家自营云产品的IDC服务商,提供香港安畅、香港沙田、美国CERA、华中电信等机房资源,月神科技有自己的用户群和拥有创宇认证,并且也有电商企业将业务架设在月神科技的平台上。目前,香港CN2云服务器、洛杉矶CN2云主机、华中电信高防vps,月付20元起。点击进入:月神科技官方网站地址月神科技vps优惠信息:香港安畅CN2-GIA低至20元核心:2...

ProfitServer$34.56/年,5折限时促销/可选西班牙vps、荷兰vps、德国vps/不限制流量/支持自定义ISO

ProfitServer怎么样?ProfitServer好不好。ProfitServer是一家成立于2003的主机商家,是ITC控股的一个部门,主要经营的产品域名、SSL证书、虚拟主机、VPS和独立服务器,机房有俄罗斯、新加坡、荷兰、美国、保加利亚,VPS采用的是KVM虚拟架构,硬盘采用纯SSD,而且最大的优势是不限制流量,大公司运营,机器比较稳定,数据中心众多。此次ProfitServer正在对...

火数云-618限时活动,国内云服务器大连3折,限量50台,九江7折 限量30台!

官方网站:点击访问火数云活动官网活动方案:CPU内存硬盘带宽流量架构IP机房价格购买地址4核4G50G 高效云盘20Mbps独享不限openstack1个九江287元/月立即抢购4核8G50G 高效云盘20Mbps独享不限openstack1个九江329元/月立即抢购2核2G50G 高效云盘5Mbps独享不限openstack1个大连15.9元/月立即抢购2核4G50G 高效云盘5Mbps独享不限...

虚拟内存为你推荐
me域名注册什么是ME域名,为什么注册ME域名免费国内空间中国有什么免费的空间jsp虚拟空间自己组建jsp虚拟主机运营,技术方面有哪些要求?国内最好的虚拟主机国内虚拟主机哪家的好?成都虚拟主机个人申请网址如何申请。华众虚拟主机管理系统星外,华众,依然这三个虚拟主机管理系统中哪个好域名网站域名和网址一样吗?中文域名英文域名和中文域名是什么意思?域名网谁能帮我推荐一些较好的免费域名的申请网站。。。谢谢了啊。。。百度域名百度的网址是什么?
fc2新域名 z.com themeforest 香港托管 php主机 42u标准机柜尺寸 godaddy优惠券 淘宝双十一2018 qq数据库 京东商城双十一活动 最好的免费空间 亚马逊香港官网 卡巴斯基是免费的吗 彩虹云 空间首页登陆 重庆电信服务器托管 电信宽带测速软件 godaddy空间 腾讯数据库 乐视会员免费领取 更多