网站大量收购独家精品文档,联系QQ:2885784924

操作系统(存储管理)资料.ppt

  1. 1、本文档共184页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
slab分配器的改进之处 设置一组对象缓存,每个缓存保存一种对象类型; 每个缓存分为前端和后端两部分。前端与客户交互,后端与页面级分配器交互。 客户从缓存中获取构造好的对象,返回用完的对象;后端与页面级分配器交换页面。 通过把内核小对象组织成内核页面结构,使对象的基址分布均衡,从而提高和均衡高速缓存和总线的使用率。 内核页面结构分成:kmem_slab结构、对象集和不用空间; kmem_slab结构中记录本块内的使用对象计数、块内空闲对象的单向链表和同缓存块间的双向链; 对象集中记录对象和空闲对象链表指针; 不用空间的选择可用于控制对象基址的分布; 同一缓存中的所有内核页面块构成的双向slab链表中,所有对象都在使用的页面块排在前,部分对象在使用的页面块居中,空闲的页面块排在最后。 在分配对象时,最后使用完全空闲的页面块; 页面级分配器回收页面时,首先回收完全空闲的页面块; 6.8.2 Windows NT中的存储管理 NT使用的页面大小为4KB(212)。每个NT进程地址空间为4GB(232),其中: 用户存储区:在用户态和核心态都可访问的用户存储区为2GB;用户存储区为页交换区,可对换到外存;用户存储区的内容包括: 专用进程地址空间:用户代码、数据和堆栈; 线程环境块(TEB):用户态代码可修改的线程控制信息; 进程环境块(PEB):用户态代码可修改的进程控制信息; 共享用户数据页:系统存储区映像,为用户态可访问的系统空间,目的在于避免用户态与核心态的频繁切换;如:系统时间。 返回 1. 虚拟地址空间布局 系统存储区:在核心态可访问的系统存储区为2GB;按交换特征,系统存储区可分为: 固定页面区:永不被换出内存的页面;如:HAL特定的数据结构; 页交换区:非常驻内存的系统代码和数据;如:进程页表和页目录; 直接映射区:常驻内存且寻址由硬件直接变换的页面,访问速度最快;用于存放内核中频繁使用且要求快速响应的代码。 x86下Windows 2000的系统空间划分 Windows 2000的内存共享 写时复制 Windows2000的地址空间扩展 利用窗口映射(AWE, Address Windowing Extensions)方法可在一个进程中使用大于2GB或3GB的物理内存空间。使用步骤分成3步: 分配物理内存(可大于2GB); 在进程虚拟地址空间创建一个窗口区域(小于2GB); 把物理内存空间的一个区域映射到窗口区域,从而可访问在区域的内存; 2. 地址转换机构 NT使用2级页表结构转换虚拟地址,第一级称为页目录(每个进程一个页目录),第二级称为页表。每个页目录或页表有1024(210)个表项,每个表项为4字节。由于每个页面为4KB,每个进程的地址空间可为4GB(210*210*212)。 物理地址扩展(PAE, Physical Address Extension) 每个PDE和PTE表项都是8个字节,物理页面号为24Bit,可访问的物理地址空间可达64GB。 3. 页面状态 有效状态(active or valid):某进程正在使用该页面,也可能不属于任何进程(如不可对换的内核页面); 过渡状态(transition):页面处于不属于任何进程的过渡状态,用于避免页面冲突。如正在进行页面与I/O设备间的数据传送。清零状态(zeroed):空闲且已被清零; 修改状态(modified):已标记为无效,但对该页面内容的修改尚未写入外存,可快速回到有效状态; 不保存的修改状态(modified no-write):已标记不需要写入外存的修改状态。如,该状态可用于NTFS的事务交易日志状态的记录过程。 备用状态(standby):已标记为无效,但可快速回到有效状态; 空闲状态(free):空闲但尚未被清零; 坏页状态(bad):该页面产生硬件错,不能再用; Windows NT和Windows 2000的页面有8种状态。 4. 页面调度策略 取页策略:NT采用按进程需要进行的请求取页和按集群方法进行的提前取页。集群方法是指在发生缺页时,不仅装入所需的页,而且装入该页附近的一些页。 置页策略:在线性存储结构中,简单地把装入的页放在未分配的物理页面即可。 淘汰策略:采用局部FIFO置换算法。在本进程范围内进行局部置换,利用FIFO算法把驻留时间最长的页面淘汰出去。 页面调度策略包括取页策略、置页策略和淘汰策略。 5. 工作集策略 进程创建时,指定一个最小工作集(可用SetProcessWorkingSetSize函数指定); 当内存负荷不太大时,允许进程拥有尽可能多的页面; 系统通过自动调整保证内存中有一定的空闲页面存在; NT根据内存负荷和进程缺页情况自动调整工作集。 小结 引言:存储组织(层次),存储管理功能 重定位和装入(绝对

您可能关注的文档

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档