进程 – 共享地址空间与复制页表条目
发布时间:2020-12-14 01:21:56 所属栏目:Linux 来源:网络整理
导读:在写入时复制(COW)之前,当它表示父进程和子进程共享相同的地址空间时,这意味着它们共享相同的代码段,数据段,堆和堆栈吗? 如果父进程和子进程在COW之前共享相同的地址空间,那么页表条目从父进程复制到子进程意味着什么? 重复页表条目是否意味着重复地址空间
>在写入时复制(COW)之前,当它表示父进程和子进程共享相同的地址空间时,这意味着它们共享相同的代码段,数据段,堆和堆栈吗?
>如果父进程和子进程在COW之前共享相同的地址空间,那么页表条目从父进程复制到子进程意味着什么? >重复页表条目是否意味着重复地址空间? 解决方法
假设您的进程具有var名称X,其具有虚拟地址100和物理地址200.
PTE持有从虚拟100到物理200的地址映射. 在fork之后,每个进程(父进程和子进程)将拥有他的私有PTE.此时,两个PTE都将虚拟100映射到物理200. 只要两个进程都从那里读取,它们都将从物理地址200读取. 当第一个将尝试在那里写入时,来自物理地址的数据将被复制到新的物理空间,比方说300,并且他的(并且只有他的)PTE将被更新,因此虚拟100将被映射到物理300.它对进程是透明的,因为他仍在使用相同的(虚拟)地址. *注意:这只是一个摘要,真正的事情发生在页面解析中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用TACACS(Cisco ACS)验证Linux sshd
- linux – 在Debian Squeeze上升级phpmyadmin(和其他软件包)
- linux – numa和taskset
- linux – 如何在目录中单独获取最新的文件名?
- 跟踪我花多少时间编程(在Linux中,特别是Emacs)
- 读《Linux命令行与shell脚本编程大全.第3版》
- linux – 操作系统内核是否是所有其他程序的插件?
- 解决linux下创建用户时出现 Creating mailbox file: 文件已
- linux – 什么是gssapi-with-mic?
- 使用ncurses在Linux中构建HelloWorld C程序