mooc课程精选,成品人片观看入口众乐乐,久久久久人妻一区精品性色av,苍兰诀大结局是什么,白丝美女被狂躁免费视频网站


Linux下進程的創建、執行和終止

分享到:
           

    1)進程的創建和執行

    許多操作系統提供的都是產生進程的機制,也就是說,首先在新的地址空間里創建進程、讀入可執行文件,后再開始執行。Linux中進程的創建很特別,它把上述步驟分解到兩個單獨的函數中去執行:fork()和exec函數族。首先,fork()函數通過復制當前進程創建一個子進程,子進程與父進程的區別僅僅在于不同的PID、PPID和某些資源及統計量。exec函數族負責讀取可執行文件并將其載入地址空間開始運行。

    要注意的是,Linux中的fork()函數使用的是寫時復制頁的技術,也就是內核在創建進程時,其資源并沒有被復制過來,資源的賦值僅僅只有在需要寫入數據時才發生,在此之前只是以只讀的方式共享數據。寫時復制技術可以使Linux擁有快速執行的能力,因此這個優化是非常重要的。

    2)進程的終止

    進程終結也需要做很多煩瑣的收尾工作,系統必須保證回收進程所占用的資源,并通知父進程。Linux首先把終止的進程設置為僵尸狀態,這時,進程無法投入運行,它的存在只為父進程提供信息,申請死亡。父進程得到信息后,開始調用wait函數族,后終止子進程,子進程占用的所有資源被全部釋放。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、Linux下的進程結構
   2、Linux下多任務系統之進程的基本概念
   3、Linux下多任務系統之任務介紹
   4、實驗:Linux下多路復用式串口操作
   5、實驗:linux文件讀/寫及上鎖

更多新聞>>