linux虚拟内存设置 linux的虚拟内存机制
linux的虚拟内存机制
一篇方法教程,与您分享linux的虚拟内存机制IT技巧方面的经验,关于linux虚拟内存设置 linux的虚拟内存机制,一起来了解了解吧。
Linux是一套免费使用和自由传播的类UNIX操作系统,是款独立的非常强大的系统,有着很多的爱好者,那么今天我们就一起来了解一下他那独特的虚拟内存机制吧。

linux的虚拟内存机制:
1、每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构。
Linux内存管理采用的是页式管理,使用的是多级页表,动态地址转换机构与主存、辅存共同实现虚拟内存一个新进程建立的时候,
将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,
都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存空间的分配情况,
哪些地址有数据,哪些地址无数据,哪些可读,哪些可写,都可以通过这个链表记录每个进程已经分配的内存空间,都与对应的磁盘空间映射。

2、每个程序都能看到一片完整连续的地址空间,这些空间并没有直接关联到物理内存,而是操作系统提供了内存的一种抽象概念,
使得每个进程都有一个连续完整的地址空间,在程序的运行过程,再完成虚拟地址到物理地址的转换。
我们同样知道,进程的地址空间是分段的,存在所谓的数据段,代码段,bbs段,堆,栈等等。每个段都有特定的作用。
同时计算机没有那么多的内存(n个进程就需要对应n*4G内存),建立一个进程,就要把磁盘上的程序文件拷贝到进程对应的内存中去,
对于有一个程序对应多个进程这种情况,浪费内存。

3、每个进程的4G内存空间只是虚拟内存空间,每次访问内存空间的某个地址,都需要把地址翻译为实际物理地址所有进程共享同一物理内存,
每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上进程要知道哪些内存地址上的数据在物理内存上,哪些不在,还有在物理内存上的哪里,
需要页表记录页表的每一个表项分为两部分,第一部分记录此页是否在物理内存上,第二部分记录物理内存的地址当进程访问某个虚拟地址,
去查看页表,如果对应的数据不在物理内存中,,则缺页异常缺页异常的处理过程,就是把进程需要的数据从磁盘拷贝到物理内存中,
如果内存已经满了 ,没有空地方,那就找一个页进行覆盖,当然如果被覆盖的页曾经被修改过,需要将此页写回磁盘。
相关阅读
-
ipad内存怎么扩充 ipad内存不够用如何扩充存储
小编为你讲解ipad内存不够用如何扩充存储的相关话题,关于ipad内存怎么扩充 ipad内存不够用如何扩充存储,一定能给您带来帮助的,一起来了解吧! ipad内存不够用如何扩充存储 方法概括:
-
print spooler内存不能为read print spooler将文件加载到内存供稍后打印
如果想知道print spooler内存不能为read的相关经验,关于print spooler内存不能为read print spooler将文件加载到内存供稍后打印,继续往下看吧! 最近有比较多的IT袋朋友在使用打印机的时候发现prin
-
hp打印机无法打印怎么办 惠普打印机无法打印解决办法
正文核心介绍:hp打印机无法打印怎么办和惠普打印机无法打印解决办法的相关话题,接下来小编为网友介绍。 打印机无法打印,并且提示打印机一个文档文件被挂起,打印没反应?将打印机
-
移动硬盘插上去显示不出来怎么办 分享移动硬盘坏了修复技巧
相对于大多数人移动硬盘插上去显示不出来怎么办和分享移动硬盘坏了修复技巧的电脑小知识,一定能解决您的问题的,一起来了解吧! 移动硬盘可以用作数据存储或者移动系统。当它发生故


