您好,登錄后才能下訂單哦!
小編給大家分享一下python中swapper指的是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
id為0的進程通常是調度進程,常常被稱為交換進程(swapper),該進程為內核的一部分,它并不執行任何磁盤上的程序,因此也被稱為系統進程。
id為1 init進程,在自舉過程結束后由內核調用。
id為2 頁守護進程。
對于父進程已經終止的所有進程,他們的父進程都改變為init。
在一個進程終止時,內核逐個檢查所有活動的進程,以判斷他是否是正要終止進程的子進程,如果是,則將該進程id更改為1,這種方法保證了每個進程都有一個父進程。
如果子進程在父進程終止之前終止,父進程如何能做相應檢驗得到子進程的終止狀態呢?對此的回答是:內核為每個子進程保存了一定量的信息,所以當終止進程的父進程調用wait或waitpid時,可以得到這些信息。
僵死進程:一個已經終止,但是其父進程尚未對其進行善后處理(獲取終止子進程的有關信息,釋放它仍占有的資源)的進程
一個由init進程領養的進程終止時會發生什么?他會不會變為一個僵死進程?
否!因為init被編寫為無論何時只要有一個子進程終止,init就會調用一個wait函數取得其終止狀態。這樣就防止了系統中有很多僵死進程。
Swapper 進程:
進程0 :
所有進程的祖先叫做進程0 ,idle 進程或因為歷史的原因叫做swapper 進程。它是在 linux 的初始化階段從無到有的創建的一個內核線程。這個祖先進程使用靜態分配的數據結構。
在多處理器系統中,每個CPU都有一個進程0,主要打開機器電源,計算機的BIOS就啟動一個CPU,同時禁用其他CPU。運行的CPU 上的swapper進程初初始化內核數據結構,然后激活其他的并且使用copy_process()函數創建另外的swapper進程,把0 傳遞給新創建的swapper進程作為他們進程的PID.
進程1 :
由進程0創建的內核線程執行init() 函數,init() 一次完成內核的初始化。init()調用execve()系統調用裝入可執行程序init ,結果 ,init 內核線程變成一個普通的進程,且擁有自己的每個進程內核數據結構。在系統關閉之前,init 進程一直存活,因為它創建和監控在操作系統外層執行的所有進程的活動。
以上是python中swapper指的是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。