Posted by:
努力记

努力记,通过记录,计划,让自己的努力可以触碰彩虹!

4,977

原理:物理内存与虚拟内存

  • 2013-05-28
  • 暂无评论

物理内存:

  • 实际的硬件设备--内存

虚拟内存:

  • 系统层面用硬件设备--硬盘空间来做内存
  • 分配比系统现有物理内存更多的内存。是系统解决内存不足的技术手段。

虚拟内存分页:

  • 通过将分配的虚拟内存按固定大小建立不同的分页,用于数据交换

虚拟内存导致的问题:

  • 读写硬盘的速度大大慢于读写物理内存的速度。

虚拟内存调用:

  • 不同操作系统实现虚拟内存的方式不同
  • Windows:即使物理内存没有用完也会去用到虚拟内存
  • Linux:只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)

虚拟内存实现:

  • Windows:交换文件,为一个文件分配固定大小的硬盘空间,系统将该文件当成内存来零时存放数据
  • Linux:交换文件,这点和Windows差不多;交换分区(swap),这点和linux的文件系统结构有关,对于物理硬盘通过切分不同的分区来进行文件访问。
  • 磁盘碎片会影响速度,但以上2种方式所产生的磁盘碎片不会有本质的区别,目前实现上已经没有太多的区别。

虚拟内存操作:

  • 页面调度:从磁盘向内存传输数据,以及相反的过程,大小和虚拟内存的分页(page)一致,一次只传输固定的大小(一页)目前常用的
  • 页面调度算法:当可执行程序开始运行时,它的映象会一页一页地从磁盘中换入,与此类似,当某些内存在一段时间内空闲,就可以把它们换出到交换空间中,这样就可以把空闲的内存交给其他需要它的程序使用。
  • 交换:把整个进程传输到磁盘上


back up ↑

无觅相关文章插件,快速提升流量