Re: [问题] 如何取得系统总内存的位置

楼主: pizzafan (七情三想)   2014-11-02 18:30:47
已爬文
所以总结一下:
实体内存位置,还是由OS在分配控制,
而程式编译器只能算是ask或取得虚拟addr,但未必是连续的!
这样对吗?
那万一程式故意对内存request爆量,
OS也会自动做pagefile或什么的(也就是把硬盘当做快取内存来操),
这样对吗?
作者: jacky1989   2014-11-03 18:31:00
1.不一定连续 2.我试过,内存用量会达100%,然后会顿
作者: dirkc (3781615)   2014-11-03 22:22:00
不确定你说“连续”的意思;paging本来多数的OS都会做,是实现虚拟内存的方式,但new或malloc内部还先有一层管理,然后才到OS;另外我对"实体"两字老是想到MMU看到的physical位址
作者: LPH66 (-6.2598534e+18f)   2014-11-03 22:51:00
应该这么说: OS 负责把这些在实体上可能是零散的空间整理成虚拟位址空间中的“连续”位址至于这些实体空间到底是在内存的何处抑或是磁盘的何处都只要 OS 知道就好, 应用程式不需要处理这种细节new / malloc 则又是盖在虚拟位址空间上的内存管理

Links booklink

Contact Us: admin [ a t ] ucptt.com