探讨父子进程的数据(全局数据,栈区数据(栈区数据),堆区数据,)、文件描述符是否共享。
全局数据:
测试代码如下:
编译链接结果:
因此全局变量数据父子进程不共享
栈区数据(局部变量):
代码测试:
测试结果如下:
因此父子进程不共享局部变量
堆区数据:
测试代码:
测试结果如下:
因此父子进程不共享堆区数据
文件描述符
代码测试:
测试结果:
由此可知父子进程的文件描述符是共享的
父子进程可以同时操作一个文件,这是因为子进程继承了父进程的PCB
探讨父子进程的数据(全局数据,栈区数据(栈区数据),堆区数据,)、文件描述符是否共享。
测试代码如下:
编译链接结果:
因此全局变量数据父子进程不共享
代码测试:
测试结果如下:
因此父子进程不共享局部变量
测试代码:
测试结果如下:
因此父子进程不共享堆区数据
代码测试:
测试结果:
由此可知父子进程的文件描述符是共享的
父子进程可以同时操作一个文件,这是因为子进程继承了父进程的PCB