進程簡介

一,進程的概念:


內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、 安全功能等;

Process:  運行中的程序的一個 副本,是被 載入內存的一個指令集合進程ID (Process ID ,PID )號碼被用來標記各個進程UID 、GID 、和SELinux 語境決定對文件系統的存取和 訪問權限,通常從執行進程的 用戶來繼承存在生命週期;

task struct :Linux 內核存儲進程信息的數據結構格式;

task list :多個任務的的task struct 組成的鏈表;


二,進程創建:


init :第一個進程

    父子關係

進程:都由其父進程創建,COW

    fork(), clone()


三,進程的優先級:


系統優先級: 數字越小,優先級越高

    0-139(CentOS4,5) )

        各有140個運行隊列和過期隊列

    0-98 ,99 (CenOS6)

實時優先級: 99-0 :值最大優先級最高

Nice 值:-20 ,19 對應系統優先級100-139 或99


四,進程內存:


Page Frame:  頁框,用存儲頁面數據,存儲Page 4k

LRU :Least Recently Used  近期最少使用算法, 釋放內存,物理地址空間和線性地址空間

MMU :Memory Management Unit 負責轉換線性和物理地址(cpu管理單元)

IPC: Inter Process Communication

    同一主機上

        signal

        shm: shared memory

        semophore  信號量,一種計數器

    不同主機上:

        rpc: remote procedure call

        socket: IP 和端口號


五,進程狀態:


運行態:running

就緒態:ready

睡眠態:

    可中斷:interruptable (S)

    不可中斷:uninterruptable (D)

停止態:stopped, 暫停於內存中,但不會被調度,除非手動啓動

僵死態:zombie ,結束進程,父進程結束前,子進程不關閉


進程類型:


守護進程: daemon, 在系統引導過程中啓動的進程,和終端無關進程

前臺進程:跟終端相關,通過終端啓動的進程

注意:兩者可相互轉化


進程的分類:


CPU-Bound :CPU 密集型,非交互

IO-Bound :IO 密集型,交互


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章