软件开发技术基础 第2版 教学课件 作者 赵英良 第3章 操作系统及相关程序设计2_内存管理.pptVIP

软件开发技术基础 第2版 教学课件 作者 赵英良 第3章 操作系统及相关程序设计2_内存管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * 自己的过程函数2 int Factorial(int n) //计算n的阶乘 { int Fact=1; int i; for(i=1;i=n;i++) { Fact=Fact*i; } return Fact; } * *.def模块定义文件 LIBRARY dll_lib ;CODE PRELOAD MOVEABLE DISCARDABLE ;DATA PRELOAD MOVEABLE SINGLE EXPORTS ;The names of the DLL functions Summary ;函数名 Factorial ;函数名 * (3) Build菜单生成DLL (4)创建Win32 Console Application应用程序 (5)将(3)中生成的动态链接库*.DLL复制到新工程的debug文件夹中 * (6)编辑新工程cpp程序文件 #includeiostream.h #include stdafx.h //定义连接库中函数返回类型的指针,函数指针 typedef int (*SUMMARY)(int); * void main(void) { SUMMARY Sum; // HINSTANCE ghMathsDLL=NULL; //动态链接库句柄 //加载动态链接库 ghMathsDLL=LoadLibrary(dll_lib.DLL); //取动态链接库的函数指针, //Summary为*.def中的函数名,也是链接库函数名 //Sum是函数指针, Sum=(SUMMARY)GetProcAddress(ghMathsDLL,Summary); //Sum取得Summary的函数指针后,就象是函数Summary int a=9; //通过函数指针Sum使用链接库中的函数Summary a=Sum(105); coutaendl; } * 使用DLL注意的问题 (1)使用MFC(project|settings) (2)使用#include stdafx.h“ * 使用#include stdafx.h“ Thank You ! * * * * * * * MEM_RESERVE 保留 MEM_COMMIT 提交 * * * * * * * * * * * * * * * * * 西安交通大学计算机教学实验中心 普通高等教育“十一五”国家级规划教材 “十二五”普通高等教育本科国家级规划教材 赵英良等.软件开发技术基础(第2版). 机械工业出版社 第3章 操作系统及程序设计 ——存储管理应用程序设计 西安交通大学 计算机教学实验中心 软件开发技术基础 * 3.3 存储管理应用程序设计 本节内容 内存管理的相关概念 Windows XP的内存管理 虚拟存储管理程序设计 动态链接库的应用 * 3.3.1 存储存管理 存储器storage, memmory 能接收数据和保存数据、而且能根据命令提供这些数据的装置。 内存储器(简称内存、主存、物理存储器) 外存储器(简称外存、辅助存储器) 操作系统的存储管理主要是对内存进行管理,以使多道程序能够合理地使用内存资源而不引起冲突 1.存储管理的主要任务 内存空间的分配与释放 内存空间的地址变换 内存空间的分区保护 内存空间的扩充 * 2.存储管理的主要方法 单一连续存储管理 分区式存储管理 页式存储管理 段式存储管理 虚拟存储管理 * 虚拟存储管理 虚拟存储管理解决程序的大小大于当前空闲的内存时的运行问题 思想是程序运行之前,不是将它的全部信息一次性装入内存,而是只将一部分先装入内存,另一部分暂时留在外存。 进程在运行过程中,如果要访问的信息不在内存时,进行中断请求,并由操作系统将它们调入内存,以保证进程的正常执行。 * * 3.地址映射 (1)物理地址 (2)物理地址空间 (3)程序地址 (4)程序地址空间(逻辑地址空间、虚地址空间) (5)地址映射 (6)地址映射方式 ①编程或编译时确定地址映射关系 ②静态地址映射 ③动态地址映射 * 4.内存的扩充 内外存数据传输的控制 把即将执行的程序和数据调入内存,而把那些处于等待的程序和数据调出内存。 基本的控制办法: 覆盖 交换 * 3.3.2 Windows XP的存储管理 Windows XP的主存管理采用请求调页簇式的页式虚存管理。 32位的Windows XP上的虚拟地址空间最多可达4GB,每个用户进程可以占有2GB的私有地址空间,操作系统占有剩下的2GB空间。

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档