當前位置:
首頁 >
fork函数与execve函数
發(fā)布時間:2023/12/14
36
豆豆
生活随笔
收集整理的這篇文章主要介紹了
fork函数与execve函数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
fork函數(shù)可以創(chuàng)建一個帶有自己獨立虛擬地址空間的新進程。
當fork函數(shù)被當前進程調用的時候,內核為新進程創(chuàng)建各種數(shù)據(jù)結構,并且分配它一個唯一的PID。為了給這個新進程創(chuàng)建虛擬內存。它創(chuàng)建了當前進程的mm_struct,區(qū)域結構和頁表的原樣副本。它將兩個進程的每個頁面都標記成只讀,并且將兩個進程中的每個區(qū)域接哦古都標記成私有的寫時復制。
當fork在新進程返回的時候,新進程現(xiàn)在的虛擬內存剛好和調用的fork時存在的虛擬內存相同。當這兩個進程中的任意一個后來進行寫操作,寫時復制機制就會創(chuàng)建新的頁面,因此,也就為每個進程保持了私有地址空間的抽象概念。
execve函數(shù)在虛擬內存和內存映射中將程序加載到內存的過程中扮演了關鍵的角色。
假設當前運行的程序執(zhí)行了execve調用,就會執(zhí)行刪除已存在的用戶區(qū)域,映射私有區(qū)域,映射共享區(qū)域,設置程序計數(shù)器。
總結
以上是生活随笔為你收集整理的fork函数与execve函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 考勤打卡记录数据库表结构_考勤系统数据表
- 下一篇: 世界上最难的数独题