- 程序存储在磁盘里,必须加载到内存中才能运行(磁盘的读取速度慢)
- 磁盘缓存:将磁盘中读出的数据存储到内存(提高访问速度)
- 虚拟内存(virtual memory):将磁盘的一部分作为假想的内存
- 为实现虚拟内存,需要将实际内存和磁盘中的虚拟内存的内容进行部分置换
Windows提供了虚拟内存机制作为操作系统,虚拟内存的方法有两种:
- 分页式:磁盘读出到内存(Page in),反之Page out(Windows采用的是分页式)
- 分段式
Windows在磁盘上提供了虚拟内存用的
页文件(Page file),该文件大小就是虚拟内存大小,通过Windows的控制面板,可以查看和改变当前虚拟内存的设定。
虚拟内存确实能避免因内存不足导致的应用无法启动,但往往伴随着低速的磁盘访问,应用程序的运行会变得迟钝,因此无法很好地解决内存不足的问题。
从根本上解决内存不足有两种方法:
1. 扩大内存
2. 减小运行的应用文件:
- 通过DLL文件实现函数共有。DLL在内存中只装载一次,可以节省有限的内存,而且可以同时为多个进程服务
- 通过调用_stdcall来减小程序文件的大小
扫描二维码关注公众号,回复:
918491 查看本文章