C内存映射

div*_*kar 3 c memory memory-management virtual-address-space

我知道有两种类型的地址.虚拟和物理.打印整数变量的地址将打印其虚拟地址.是否有一个函数可以帮助打印该变量的物理内存?

虚拟内存是指硬盘上被OS视为RAM的部分吗?

unw*_*ind 7

不,没有这种(便携式)功能.在实现内存保护的现代操作系统中,用户空间(与内核空间相对,即操作系统的某些部分)无法直接访问物理地址,这是根本不允许的.所以没有什么意义.

不,虚拟内存不需要涉及硬盘,即"交换"或"分页".一旦拥有了虚拟内存,就可以实现它,因为它为操作系统提供了干预和管理哪些页面保存在物理内存中的机会,从而可以将内存"分页"到其他存储介质.

要深入了解Linux内核如何管理内存,这篇博文非常精彩.