進程控制的主要任務是對系統中所有進程從產生、存在到消亡的全過程實行有效的管理和控制。進程控制一般是由操作系統的內核來實現,內核在執行操作時,往往是通過執行各種原語操作來實現的,以下介紹進程的各種控制。
進程圖
有向樹
一棵樹表示一個家族,根結點為該家族的祖先(Ancestor)。
△注意:進程圖和前趨圖之間的差異:前趨圖描述的是任務(或進程)之間的前趨關系;只有在前趨進程完成後,其後繼進程才能運行;
在進程圖中,創建者和被創建者可以並發執行,也可以是父進程等待其所有的子進程結束後再執行,這完全取決於創建原語和創建者的需要。
進程的創建和撤消
創建原語
功能:創建一個具有指定標識符進程
入口信息:進程標識符、優先級、進程開
始地址、初始CPU狀態、資源清
單等
實現過程:
撤消原語
功能:撤消一個指定的進程
入口信息:被撤消的進程名
實現過程:
進程的阻塞和喚醒 阻塞原語功能:停止調用進程的執行,變為等待
入口信息:可省
實現過程:
喚醒原語功能:喚醒某一處於等待隊列當中的進程
入口信息:被喚醒進程的名字
實現過程:
進程的掛起和激活 掛起原語功能:自身掛起、掛起具有指定標識符的
進程、將其進程及其全部或部分“子
孫”掛起
激活原語功能:使處於靜止狀態的進程變為活動
內核:是加在硬件上的第一層軟件,通過執行各種原語操作來實現各種控制和管理功能,具有創建進程、撤消進程、進程通信、資源管理的功能。 原語:是由若干條機器指令構成,用以完成特定功能的一段程序。原語是原子操作,要麼全做,要麼全部不做。