搜尋
首頁運維linux運維linux進程包含哪三個部分

linux進程的三個部分:1、進程控制區塊,使一個在多道程式環境下無法獨立運作的程式(包含資料),成為一個能獨立運作的基本單位,一個能與其它進程並發執行的進程;2、程序段,是進程中能被進程調度程序在CPU上執行的程式碼段;3、資料段,是一個進程的資料段,可以是進程對應的程式加工處理的原始數據,也可以是程式執行後產生的中間或最終數據。

linux進程包含哪三個部分

本教學操作環境:linux7.3系統、Dell G3電腦。

一、進程的定義

行程(Process)是電腦中的程式關於某資料集合上的執行活動,是系統進行資源分配的基本單位,是作業系統結構的基礎。

簡而言之就是程式的一次執行過程
進程是正在執行的程式的實例,也就是一個正在執行的任務。
進程是有生命週期的,隨著程式的運作而創建,隨著程式的結束而終止。
進程是分配資源的最小單位,只要建立了一個進程,就分配了[0-3G]的用戶空間。
只要使用者執行了一個程序,核心就會建立一個task_struct(PCB)結構體,這個結構體就代表目前的進程。
在進程內部維護了自己的一套檔案描述符和緩衝區。只要進程執行結束,那麼它的所有的資源都會被作業系統回收。

linux進程包含哪三個部分

時間片輪詢實作並發

linux進程包含哪三個部分

二、進程的特徵

  • 動態性:進程的實質是程式在多道程式系統中的一次執行過程,進程是動態產生,動態消亡的。

  • 並發性:任何進程都可以與其他進程一起並發執行

  • 獨立性:進程是一個能獨立運作的基本單位,同時也是系統分配資源和調度的獨立單位;

  • 異步性:由於進程間的相互制約,使進程具有執行的間斷性,即進程按各自獨立的、不可預測的速度向前推進

多個不同的進程可以包含相同的程式:一個程式在不同的資料集裡就構成不同的進程,能得到不同的結果;但是執行過程中,程式不能改變。

三、進程的組成及其作用

程式的組成包含三個部分:進程控制區塊PCB(task_struct),資料段,程序段。

進程控制塊:使一個在多道程式環境下無法獨立運作的程式(包含資料),成為一個能獨立運作的基本單位,一個能與其它進程並發執行的進程。
程式段:是進程中能被進程調度程式在CPU上執行的程式碼區段。
資料段:一個行程的資料段,可以是行程對應的程式加工處理的原始數據,也可以是程式執行後產生的中間或最終資料。

四、進程控制區塊

4.1 進程控制區塊定義

為了描述控制進程的運行,系統中存放進程的管理和控制資訊的資料結構稱為進程控制區塊(PCB Process Control Block),它是進程實體的一部分,是作業系統中最重要的記錄性資料結構。它是進程管理和控制的最重要的資料結構,每一個進程均有一個PCB,在創建進程時,建立PCB,伴隨進程運行的全過程,直到進程撤消而撤消。
PCB的本質是一個結構體,不同的作業系統中PCB的名字不同。 Linux中,PCB名為task_struct,PCB 是控制流程的唯一手段。
每一個進程都有一個進程描述符,這個」進程描述符」即是task_struct,在task_struct裡面保存了許多關於進程控制的資訊。

4.2 task_struct的內容

每個行程都把它的資訊放在task_struct這個資料結構裡面,而task_struct包含以下內容:

  • 標示符(pid):描述本進程的唯一標示符,用來區別其他流程。

  • 狀態:任務狀態,退出程式碼,退出訊號等。

  • 優先權:相對於其他行程的優先權(數越小,優先權越高)。

  • 程式計數器:程式中即將被執行的下一指令的位址。

  • 記憶體指針:包含程式碼和行程相關資料的指針,還有和其他行程共享的記憶體區塊的指標。

  • 上下文資料:保存上下文就是把cpu暫存器中的值存到記憶體中;恢復上下文就是把記憶體中的暫存器值恢復到cpu中去;

  • I/O狀態資訊:包含顯示的I/O請求,分配給進程的I/O裝置和正在被處理中的檔案清單。

  • 記帳資訊 :可能包含處理器時間總和,使用的時脈數總和,時間限制,記帳號等。

  • 其他資訊

