2.4父子进程虚拟地址空间情况
内核区中,父进程和子进程的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父子进程虚拟地址空间情况相关推荐
- 父子进程虚拟地址空间情况
父子进程虚拟地址空间情况 笔记来源于牛客网<Linux多进程开发> The child process and the parent process run in separate mem ...
- 【读书笔记】【程序员的自我修养 -- 链接、装载与库(二)】进程虚拟地址空间、装载与动态链接、GOT、全局符号表、共享库的组织、DLL、C++与动态链接
文章目录 前言 介绍 可执行文件的装载与进程 进程虚拟地址空间 装载方式 操作系统对可执行文件的装载 进程虚存空间分布 ELF文件的链接视图和执行视图 堆和栈 Linux 内核装载ELF & ...
- 【Linux】进程虚拟地址空间
进程虚拟地址空间打破了我一直以来对于程序地址空间的认识,它真的好神奇. 我们首先来看一下下面这段代码: 1 #include<stdio.h>2 #include<unistd.h& ...
- Linux进程虚拟地址空间
1. 前言 谈到Linux进程虚拟地址空间,还要从程序说起.本文通过分析程序的编译执行过程,分享了Linux进程虚拟地址空间的结构.组织和创建,并通过分析Linux内核源代码,总结了进程.进程虚拟地址 ...
- Linux虚拟内存和进程虚拟地址空间简述
后台开发经常会问此类问题,虽说难度不大,但是知道和不知道还是有区别的.以下的内容总结自<深入理解Linux内核>第一章,仅仅是简述,没有深入研究,毕竟内存管理这一块内容超级多,感兴趣的同学 ...
- 进程虚拟地址空间之数据分区存放【转】
转自:http://blog.csdn.net/bullbat/article/details/7318269 作者:bullbat 在前面的<对一个程序在内存中的分析 >中很好的描述了程 ...
- Linux学习之系统编程篇:ps 和 kill 命令以及父子进程间数据共享模式
一.ps 和 kill 命令 1.ps 命令 常用方式: ps aux :查看正在运行进程信息(主要查 pid). ps ajx :更加详细(PID. PPID:父进程 id. PGID:进程组 id ...
- linux和windows的进程的虚拟地址空间
昨晚看到了深夜,终于对进程的虚拟地址空间有了个大致的了解,很激动,也很欣慰.回头想来,一个程序员,真的应该知道这些知识,否则还真不太称职. 首先告诉大家,我后面提到的这些知识在<windows核 ...
- 【Linux系统编程】进程地址空间和虚拟地址空间
00. 目录 文章目录 00. 目录 01. 早期的内存分配机制 02. 分段 03. 分页 04. 地址比较 05. 附录 01. 早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序 ...
最新文章
- 09-dispatch_source
- centos exfat格式U盘不支持问题
- Python 判断一个数是不是质数
- 设计模式读书笔记-----备忘录模式
- c语言jt808协议库,平台如何应答——关于JT/T808协议
- 2017.10.9 放棋子 思考记录
- 非法控制计算机信息系统罪的标准,非法获取计算机信息系统数据、非法控制计算机信息系统罪立案标准...
- php代理请求失败,http请求失败有哪些原因
- 平衡二叉树【学习笔记】
- 最近啃的有点多了,乱了
- linux mysql命令不存在_mysql命令、mysqldump命令找不到解决
- 史上最强的融资方案商业计划书
- 15b万用表怎么测电容_怎么判断启动电容好坏_启动电容怎么测量好坏_数字万用表测电容好坏...
- java获取身份证上的出生日期
- Eclipse Neno.3 + Jrebel 7.0.9 图文在线安装
- 缓存的穿透、击穿、雪崩分别是什么,有什么解决方法
- 【工具】- 在线画图
- 测试篇(三):测试用例的万能公式、对水杯和登录页面设计测试用例、测试用例的设计方法
- Access Points (单调栈)
- 吴秀波新片《情圣2》正式撤档 片方:来日再见
热门文章
- 17. 如何通过 SAP ABAP OData $expand 操作在同一个 HTTP 请求中返回多个节点的数据
- 自然语言处理--Keras 实现LSTM循环神经网络分类 IMDB 电影评论数据集
- Excel中的LEN和LENB,VBA中的Len和LenB
- 特斯拉Q2业绩不及预期 盘后股价下跌11%
- 《巴黎评论》启示录连载之一村上春树
- 宝塔软件商店安装不了php_宝塔安装php不显示
- macApp开发碰到的坑
- Android静态壁纸和动态壁纸的使用和理解
- VMware15.1安装苹果系统mac10.15.3(图解)
- python建筑案例_有哪些关于 Python 在建筑中的应用和教程?