進程
名稱
整批系統(tǒng)環(huán)境,進程稱為 工作 ( jobs )。
分時系統(tǒng)環(huán)境,進程稱為 用戶程序 ( user progams )或 任務(wù) ( tasks )。
在多數(shù)情況,工作與進程是同義詞,但進程( process )已較為人接受
概念
用戶下達運行程序的命令后,就會產(chǎn)生進程。同一程序可產(chǎn)生多個進程(一對多關(guān)系),以允許同時有多位用戶運行同一程序,卻不會相沖突。
進程需要一些資源才能完成工作,如CPU使用時間、內(nèi)存、文件以及I/O設(shè)備,且為依序逐一進行,也就是每個CPU核心任何時間內(nèi)僅能運行一項進程。
內(nèi)容
一個計算機系統(tǒng)進程包括(或者說“擁有”)下列數(shù)據(jù):
那個程序的可運行機器碼的一個在內(nèi)存的映像。
分配到的內(nèi)存(通常是虛擬的一個內(nèi)存區(qū)域)。內(nèi)存的內(nèi)容包括可運行代碼、特定于進程的數(shù)據(jù)(輸入、輸出)、調(diào)用堆棧、堆棧(用于保存運行時運輸中途產(chǎn)生的數(shù)據(jù))。
分配給該進程的資源的操作系統(tǒng)描述符,諸如文件描述符(Unix術(shù)語)或文件句柄(Windows)、數(shù)據(jù)源和數(shù)據(jù)終端。
安全特性,諸如進程擁有者和進程的權(quán)限集(可以容許的操作)。
處理器狀態(tài)(內(nèi)文),諸如寄存器內(nèi)容、物理內(nèi)存定址等。當(dāng)進程正在運行時,狀態(tài)通常存儲在寄存器,其他情況在內(nèi)存。
狀態(tài)
進程在運行時,狀態(tài)( state )會改變。所謂狀態(tài),就是指進程目前的動作:
新生( new ):進程新產(chǎn)生中。
運行( running ):正在運行。
等待( waiting ):等待某事發(fā)生,例如等待用戶輸入完成。亦稱“阻塞”( blocked )
就緒( ready ):排班中,等待CPU。
結(jié)束( terminated ):完成運行。
各狀態(tài)名稱可能隨不同操作系統(tǒng)而相異;對于單CPU系統(tǒng)(UP),任何時間可能有多個進程為等待、就緒,但必定僅有一個進程在運行。
進程控制塊
線程
調(diào)度
進程間通信( Inter-process communication )
相關(guān)
時間片
進程樹
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報
{{_reply.time}}