分段虚拟内存

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

福州云服务器 1核 2G 2M 12元/月(买5个月) 萤光云

厦门靠谱云股份有限公司 双十一到了,站长我就给介绍一家折扣力度名列前茅的云厂商——萤光云。1H2G2M的高防50G云服务器,依照他们的规则叠加优惠,可以做到12元/月。更大配置和带宽的价格,也在一般云厂商中脱颖而出,性价比超高。官网:www.lightnode.cn叠加优惠:全区季付55折+满100-50各个配置价格表:地域配置双十一优惠价说明福州(带50G防御)/上海/北京1H2G2M12元/月...

腾讯云2核4GB内存8M带宽 年74元

一般大厂都是通过首年才有可以享受爆款活动,然后吸引我们注册他们商家达到持续续费和购买的目的。一般只有大厂才能有这样的魄力和能力首年亏本,但是对于一般的公司和个人厂家确实难过,这几年确实看到不少的同类商家难以生存。这里我们可以看到有对应的套餐方案。不过这两个套餐都是100%CPU独享的,不是有某云商家限制CPU的。但是轻量服务器有个不好的就是带宽是较大且流量是限制的额,分别是1GB和1.2TB月流量...

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

虚拟内存为你推荐
空间主机空间 , VPS 服务器, 云主机有什么区别?海外主机租用国外服务器租用有几十块钱一年的么网站域名注册有没有免费的域名申请com域名空间域名解析,我是一个新手站长,我买了一个空间跟一个COM域名,空间自带一个2级域名,我想把这个COM域名绑定到空间上,咋么办?急急急!求大神帮我,我创建一个游戏论坛,也查不到资料,可以给20元,我的手机13685455534,谢谢域名主机电脑域名是什么me域名.me域名和com的价值对比,懂的告诉我呀免费域名空间哪个免费空间的域名最好apache虚拟主机linux操作系统Apache配置虚拟主机美国免费虚拟主机哪有便宜的美国虚拟主机?246数据美国虚拟主机一年才40元http://246idc.com/host/域名解析什么是域名解析,为什么要域名解析
德国vps arvixe 42u机柜尺寸 线路工具 美国php空间 论坛空间 怎么测试下载速度 699美元 中国电信测网速 静态空间 带宽租赁 太原联通测速 移动王卡 塔式服务器 windows2008 magento主机 优惠服务器 卡巴斯基免费版下载 压力测试工具 电脑显示屏不亮但是主机已开机 更多