链接:进程地址空间首篇

肯定也就意味着凡是想使用地址空间和页表进行映射,必须在OS的监管下来进行访问。这不就是合法保护了物理内存。
例如:
char* ptr="hello word!!!";
实际上ptr被const修饰了,我们知道 ptr=‘H’; 一定会报错。这是程序(进程)的崩溃,就是程序的退出;也就是说OS杀掉了这个进程。

也就是说做到了内存的分配就与进程管理没有关系。
那么我们c与c++上的malloc与new本质上就是在虚拟地址空间上开辟
的,不是在物理内存上开辟的。
这个时候我们就有疑问,那么我们开辟了一块空间不马上使用会怎样??? 结果:没错会延时分配内存,来提高效率。
例子:
小明的零花钱有500块,下午突然对妈妈说我想买一个
价值500块的玩具。但此时你二叔手头比较紧,需要借
三百块,然后你妈妈借给你二叔三百块钱,并嘱咐你二叔
明早8点前一定要把钱还回来。这个时候不够500怎么办
哪。你妈妈就对你说,天色不早了,买回来你又并立即完
要不这样吧,明天早上我们一起去买。你听了很有道理,
就答应了。
此时妈妈的许诺说明你一定有500块,而你二叔也早上把
钱还回来了,再你不知情的时候,500块二次使用。
— 文中的妈妈就是0S, 我和二叔就是进程,钱就是开辟的物理空间,而许诺就是虚拟的–不是实际的。
·概念:
挂起进程在 操作系统中可以定义为暂时被淘汰出 内存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态,系统在超过一定的时间没有任何动作。

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