#五、程式與程式與程式的差異

  • #進程是程式的一次執行過程,它是動態的,具備生命週期,在記憶體上存放。

  • 程式是靜態的,沒有生命週期。在磁碟上存放,程式就是可以可執行檔。

  • 進程更能真實地描述並發,而程式不能。

  • 進程具有創建其他進程的功能,而程式沒有。

  • 同一程式可以對應多個進程。

六、行程與執行緒的差異

通常在一個行程中可以包含若干個執行緒,它們可以利用進程所擁有的資源,在引入執行緒的作業系統中,通常都是把進程當作分配資源的基本單位,而把執行緒當作獨立運行和獨立調度的基本單位,由於執行緒比進程更小,基本上不擁有系統資源,故對它的調度所付出的開銷就會小得多,能更有效率的提高系統內多個程序間並發執行的程度。

七、進程的種類

進程的種類有三種分別是交互進程,批次進程,守護程式




互動進程:互動進程是由shell維護的,透過shell和使用者進行互動。 例如文字編輯器就是互動進程。

######批次處理程序:批次處理程序會被放到核心的一個佇列中,隨著佇列的運行而運行,它的優先權相對比較低。 ### 例如gcc編譯程式的過程。 ############守護程式:守護程式是後台運行的進程,隨著系統的啟動而啟動,隨著系統的終止而終止。 ### 例如windows上的各種服務。 ############相關推薦:《###Linux影片教學###》###

以上是linux進程包含哪三個部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux的5支支柱:了解他們的角色Linux的5支支柱:了解他們的角色Apr 11, 2025 am 12:07 AM

Linux系統的五大支柱是:1.內核,2.系統庫,3.Shell,4.文件系統,5.系統工具。內核管理硬件資源並提供基本服務;系統庫為應用程序提供預編譯函數;Shell是用戶與系統交互的接口;文件系統組織和存儲數據;系統工具用於系統管理和維護。

Linux維護模式:工具和技術Linux維護模式:工具和技術Apr 10, 2025 am 09:42 AM

在Linux系統中,可以通過在啟動時按特定鍵或使用命令如“sudosystemctlrescue”進入維護模式。維護模式允許管理員在不受干擾的情況下進行系統維護和故障排除,如修復文件系統、重置密碼、修補安全漏洞等。

關鍵Linux操作:初學者指南關鍵Linux操作:初學者指南Apr 09, 2025 pm 04:09 PM

Linux初學者應掌握文件管理、用戶管理和網絡配置等基本操作。 1)文件管理:使用mkdir、touch、ls、rm、mv、cp命令。 2)用戶管理:使用useradd、passwd、userdel、usermod命令。 3)網絡配置:使用ifconfig、echo、ufw命令。這些操作是Linux系統管理的基礎,熟練掌握它們可以有效管理系統。

如何使用sudo向Linux的用戶授予高架特權?如何使用sudo向Linux的用戶授予高架特權?Mar 17, 2025 pm 05:32 PM

本文解釋瞭如何管理Linux中的Sudo特權,包括授予,撤銷和安全性最佳實踐。關鍵重點是安全和sudoers安全和限制訪問。Character數量:159

如何在Linux中實現SSH的兩因素身份驗證(2FA)?如何在Linux中實現SSH的兩因素身份驗證(2FA)?Mar 17, 2025 pm 05:31 PM

本文提供了有關使用Google Authenticator在Linux上設置兩因素身份驗證(2FA)的指南,詳細介紹了安裝,配置和故障排除步驟。它突出了2FA的安全益處,例如增強的SEC

如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?如何使用TOP,HTOP和VMSTAT等工具來監視Linux中的系統性能?Mar 17, 2025 pm 05:28 PM

本文討論了使用TOP,HTOP和VMSTAT監視Linux系統性能,並詳細介紹其獨特功能和自定義選項,以進行有效的系統管理。

如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?如何使用軟件包管理器(APT,YUM,DNF)管理Linux中的軟件包?Mar 17, 2025 pm 05:26 PM

文章討論了使用APT,YUM和DNF在Linux中管理軟件包,涵蓋安裝,更新和刪除。它比較了它們對不同分佈的功能和適用性。

如何在Linux中使用正則表達式(REGEX)進行模式匹配?如何在Linux中使用正則表達式(REGEX)進行模式匹配?Mar 17, 2025 pm 05:25 PM

本文介紹瞭如何在Linux中使用正則表達式(REGEX)進行模式匹配,文件搜索和文本操作,詳細列式,命令和工具,例如GREP,SED和AWK。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)