Posted by:
努力记 177 篇
努力记,通过记录,计划,让自己的努力可以触碰彩虹!
5,121
物理内存:
虚拟内存:
- 系统层面用硬件设备--硬盘空间来做内存
- 分配比系统现有物理内存更多的内存。是系统解决内存不足的技术手段。
虚拟内存分页:
- 通过将分配的虚拟内存按固定大小建立不同的分页,用于数据交换
虚拟内存导致的问题:
虚拟内存调用:
- 不同操作系统实现虚拟内存的方式不同
- Windows:即使物理内存没有用完也会去用到虚拟内存
- Linux:只有当物理内存用完的时候才会去动用虚拟内存(即swap分区)
虚拟内存实现:
- Windows:交换文件,为一个文件分配固定大小的硬盘空间,系统将该文件当成内存来零时存放数据
- Linux:交换文件,这点和Windows差不多;交换分区(swap),这点和linux的文件系统结构有关,对于物理硬盘通过切分不同的分区来进行文件访问。
- 磁盘碎片会影响速度,但以上2种方式所产生的磁盘碎片不会有本质的区别,目前实现上已经没有太多的区别。
虚拟内存操作:
- 页面调度:从磁盘向内存传输数据,以及相反的过程,大小和虚拟内存的分页(page)一致,一次只传输固定的大小(一页)目前常用的
- 页面调度算法:当可执行程序开始运行时,它的映象会一页一页地从磁盘中换入,与此类似,当某些内存在一段时间内空闲,就可以把它们换出到交换空间中,这样就可以把空闲的内存交给其他需要它的程序使用。
- 交换:把整个进程传输到磁盘上
back up ↑