操作系统 实验四 存储管理 - 图文(2)

2020-04-14 18:27

“任务管理器”的“认可用量”区域显示的信息还说明了系统的主内存是否足以满足系统执行的任务。如果认可“总数”值经常超过系统中的内存数量,那么系统的物理内存可能不足。 (2)了解和检测进程的虚拟内存空间。 1:创建一个“Win32 Consol Application”工程,然后拷贝清单4-1中的程序,编译成可执行文件。 2:在VC的工具栏单击“Execute Program”(执行程序) 按钮,或者按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 实验记录 虚拟地址 空间类型 free free free fee free free free free 地址 大小 访问权限 描述 00134000-00140000 00141000-00150000 001b7000-001c0000 00288000-00290000 00391000-003a0000 003b1000-003c0000 003c1000-003d0000 003d1000-003e0000 48.0KB 60 KB 36 KB 32 KB 60 KB 60 KB 60 KB 60 KB NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS 有任何权限的已调配的共有内存区 有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 003e1000-003f0000 003f1000-00400000 00485000-00490000 00491000-004a0000 004a7-004b0000 60 KB 60 KB 44 KB 60 KB 56 KB free free free free free free free free fee free free free free free free free free NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS NOACCESS 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 没有任何权限的已调配的共有内存区 004b1000-004c000 60 KB 004c1000-004d0000 004d7000-004e0000 004e7-00570000 00590000-00650000 00185b000-70000000 70001000-73750000 73845000-74f50000 74f59000-74f60000 74f9d000-75190000 751db000-75430000 75487000-75490000 60 KB 36 KB 568 KB 768 KB 1.72GB 55.3MB 23MB 28 KB 1.94MB 2.33MB 36 KB 将系统当前的已调配区 (committed) 虚拟地址空间填入表4-7中 表4-7 实验记录 地址 大小 虚拟地访问权限 描述 址 空间类型 00010000-00070 00070-00030000 0012d000-0012e000 0012e000-00130000 00130000-00134000 00140000-00141000 00150000-001b7000 001c0000-001c5000 00280000-00283000 00290000-00391000 003a0000-003a1000 003b0000-003b1000 003c0000-003c1000 003d0000-003d1000 003e0000-003e1000 003f0000-003f1000 00400000-00401000 64KB 64 KB committed committed committed committed committed committed committed committed committed committed committed committed committed committed committed committed committed READWRITE READWRITE GUARD,READWRITE READWRITE READONLY READWRITE READONLY READONLY READONLY READONLY READWRITE READWRITE EX-READWRITE EX-READWRITE EX-READWRITE EX-READWRITE RX-READWRITE 具有READWRITE权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有GUARD,READWRITE权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有EX-READWRITE权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有EX-READWRITE权限的已调配私有内存区。 具有EX-READWRITE权限的已调配私有内存区。 具有EX-READWRITE权限的已调配私有内存区。 4 KB 8 KB 16 KB 4 KB 412 KB 20 KB 12 KB 1MB 4 KB 4 KB 4 KB 4 KB 4 KB 4 KB 4 KB 00401000-00470000 00470000-00478000 00478000-0047b000 0047b000-0047d000 0047d000-00481000 00481000-00485000 00490000-004sf000 00590000-00597 444 KB 32 KB 12 KB 8 KB 16 KB 16 KB 124 KB 8 KB committed committed committed committed committed committed committed committed EX-READ READONLY READWRITE WRITECOPY READWRITE READONLY READWRITE READONLY 具有EX-READ权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有WRITECOPY权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 具有READWRITE权限的已调配私有内存区。 具有READONLY权限的已调配私有内存区。 将系统当前的保留区 (reserved) 虚拟地址空间填入表4-8中。 表4-8 实验记录 虚拟地址 空间类型 地址 大小 访问权限 描述 00030000-0012D000 001C5000-00280000 00283000-00288000 004AF000-00590000 00607000-00610000 00613000-00670 0069d000-00770000 007c6000-01370000.98MB 748KB 20KB 900KB 36KB 52KB 844KB 11.6MB reserved READONLY reserved READONLY reserved READONLY reserved READONLY reserved READONLY reserved READONLY reserved READONLY 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 reserved READONLY 具有READONLY权限的 0 01370000-0146d000 014f3000-01500000 0.98MB 52KB reserved READONLY reserved READONLY 已调配私有内存区 具有READONLY权限的 已调配私有内存区 具有READONLY权限的 已调配私有内存区 实验结论: 简单描述windows进程的虚拟内存管理方案: 通过对文件的操作权限,有只读,读写,不允许访问等等和不同的调度方式实现对虚拟内存的管理。 程序代码清单 程序4-1代码: #include #include #include #include #pragma comment(lib, \ inline bool TestSet(DWORD dwTarget, DWORD dwMask) { return ((dwTarget &dwMask) == dwMask) ; } # define SHOWMASK(dwTarget, type) \\ if (TestSet(dwTarget, PAGE_##type) ) \\ {std :: cout << \void ShowProtection(DWORD dwTarget) { 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) ; }


操作系统 实验四 存储管理 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:冲压类外文翻译、中英文翻译冲压模具设计 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: