fork拷贝父进程的什么东西

本文深入探讨了Linux系统中fork机制的工作原理,特别是如何通过复制用户空间而非整个物理内存来实现进程创建,以及这对锁机制的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   

    之前一直不能理解fork拷贝的父进程内容是什么,直到前天晚上突然顿悟,有感而发,所有今天晚上花点时间来记录一下心得:

    相信大家之前都听说过linux分为用户空间跟内核空间,但是一直没有搞清楚一点,内核寻址可以达到所有的物理内存大小,所以内核能访问所有的物理内存。用户空间的物理起始地址从指定地址开始,所以用户空间的访问不到内核部分的地址,这也是为了操作系统安全。操作系统为了避免程序使用内存的麻烦,弄出了一个虚拟地址,程序中访问的都是虚拟地址。例如32位机子每个程序能访问4G的内存,但是其中有1G是所有程序通用的,这部分就是内核所在的空间。

  接下来就是主题,所以fork在拷贝的时候只需要拷贝,用户空间3G的大小,即可。因为锁是实现在用户空间,所以也会一并拷贝,这就要注意fork的时候,程序中要注意锁的使用。

  这是目前对linux的最新理解,可能不是很正确欢迎大家积极指点,交流学习。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值