内核区中,父进程和子进程的pid是不同的。

定义的局部变量pid在栈空间中,父子进程中栈空间中的pid不同,在父进程中为子进程的进程号,在子进程中为0

实际上,更准确来说,linux的fork()是通过写时拷贝(copy on write)实现的。

写时拷贝是一种可以推迟甚至避免拷贝数据的技术。

内核此时并不复制整个进程的地址空间,而是让父子进程共享同一个地址空间。

只用在需要写入时才会复制地址空间,从而使各个进程拥有各自的地址空间。

也就是说,资源的复制是在需要写入的时候才会进行,在此之前,只有以只读方式共享。

注意:fork之后父子进程共享文件。文件描述符指向相同的文件表,引用计数增加,共享文件偏移指针。


参考:牛客网 C++高薪求职项目《Linux高并发服务器开发》2.4父子进程虚拟地址空间情况

专属优惠链接:

https://www.nowcoder.com/courses/cover/live/504?coupon=AvTPnSG

2.4父子进程虚拟地址空间情况相关推荐

  1. 父子进程虚拟地址空间情况

    父子进程虚拟地址空间情况 笔记来源于牛客网<Linux多进程开发> The child process and the parent process run in separate mem ...

  2. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(二)】进程虚拟地址空间、装载与动态链接、GOT、全局符号表、共享库的组织、DLL、C++与动态链接

    文章目录 前言 介绍 可执行文件的装载与进程 进程虚拟地址空间 装载方式 操作系统对可执行文件的装载 进程虚存空间分布 ELF文件的链接视图和执行视图 堆和栈 Linux 内核装载ELF & ...

  3. 【Linux】进程虚拟地址空间

    进程虚拟地址空间打破了我一直以来对于程序地址空间的认识,它真的好神奇. 我们首先来看一下下面这段代码: 1 #include<stdio.h>2 #include<unistd.h& ...

  4. Linux进程虚拟地址空间

    1. 前言 谈到Linux进程虚拟地址空间,还要从程序说起.本文通过分析程序的编译执行过程,分享了Linux进程虚拟地址空间的结构.组织和创建,并通过分析Linux内核源代码,总结了进程.进程虚拟地址 ...

  5. Linux虚拟内存和进程虚拟地址空间简述

    后台开发经常会问此类问题,虽说难度不大,但是知道和不知道还是有区别的.以下的内容总结自<深入理解Linux内核>第一章,仅仅是简述,没有深入研究,毕竟内存管理这一块内容超级多,感兴趣的同学 ...

  6. 进程虚拟地址空间之数据分区存放【转】

    转自:http://blog.csdn.net/bullbat/article/details/7318269 作者:bullbat 在前面的<对一个程序在内存中的分析 >中很好的描述了程 ...

  7. Linux学习之系统编程篇:ps 和 kill 命令以及父子进程间数据共享模式

    一.ps 和 kill 命令 1.ps 命令 常用方式: ps aux :查看正在运行进程信息(主要查 pid). ps ajx :更加详细(PID. PPID:父进程 id. PGID:进程组 id ...

  8. linux和windows的进程的虚拟地址空间

    昨晚看到了深夜,终于对进程的虚拟地址空间有了个大致的了解,很激动,也很欣慰.回头想来,一个程序员,真的应该知道这些知识,否则还真不太称职. 首先告诉大家,我后面提到的这些知识在<windows核 ...

  9. 【Linux系统编程】进程地址空间和虚拟地址空间

    00. 目录 文章目录 00. 目录 01. 早期的内存分配机制 02. 分段 03. 分页 04. 地址比较 05. 附录 01. 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序 ...

最新文章

  1. 09-dispatch_source
  2. centos exfat格式U盘不支持问题
  3. Python 判断一个数是不是质数
  4. 设计模式读书笔记-----备忘录模式
  5. c语言jt808协议库,平台如何应答——关于JT/T808协议
  6. 2017.10.9 放棋子 思考记录
  7. 非法控制计算机信息系统罪的标准,非法获取计算机信息系统数据、非法控制计算机信息系统罪立案标准...
  8. php代理请求失败,http请求失败有哪些原因
  9. 平衡二叉树【学习笔记】
  10. 最近啃的有点多了,乱了
  11. linux mysql命令不存在_mysql命令、mysqldump命令找不到解决
  12. 史上最强的融资方案商业计划书
  13. 15b万用表怎么测电容_怎么判断启动电容好坏_启动电容怎么测量好坏_数字万用表测电容好坏...
  14. java获取身份证上的出生日期
  15. Eclipse Neno.3 + Jrebel 7.0.9 图文在线安装
  16. 缓存的穿透、击穿、雪崩分别是什么,有什么解决方法
  17. 【工具】- 在线画图
  18. 测试篇(三):测试用例的万能公式、对水杯和登录页面设计测试用例、测试用例的设计方法
  19. Access Points (单调栈)
  20. 吴秀波新片《情圣2》正式撤档 片方:来日再见

热门文章

  1. 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
  2. 自然语言处理--Keras 实现LSTM循环神经网络分类 IMDB 电影评论数据集
  3. Excel中的LEN和LENB,VBA中的Len和LenB
  4. 特斯拉Q2业绩不及预期 盘后股价下跌11%
  5. 《巴黎评论》启示录连载之一村上春树
  6. 宝塔软件商店安装不了php_宝塔安装php不显示
  7. macApp开发碰到的坑
  8. Android静态壁纸和动态壁纸的使用和理解
  9. VMware15.1安装苹果系统mac10.15.3(图解)
  10. python建筑案例_有哪些关于 Python 在建筑中的应用和教程?