進程如何工做

系統啓動時,內核先把它的一些程序初始化爲進程,而後運行一個稱爲init的程序。init程序將依次運行一系列稱爲腳本初始化(init script)的shell腳本(放在/etc目錄下),這些腳本將會啓動所欲的系統服務。其中的不少服務都是經過守護程序(daemon program)來實現的。然後臺程序只是待在後臺作它們本身的事情,而且沒有用戶界面。所以,即便沒有用戶登陸,系統也在忙於執行一些例行程序。
一個程序的運行能夠觸發其它程序的運行,在進程系統中這種狀況被表述爲父進程建立子進程。
內核會保存每一個進程的信息以便確保任務有序進行。好比,每一個進程將被分配一個稱爲進程ID(PID, process ID)的號碼。進程ID是按遞增的順序來分配的,init進程的PID始終爲1。內核也記錄分配給每一個進程的內存信息以及用來恢復運行的進程就緒信息。和文件系統相似,進程系統中也存在全部者、用戶ID、有效用戶ID等。shell

相關文章
相關標籤/搜索