欢迎来到天天文库
浏览记录
ID:45656142
大小:336.00 KB
页数:23页
时间:2019-11-15
《AIX操作系统分页技术详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、AIX操作系统分页技术详解————————————————————————————————作者:————————————————————————————————日期:2AIX操作系统分页技术详解广州从兴电子开发有限公司编制:唐军23文档修改历史日期版本作者修改内容评审号变更控制号发布日期2012.11.10V0.1唐军23AIX分页技术详解AIX虚拟内存管理器(AIXVMM)是一种基于分页的虚拟内存管理器。一个分页就是一个固定大小的数据块。分页既可以位于内存中(也就是说,映射到物理内存中的某个位置)、也可以位于磁盘中(也就是说,从物理内存中替换到分页空间或者文件系统)。AIXVM
2、M有一个非常独特的方面,即缓存的文件数据的管理。AIXVMM将缓存的文件数据与对其它类型虚拟内存(例如,进程数据、进程堆栈等等)的管理集成到了一起。它将文件数据缓存为分页,就如同进程的虚拟内存一样。AIX根据需要将分页映射到实际内存。如果应用程序引用了某个分页,而该分页并没有映射到实际内存中,那么系统将产生一个缺页。为了解决缺页,AIX内核会将所引用的分页加载到实际内存中的某个位置。如果所引用的分页是一个新的分页(也就是说,位于先前从未引用过的进程数据堆中的分页),那么"加载"所引用的分页只需要用零来填充一个实际内存位置(也就是说,提供一个填满零的分页)。如果所引用的分页是一个预
3、先存在的分页(也就是说,文件中的某个分页、或者先前换出的某个分页),那么加载所引用的分页需要从磁盘(分页空间或者磁盘文件系统)中将该分页读入到实际内存中的某个位置。在将分页加载到实际内存中之后,它将被标记为未经修改的。如果某个进程或者内核修改了该分页,那么该分页的状态将更改为已修改的。这允许AIX跟踪在将某个分页加载到内存之后是否对其进行过修改。23随着系统将更多的分页添加到实际内存中,实际内存中空闲位置(可以包含分页)的数目将会减少。也可以将空闲位置的数目称为空闲分页框架的数目。当空闲分页框架的数目达到某个较低的值时,AIX内核就必须清空实际内存中的某些位置,以便重用新的分页。
4、这个过程也称为分页替换。AIXVMM提供了一些后台守护进程,专门负责进行分页替换。其中一个分页替换守护进程称为lrud(显示为ps-k的输出中的lrud)。lrud守护进程负责在内存分页中进行扫描,并回收某些分页以便为实际内存腾出空间。当分页替换守护进程确定它希望回收某个特定的分页时,这个分页替换守护进程将执行下面两项操作中的一项:·如果该分页经过了修改,那么分页替换守护进程将该分页写入到辅助存储位置(例如,分页空间或者文件系统磁盘)。将包含该分页的物理内存块标记为空闲,并为其它的分页做好重用的准备。·如果该分页没有经过修改,那么分页替换守护进程可以简单地将物理内存块标记为空闲,
5、这样一来,就可以将该物理内存块重用于另一个分页。在这种情况下,分页替换守护进程不需要将该分页写入到磁盘,因为该分页在内存中的版本并没有经过修改,因此与位于磁盘中(在分页空间中、或者在磁盘文件系统中)的分页副本完全相同。分页替换守护进程可以根据系统内存的使用情况和可调参数,选择不同类型的分页进行回收。本文剩下的部分将详细地介绍分页替换守护进程如何选择要进行回收的分页。分页类型从本质上看,AIX中一共有两种分页类型:·工作存储分页(Workingstoragepages)23·永久存储分页(Permanentstoragepages)工作存储工作存储分页是一些包含易变数据(换句话说,
6、即重新启动后将不复存在的数据)的分页。在其他的平台中,工作存储内存有时也称为匿名内存。下面提供了一些由工作存储分页组成的虚拟内存区域的示例:·进程数据·堆栈·共享内存·内核数据当需要将经过修改的工作存储分页替换出(从内存移动到磁盘)时,它们将被写入到分页空间。不会将工作存储分页写入到文件系统。当进程退出时,系统将释放其所有的私有工作存储分页。因此,当进程退出时,系统将释放进程数据和堆栈的工作存储分页。对于共享内存区域,直到删除共享内存区域之后,才会释放其工作存储分页。永久存储永久存储分页是一些包含永久数据(也就是说,重新启动后仍然存在的数据)的分页。这种永久数据就是文件数据。因此
7、,永久存储分页就是缓存在内存中的部分文件。23当经过修改的永久存储分页需要换出(从内存移动到磁盘)的时候,会将它写入到文件系统中。如前所述,可以直接释放没有经过修改的永久存储分页,无需将其写入到文件系统中,因为文件系统包含该数据的原始副本。例如,如果一个应用程序正在读取某个文件,那么该文件数据将缓存于永久存储分页的内存中。这些永久存储分页没有经过修改,这意味着并没有在内存中对这些分页进行修改。因此,内存中的永久存储分页与磁盘中的文件数据完全相同。当AIX需要清空内存的时候,它只需
此文档下载收益归作者所有