5.内存和磁盘的亲密关系

  • 程序存储在磁盘里,必须加载到内存中才能运行(磁盘的读取速度慢)
  • 磁盘缓存:将磁盘中读出的数据存储到内存(提高访问速度)

  • 虚拟内存(virtual memory):将磁盘的一部分作为假想的内存
  • 为实现虚拟内存,需要将实际内存和磁盘中的虚拟内存的内容进行部分置换
Windows提供了虚拟内存机制作为操作系统,虚拟内存的方法有两种:
  • 分页式:磁盘读出到内存(Page in),反之Page out(Windows采用的是分页式)
  • 分段式
    Windows在磁盘上提供了虚拟内存用的 页文件(Page file),该文件大小就是虚拟内存大小,通过Windows的控制面板,可以查看和改变当前虚拟内存的设定。
    虚拟内存确实能避免因内存不足导致的应用无法启动,但往往伴随着低速的磁盘访问,应用程序的运行会变得迟钝,因此无法很好地解决内存不足的问题。

    从根本上解决内存不足有两种方法:
1. 扩大内存
2. 减小运行的应用文件:
  •  通过DLL文件实现函数共有。DLL在内存中只装载一次,可以节省有限的内存,而且可以同时为多个进程服务
  • 通过调用_stdcall来减小程序文件的大小




扫描二维码关注公众号,回复: 918491 查看本文章

猜你喜欢

转载自blog.csdn.net/rakish_wind/article/details/80014320