操作系统实验四存储管理.docx
- 文档编号:12563027
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:21
- 大小:84.48KB
操作系统实验四存储管理.docx
《操作系统实验四存储管理.docx》由会员分享,可在线阅读,更多相关《操作系统实验四存储管理.docx(21页珍藏版)》请在冰点文库上搜索。
操作系统实验四存储管理
师学院计算机系
实验报告
(2014—2015学年第二学期)
课程名称操作系统
实验名称实验四存储管理
专业计算机科学与技术(非师)
年级2012级
学号B2012102147姓名秋
指导教师远帆
实验日期2015-05-20
实验目的与要求:
(1)通过对Windows7“任务管理器”、“计算机管理”、“我的电脑”属性、“系统信息”、“系统监视器”等程序的应用,学习如察看和调整Windows的存性能,加深对操作系统存储管理、虚拟存储管理等理论知识的理解。
(2)了解Windows7的存结构和虚拟存的管理,理解进程的虚拟存空间和物理存的映射关系。
实验设备(环境):
(1)一台安装有CygwinTerminal的计算机
(2)Windows7操作系统
(3)VC++6.0
实验容:
(1)观察和调整Windows的存性能。
(2)了解和检测进程的虚拟存空间。
实验步骤、实验结果及分析:
(1)观察和调整Windows的存性能。
1:
阅读“背景知识”,请回答:
1)什么是“分页过程”?
分页过程就是将信息从主存移动到磁盘进行临时存储的过程。
2)什么是“存共享”?
允访问某些存空间而不危及它和其他应用程序的安全性和完整性。
3)什么是“未分页合并存”和“分页合并存”?
Windows2000中,未分页合并存的最大限制是多少?
未分页合并存:
分页合并存是存储迟早需要的可分页代码或数据的存部分。
分页合并存:
未分页合并存包含必须驻留在存中的占用代码或数据。
在Windows7中为分业合并存的最大限制是256MB。
1)Windows分页文件默认设置的最小容量和最大容量是多少?
存数量的1.5倍作为分页文件的最小容量,这个最小容量的两倍作为最大容量。
2:
登录进入WindowsProfessional。
3:
查看包含多个实例的应用程序的存需求。
1)启动想要监视的应用程序,例如Word。
2)右键单击任务栏以启动“任务管理器”。
3)在“Windows任务管理器”对话框中选定“进程”选项卡。
4)向下滚动在系统上运行的进程列表,查找想要监视的应用程序。
请在表4-3中记录:
表4-3实验记录
映像名称
PID
CPU
CPU时间
存使用
WINWORD.EXE
5160
00
0:
00:
10
22772k
图1word运行情况
“存使用”列显示了该应用程序的一个实例正在使用的存数量。
5)启动应用程序的另一个实例并观察它的存需求。
请描述使用第二个实例占用的存与使用第一个实例时的存对比情况:
第二个实例占用存22772K,比第一个实例占用的存大很多
4:
未分页合并存。
估算未分页合并存大小的最简单法是使用“任务管理器”。
未分页合并存的估计值显示在“任务管理器”的“性能”选项卡的“核心存”部分。
总数(K):
________220___________
分页数:
_____________________
未分页(K):
_________34__________
图2核心存
还可以使用“任务管理器”查看一个独立进程正在使用的未分页合并存数量和分页合并存数量。
操作步骤如下:
1)单击“Windows任务管理器”的“进程”选项卡,然后从“查看”菜单中选择“选择列”命令,显示“进程”选项卡的可查看选项。
2)在“选择列”对话框中,选定“页面缓冲池”选项和“非页面缓冲池”选项旁边的复选框,然后单击“确定”按钮。
返回Windows“任务管理器”的“进程”选项卡时,将看到其中增加显示了各个进程占用的分页合并存数量和未分页合并存数量。
仍以刚才打开观察的应用程序(例如Word)为例,请在表4-4中记录:
表4-4实验记录
映像名称
PID
存使用
页面缓冲池
非页面缓冲池
WINWORD.EXE
2964
37488
951
42
从性能的角度来看,未分页合并存越多,可以加载到这个空间的数据就越多。
拥有的物理存越多,未分页合并存就越多。
但未分页合并存被限制为256MB,因此添加超出这个限制的存对未分页合并存没有影响。
5:
提高分页性能。
在Windows2000的安装过程中,将使用连续的磁盘空间自动创建分页文件(pagefile.sys)。
用户可以事先监视变化的存需求并正确配置分页文件,使得当系统必须借助于分页时的性能达到最高。
虽然分页文件一般都放在系统分区的根目录下面,但这并不总是该文件的最佳位置。
要想从分页获得最佳性能,应该首先检查系统的磁盘子系统的配置,以了解它是否有多个物理硬盘驱动器。
1)在“开始”菜单中单击“设置”–“控制面板”命令,双击“管理工具”图标,再双击“计算机管理”图标。
2)在“计算机管理”窗口的左格选择“磁盘管理”管理单元来查看系统的磁盘配置。
如果系统只有一个硬盘,那么建议应该尽可能为系统配置额外的驱动器。
这是因为:
Windows2000最多可以支持在多个驱动器上分布的16个独立的分页文件。
为系统配置多个分页文件可以实现对不同磁盘I/O请求的并行处理,这将大大提高I/O请求的分页文件性能。
请在表4-5中记录:
表4-5实验记录
卷
布局
类型
文件系统
容量
状态
C
简单
基本
NTFS
30G
良好(系统)
D
简单
基本
NTFS
90G
良好
E
简单
基本
NTFS
90G
良好
F
简单
基本
NTFS
88G
良好
图3磁盘情况
6:
计算分页文件的大小。
要想更改分页文件的位置或大小配置参数,可按以下步骤进行:
1)右键单击桌面上的“我的电脑”图标并选定“属性”。
2)在“高级”选项卡上单击“性能选项”按钮。
3)单击对话框中的“虚拟存”区域中的“更改”按钮。
请记录:
所选驱动器的页面文件大小:
驱动器:
______________F_____________________
可用空间:
___________9825_____________________MB
初始大小(MB):
_____2048______________________
最大值(MB):
________4092_____________________
所有驱动器页面文件大小的总数:
允的最小值:
________16____________________MB
推荐:
____________4590________________________MB
当前已分配:
________2048______________________MB
4)要想将另一个分页文件添加到现有配置,在“虚拟存”对话框中选定一个还没有分页文件的驱动器,然后指定分页文件的初始值和最大值(以兆字节表示),单击“设置”,然后单击“确定”。
5)要想更改现有分页文件的最大值和最小值,可选定分页文件所在的驱动器。
然后指定分页文件的初始值和最大值,单击“设置”按钮,然后单击“确定”按钮。
6)在“性能选项”对话框中单击“确定”按钮。
7)单击“确定”按钮以关闭“系统特性”对话框。
7:
使用任务管理器。
可以使用“任务管理器”来简单地检查分页文件是否配置了正确容量。
这样可以实时提供系统正在使用分页文件的式以及其他重要系统信息的准确描述。
通过右键单击任务栏运行“任务管理器”,选定“性能”选项卡查看实时的系统统计数据。
与分页文件大小最有关的信息位于“认可用量”区域。
这一区域显示了认可“峰值”是否达到或超过了认可“限制”,以及它是否超过了系统上的物理存数量。
认可“峰值”是指系统迄今为止向进程分配的最大物理存和虚拟存数量。
请记录:
物理存(K)
总数:
________2022224_______________
可用数:
_______1249540______________
系统缓存:
______806992______________
认可用量(K)
总数:
_________930388_______________
限制:
________3960780_______________
峰值:
________1024464______________
当系统遇到分页活动增加的情况时,提交的存数量(“认可总数”)就会增加。
一旦它达到了“认可限制”值,系统就需要扩展分页文件。
“认可限制”值指出在不必扩展分页文件的情况下可以向存提交的虚拟存数量。
因为目标是避免扩展分页文件,所以必须保持“认可总数”和“认可限制”值相差较大。
如果这两个值接近了,那么系统必须动态增加分页文件的大小。
“任务管理器”的“认可用量”区域显示的信息还说明了系统的主存是否足以满足系统执行的任务。
如果认可“总数”值经常超过系统中的存数量,那么系统的物理存可能不足。
(2)了解和检测进程的虚拟存空间。
1:
创建一个“Win32ConsolApplication”工程,然后拷贝清单4-1中的程序,编译成可执行文件。
2:
在VC的工具栏单击“ExecuteProgram”(执行程序)按钮,或者按Ctrl+F5键,或者在“命令提示符”窗口运行步骤1中生成的可执行文件。
3:
根据运行结果,回答下列问题
虚拟存每页容量为:
_________4.00KB_______________________________
最小应用地址:
_____________0x00010000_____________________________
最大应用地址:
_____________0x7ffeffff___________________________
当前可供应用程序使用的存空间为:
_______1.99GB_________________
当前计算机的实际存大小为:
__________3GB_________________________
理论上每个Windows应用程序可以独占的最大存储空间是:
___3GB______
按committed、reserved、free等三种虚拟地址空间分别记录实验数据。
其中“描述”是指对该组数据的简单描述,例如,对下列一组数据:
00010000–00017<8.00KB>Committed,READWRITE,Private
可描述为:
具有READWRITE权限的已调配私有存区。
将系统当前的自由区(free)虚拟地址空间填入表4-6中。
表4-6实验记录
地址
大小
虚拟地址
空间类型
访问权限
描述
001340
48.0KB
free
NOACCESS
有任权限的已调配的共有存区
001410
60KB
free
NOACCESS
有任权限的已调配的共有存区
001b7000-001c0000
36KB
free
NOACCESS
没有任权限的已调配的共有存区
002880
32KB
f
ee
NOACCESS
没有任权限的已调配的共有存区
00391000-003a0000
60KB
free
NOACCESS
没有任权限的已调配的共有存区
003b1000-003c0000
60KB
free
NOACCESS
没有任权限的已调配的共有存区
003c1000-003d0000
60KB
free
NOACCESS
没有任权限的已调配的共有存区
003d1000-003e0000
60 KB
free
NOACCESS
没有任权限的已调配的共有存区
003e1000-003f0000
60 KB
free
NOACCESS
没有任权限的已调配的共有存区
003f10
60KB
free
NOACCESS
没有任权限的已调配的共有存区
004850
44KB
free
NOACCESS
没有任权限的已调配的共有存区
00491000-004a0000
60KB
free
NOACCESS
没有任权限的已调配的共有存区
004a7-004b0000
56KB
free
NOACCESS
没有任权限的已调配的共有存区
004b1000-004c000
60 KB
free
NOACCESS
没有任权限的已调配的共有存区
004c1000-004d0000
60 KB
free
NOACCESS
没有任权限的已调配的共有存区
004d7000-004e0000
36 KB
free
NOACCESS
没有任权限的已调配的共有存区
004e7-00570000
568 KB
f
ee
NOACCESS
没有任权限的已调配的共有存区
005900
768 KB
free
NOACCESS
没有任权限的已调配的共有存区
00185b0
1.72GB
free
NOACCESS
没有任权限的已调配的共有存区
700010
55.3MB
free
NOACCESS
没有任权限的已调配的共有存区
73845000-74f50000
23MB
free
NOACCESS
没有任权限的已调配的共有存区
74f59000-74f60000
28 KB
free
NOACCESS
没有任权限的已调配的共有存区
74f9d0
1.94MB
free
NOACCESS
没有任权限的已调配的共有存区
751db0
2.33MB
free
NOACCESS
没有任权限的已调配的共有存区
754870
36KB
free
NOACCESS
没有任权限的已调配的共有存区
将系统当前的已调配区(committed)虚拟地址空间填入表4-7中
表4-7实验记录
地址
大小
虚拟地址
空间类型
访问权限
描述
00010000-00070
64KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
000
64 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
0012d000-0012e000
4 KB
committed
GUARD,READWRITE
具有GUARD,READWRITE权限的已调配私有存区。
0012e0
8 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
001300
16KB
committed
READONLY
具有READONLY权限的已调配私有存区。
001400
4 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
00150000-001b7000
412 KB
committed
READONLY
具有READONLY权限的已调配私有存区。
001c0000-001c5000
20KB
committed
READONLY
具有READONLY权限的已调配私有存区。
002800
12 KB
committed
READONLY
具有READONLY权限的已调配私有存区。
002900
1MB
committed
READONLY
具有READONLY权限的已调配私有存区。
003a0000-003a1000
4 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
003b0000-003b1000
4 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
003c0000-003c1000
4KB
committed
EX-READWRITE
具有EX-READWRITE权限的已调配私有存区。
003d0000-003d1000
4 KB
committed
EX-READWRITE
具有READWRITE权限的已调配私有存区。
003e0000-003e1000
4 KB
committed
EX-READWRITE
具有EX-READWRITE权限的已调配私有存区。
003f0000-003f1000
4 KB
committed
EX-READWRITE
具有EX-READWRITE权限的已调配私有存区。
004000
4 KB
committed
RX-READWRITE
具有EX-READWRITE权限的已调配私有存区。
004010
444 KB
committed
EX-READ
具有EX-READ权限的已调配私有存区。
004700
32 KB
committed
READONLY
具有READONLY权限的已调配私有存区。
00478000-0047b000
12 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
0047b000-0047d000
8 KB
committed
WRITECOPY
具有WRITECOPY权限的已调配私有存区。
0047d0
16 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
004810
16 KB
committed
READONLY
具有READONLY权限的已调配私有存区。
00490000-004sf000
124 KB
committed
READWRITE
具有READWRITE权限的已调配私有存区。
00590000-00597
8KB
committed
READONLY
具有READONLY权限的已调配私有存区。
将系统当前的保留区(reserved)虚拟地址空间填入表4-8中。
表4-8实验记录
地址
大小
虚拟地址
空间类型
访问权限
描述
00030000-0012D000
0.98MB
reserved
READONLY
具有READONLY权限的
已调配私有存区
001C50
748KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
002830
20KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
004AF0
900KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
006070
36KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
00613000-00670
52KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
0069d0
844KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
007c60
11.6MB
reserved
READONLY
具有READONLY权限的
已调配私有存区
01370000-0146d000
0.98MB
reserved
READONLY
具有READONLY权限的
已调配私有存区
014f30
52KB
reserved
READONLY
具有READONLY权限的
已调配私有存区
实验结论:
简单描述windows进程的虚拟存管理案:
通过对文件的操作权限,有只读,读写,不允访问等等和不同的调度式实现对虚拟存的管理。
程序代码清单
程序4-1代码:
#include
#include
#include
#include
#pragmacomment(lib,"Shlwapi.lib")
inlineboolTestSet(DWORDdwTarget,DWORDdwMask)
{
return((dwTarget&dwMask)==dwMask);
}
#defineSHOWMASK(dwTarget,type)\
if(TestSet(dwTarget,PAGE_##type))\
{std:
:
cout<<","<<#type;}
voidShowProtection(DWORDdwTarget)
{
SHOWMASK(dwTarget,READONLY);
SHOWMASK(dwTarget,GUARD);
SHOWMASK(dwTarget,NOCACHE);
SHOWMASK(dwTarget,READWRITE);
SHOWMASK(dwTarget,WRITECOPY);
SHOWMASK(dwTarget,EXECUTE);
SHOWMASK(dwTarget,EXECUTE_READ);
SHOWMASK(dwTarget,EXECUTE_READWRITE);
SHOWMASK(dwTarget,EXECUTE_WRITECOPY);
SHOWMASK(dwTarget,NOACCESS);
}
voidWalkVM(HANDLEhProcess)
{
SYSTEM_INFOsi;
:
:
ZeroMemory(&si,sizeof(si));
:
:
GetSystemInfo(&si);
MEMORY_BASIC_INFORMATIONmbi;
:
:
ZeroMemory(&mbi,sizeof(mbi));
LPCVOIDpBlock=(LPVOID)si.lpMinimumApplicationAddress;
while(pBlock { if(: : VirtualQueryEx( hProcess, pBlock, &mbi, sizeof(mbi))==sizeof(mbi)) { LPCVOIDpEnd=(PBYTE)pBlock+mbi.RegionSize; TCHARszSize[MAX_PATH]; : : StrFormatByteSize(mbi.RegionSize,szSize,M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 实验 存储 管理
![提示](https://static.bingdoc.com/images/bang_tan.gif)