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分页系统结构
关于HostDare服务商在之前的文章中有介绍过几次,算是比较老牌的服务商,但是商家背景财力不是特别雄厚,算是比较小众的个人服务商。目前主流提供CKVM和QKVM套餐。前者是电信CN2 GIA,不过库存储备也不是很足,这不九月份发布新的补货库存活动,有提供九折优惠CN2 GIA,以及六五折优惠QKVM普通线路方案。这次活动截止到9月30日,不清楚商家这次库存补货多少。比如 QKVM基础的五个方案都...
ZJI怎么样?ZJI是一家成立于2011年的商家,原名维翔主机,主要从事独立服务器产品销售,目前主打中国香港、日本、美国独立服务器产品,是一个稳定、靠谱的老牌商家。详情如下:月付/年付优惠码:zji??下物理服务器/VDS/虚拟主机空间订单八折终身优惠(长期有效)一、ZJI官网点击直达香港葵湾特惠B型 CPU:E5-2650L核心:6核12线程内存:16GB硬盘:480GB SSD带宽:5Mbps...
博鳌云是一家以海外互联网基础业务为主的高新技术企业,运营全球高品质数据中心业务。自2008年开始为用户提供服务,距今11年,在国人商家中来说非常老牌。致力于为中国用户提供域名注册(国外接口)、免费虚拟主机、香港虚拟主机、VPS云主机和香港、台湾、马来西亚等地服务器租用服务,各类网络应用解決方案等领域的专业网络数据服务。商家支持支付宝、微信、银行转账等付款方式。目前香港有一款特价独立服务器正在促销,...
虚拟内存为你推荐
免费com域名注册哪个网站注册COM域名不要钱?外国虚拟主机为什么淘宝上的 外国的虚拟主机 这么便宜?vps主机什么是vps主机中文域名注册查询中文域名注册怎么查询网站空间租用公司网站租用什么样的网站空间合适什么是虚拟主机虚拟主机是什么?大连虚拟主机大连建网站哪里好?天津虚拟主机天津有代理店掌柜的公司吗?在哪?北京虚拟主机北京的虚拟主机提供商哪个经济实惠?河南虚拟主机新乡在哪个网站买虚拟主机好?
网站空间价格 godaddy域名解析教程 duniu fdcservers 12u机柜尺寸 lamp配置 空间服务商 丹弗 腾讯云分析 web服务器的架设 免费吧 服务器托管什么意思 最好的qq空间 双线机房 google台湾 lamp什么意思 大化网 睿云 服务器托管价格 windowsserver2012r2 更多