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

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

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

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





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值