linux的虚拟内存机制_linux的虚拟内存机制详细介绍

时间:2023-04-18 02:09:51 

Linux是一套免费使用和自由传播的类UNIX操作系统,是款独立的非常强大的系统,有着很多的爱好者,那么今天我们就一起来了解一下他那独特的虚拟内存机制吧。

linux的虚拟内存机制_linux的虚拟内存机制详细介绍

【虚拟内存常见问题】

linux的虚拟内存机制:

1、每个进程都有自己独立的4G内存空间,各个进程的内存空间具有类似的结构。

Linux内存管理采用的是页式管理,使用的是多级页表,动态地址转换机构与主存、辅存共同实现虚拟内存一个新进程建立的时候,

将会建立起自己的内存空间,此进程的数据,代码等从磁盘拷贝到自己的进程空间,哪些数据在哪里,

都由进程控制表中的task_struct记录,task_struct中记录中一条链表,记录中内存空间的分配情况,

哪些地址有数据,哪些地址无数据,哪些可读,哪些可写,都可以通过这个链表记录每个进程已经分配的内存空间,都与对应的磁盘空间映射。

linux的虚拟内存机制_linux的虚拟内存机制详细介绍

2、每个程序都能看到一片完整连续的地址空间,这些空间并没有直接关联到物理内存,而是操作系统提供了内存的一种抽象概念,

使得每个进程都有一个连续完整的地址空间,在程序的运行过程,再完成虚拟地址到物理地址的转换。

我们同样知道,进程的地址空间是分段的,存在所谓的数据段,代码段,bbs段,堆,栈等等。每个段都有特定的作用。

同时计算机没有那么多的内存(n个进程就需要对应n*4G内存),建立一个进程,就要把磁盘上的程序文件拷贝到进程对应的内存中去,

对于有一个程序对应多个进程这种情况,浪费内存。

linux的虚拟内存机制_linux的虚拟内存机制详细介绍

3、每个进程的4G内存空间只是虚拟内存空间,每次访问内存空间的某个地址,都需要把地址翻译为实际物理地址所有进程共享同一物理内存,

每个进程只把自己目前需要的虚拟内存空间映射并存储到物理内存上进程要知道哪些内存地址上的数据在物理内存上,哪些不在,还有在物理内存上的哪里,

需要页表记录页表的每一个表项分为两部分,第一部分记录此页是否在物理内存上,第二部分记录物理内存的地址当进程访问某个虚拟地址,

去查看页表,如果对应的数据不在物理内存中,,则缺页异常缺页异常的处理过程,就是把进程需要的数据从磁盘拷贝到物理内存中,

如果内存已经满了 ,没有空地方,那就找一个页进行覆盖,当然如果被覆盖的页曾经被修改过,需要将此页写回磁盘。

linux的虚拟内存机制_linux的虚拟内存机制详细介绍

4、竟然每个进程的内存空间都是一致而且固定的,所以链接器在链接执行文件时,可以设定内存地址,而 不用去管这些数据最终实际的内存地址,

这是有独立内存 空间的好处当不同的进程使用同样的代码时,比如库文件中的代码,物理内存中可以只存储一份这样的代码,

不同的进程只需要把自己的虚拟内存映射过去就可以了,节省内存在程序需要分配连续的内存空间的时候,

只需要在虚拟内存空间分配连续空间,而不需要实际物理内存的连续空间,可以利用碎片。

linux的虚拟内存机制_linux的虚拟内存机制详细介绍

标签:linux的虚拟内存机制
0
投稿

猜你喜欢

  • Win11新版资源管理器很卡怎么办?改回Win10旧版轻松解决!

    2023-03-29 11:21:55
  • 如何在excel中进行分类汇总的方法

    2022-11-05 02:32:05
  • word2003文档如何给表格设置底纹

    2023-01-18 15:28:52
  • word文档怎么调整段落?

    2023-03-20 15:01:32
  • Win10 PC快速预览版17040更新推送(附更新、修复内容汇总)

    2022-11-16 04:26:12
  • xp系统文字输入法不可切换是什么情况该怎么解决

    2023-06-08 08:04:30
  • win10系统屏蔽机箱面板电源键关机功能的方法

    2023-12-13 21:10:45
  • win10系统开机提示mfc110u.dll丢失怎么办?

    2023-12-16 22:53:05
  • 360真发布了一棵“圣诞树”

    2022-09-28 19:14:11
  • win10系统定位服务打不开怎么办?win10定位服务打开的方法

    2023-07-17 07:34:50
  • 如何把Powerpoint 2010直接转PPT为视频文件详细图文步骤以及遇到音频问题的解决办法

    2022-12-13 14:26:35
  • 电脑立体声混音要不要开_电脑立体声混音设置方法

    2022-08-19 13:31:06
  • win10白天自动变黄关闭不了的解决方法

    2022-06-01 01:18:24
  • excel表格编辑批注的方法

    2022-07-29 21:06:59
  • 多闪app怎么注册?多闪app的注册方法

    2022-08-17 11:33:16
  • Win11连接WiFi但无internet怎么解决

    2022-06-29 07:36:20
  • excel序列选项如何自动填充单元格

    2022-10-02 17:25:52
  • MacOS big sur导入项目中的照片怎么批量删除?MacOS批量删除照片方法

    2022-04-07 11:20:56
  • Dreamweaver如何更改代码颜色

    2023-02-26 07:53:09
  • ventoy怎么制作启动u盘?

    2022-10-14 02:33:54
  • asp之家 电脑教程 m.aspxhome.com