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