目录:
1. 进程程序替换的原理
2.将磁盘的数据和代码加载进物理内存
3.程序替换函数的基本使用
-----------------------------------------------------------------------------------------------------------------------------
1. 进程程序替换的原理
蓝色框内执行的是A进程的代码和数据,如果突然要执行B进程的代码和数据呢???
我们只要把蓝色框中的内容动都不动,可能需要把页表的部分映射关系改变一下,我们只要把新进程B的代码和数据替换A进程的物理内存当中,那么这样子我们A进程在执行代码和数据的时候,将不在执行老的代码和数据,而是执行新的代码和数据了。
这种进程不变,仅仅替换当前进程的代码和数据的技术,叫做,进程的程序替换!!!!
2.将磁盘的数据和代码加载进物理内存
execl接口 ---- 先简单调用一下,先看看程序替换的一些特征
程序替换的本质是不是就是把指定的程序代码+数据,加载进特定进程的上下文中!!!!
我们如果创建出子进程呢??
我们替换了子进程进行了程序替换可是我们的父进程为什么没有受影响呢???
原因是进程具有独立性,所以我们子进程在替换的时候,不会影响我们的父进程。
可是问题来了父子代码不是共享的嘛?????
共享的前提是父子代码都不发生修改,进程程序替换会更改我们代码区的代码,也要发生写实拷贝
----------------------------------------------------------------------------------------------------------------------------
替换失败了(将一个不存在的程序去替换,当然会失败了),执行了后续代码
3.程序替换函数的基本使用
-----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------
如何在Makefile中一次形成两个依赖文件
那么我们怎么形成两个呢???
既然我们的程序替换能把系统的程序运行起来,那么能不能把我自己的程序运行起来呢???
------------------------------------------------------------------------------------------------------------------------------