中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux進程包括哪些部分

發布時間:2023-03-02 11:07:29 來源:億速云 閱讀:78 作者:iii 欄目:建站服務器

今天小編給大家分享一下linux進程包括哪些部分的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

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

一、進程的定義

進程(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進程包括哪些部分”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平和县| 大竹县| 福海县| 丰城市| 睢宁县| 疏勒县| 凤凰县| 晋中市| 九寨沟县| 黑山县| 越西县| 德保县| 德惠市| 淮滨县| 柘城县| 襄城县| 温宿县| 乌兰察布市| 台江县| 青神县| 彭山县| 都江堰市| 临武县| 瑞丽市| 微山县| 永福县| 安乡县| 丘北县| 乐至县| 自治县| 田阳县| 宁乡县| 喀喇沁旗| 张家港市| 古丈县| 临海市| 福鼎市| 承德市| 肃北| 德阳市| 宜州市|