• 进程地址空间续篇-Linux


    01. 链接

    链接:进程地址空间首篇

    02. 为什么要有地址空间

    1.有效的保护物理内存

    • 凡是非法的访问或者映射,0S(操作系统)都会识别出来,并终止你的这个进程。
      在这里插入图片描述
    • 因为地址空间和页表是OS创建并维护的!!!
      • 肯定也就意味着凡是想使用地址空间和页表进行映射,必须在OS的监管下来进行访问。这不就是合法保护了物理内存。
        例如:

        char* ptr="hello word!!!";
        
        • 1

    实际上ptr被const修饰了,我们知道 ptr=‘H’; 一定会报错。这是程序(进程)的崩溃,就是程序的退出;也就是说OS杀掉了这个进程。

    2.可以更好的使用物理内存

    • 我们首先要知道的是因为有地址空间和页表映射的存在,我们的物理内存可以对未来数据任意加载。 但在页表眼里仍然是有序的(好比每本书都有书名,目录、页码一样)。
    • 因为地址空间和页表映射的存在,内存管理模块与进程管理模块就完成了解耦合。
      在这里插入图片描述

    也就是说做到了内存的分配就与进程管理没有关系。

    那么我们c与c++上的malloc与new本质上就是在虚拟地址空间上开辟
    的,不是在物理内存上开辟的。
    
    • 1
    • 2
    • 这个时候我们就有疑问,那么我们开辟了一块空间不马上使用会怎样??? 结果:没错会延时分配内存,来提高效率。

        例子:
        小明的零花钱有500块,下午突然对妈妈说我想买一个
        价值500块的玩具。但此时你二叔手头比较紧,需要借
        三百块,然后你妈妈借给你二叔三百块钱,并嘱咐你二叔	
        明早8点前一定要把钱还回来。这个时候不够500怎么办 		  
        哪。你妈妈就对你说,天色不早了,买回来你又并立即完
        要不这样吧,明天早上我们一起去买。你听了很有道理,
        就答应了。
        此时妈妈的许诺说明你一定有500块,而你二叔也早上把
        钱还回来了,再你不知情的时候,500块二次使用。
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

    — 文中的妈妈就是0S, 我和二叔就是进程,钱就是开辟的物理空间,而许诺就是虚拟的–不是实际的。

    • 这样的延时分配,效率几乎100%

    3.进程的独立性

    • 地址空间加页表的存在可以内存分布有序化,也就是说进程的独立性可以通过地址空间加页表的方式实现。答案是 是的!!!没错!!!

    03. 重新理解挂起。

    ·概念:

    挂起进程在 操作系统中可以定义为暂时被淘汰出 内存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态,系统在超过一定的时间没有任何动作。
    
    • 1
    • 我们知道地址空间存在的原因。加载的本质就是创建进程,那么我们并不一定非要把进程中的代码和数据全部加载到内存当中,并创建内核数据结构建立映射关系。
      • 当极端情况出现的时候就是我们可以分批加载到内存中。 那当这个程序换出长时间不使用就是堵塞状态;进程的数据和代码换入换出的过程就叫挂起。

    在这里插入图片描述

    .
    .
    .
    感觉有所收获的话,友友们给小丁一个赞👍

  • 相关阅读:
    swagger-03-文档注释使用
    为什么键盘上F和J这两个键有两个凸起的横线呢?
    【日常训练】207. 课程表
    elementUI循环动态生成表格内容
    【2024秋招】2023-9-14 最右后端开发线下一面
    Qt-OpenCV学习笔记--图像二值化--threshold()
    mysql面试题18:MySQL中为什么要用 B+树,为什么不用二叉树?
    Linux:LVS (DR群集搭建)
    【待更新】【Rockchip】瑞芯微/rockchip 开发环境搭建|编译|烧录 开发实例
    激光驱动电路中的充电边沿导致激光误点亮问题总结
  • 原文地址:https://blog.csdn.net/Dingyuan0/article/details/126860981