Linux系統--Linux進程與作業管理(1)

Linux系統--Linux進程與作業管理(1)

先了解一些基本概念:內核的功能,程序的組成,進程,進程的類型和運行狀態,進程的分類,Linux中的第一個進程initLinux內核存儲進程信息的格式,進程的優先級,進程間的通信。

1.Linux內核的功能和程序的組成:

Linux內核是一種開源電腦操作系統。是用來與硬件打交道併爲用戶程序提供一個有限服務集的軟件。Linux內核支持模塊化,支持模塊的動態加載和卸載,可以把模塊驅動編輯到內核中,也可以不編輯到內核,直接調用需要的模塊。Linux內核的主要功能由:

進程管理,內存管理,網絡管理,驅動程序,文件系統和安全功能

    wKioL1X_-VrDXrxqAAFQnEfZMe4936.jpg

系統調用接口(SCISystem Call Interface):是Linux內核與上層應用程序進行交互通信的唯一接口。通過這個接口,用戶可以訪問內核空間。SCI是一個非常有用的函數調用多路複用和多路分解服務。

二進制應用程序是由二進制文件,庫文件,配置文件,幫助文件。

2.進程、進程的類型和運行狀態,進程的分類:

進程(process)是計算機中程序關於某些數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位。也可以說運行中的程序的一個副本;存在生命週期。

Linux進程類型有:守護進程和前臺進程

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

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

可以把在前臺啓動的進程送往後臺,以守護模式運行。

進程的運行狀態:

運行態:Running

就緒態:ready

睡眠態:

可中斷:interruptable:當等待資源滿足時,或其他進程通過信號或時鐘中斷喚醒

不可中斷:uninterruptable:只能通過等待資源滿足時才被喚醒,而不能被其它進程喚醒

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

收到一下幾種信號,進入暫停狀態:

SIGSTOP ——>停止進程執行

SIGTSTP----->從終端發來信號停止進程

SIGTTIN----->來自鍵盤中斷

SIGTTOU---->後臺進程請求輸出

僵死態:zombie進程已結束且釋放大部分資源,但尚未釋放其PCB

進程的分類:

計算密集型:(CPU-bound)在多重程序中,大部分時間用來做計算、邏輯判斷等CPU動作

I/O密集型:(I/O-bound)在大多數情況下處理I/O操作

3.Linux中的第一個進程init

Linux啓動時會啓動系統的第一個用戶態進程init進程,其進程ID1

在系統啓動階段,操作系統內核部分初始化的結尾,將運行init這個第一個用戶態的程序,它是所有用戶進程的父進程,它將依據/etc/inittab配置的文件來對系統進行用戶的初始化。

用戶啓用init命令並不是真正運行run level 切換的工作,知識通過pipe把命令打包成request,然後傳遞給作爲daemon進程運行的init

系統啓動之後,init作爲一個daemon進程運行,一是監控/etc/inittab配置文件中的相關命令的執行,二是通過管道接收請求來切換run level並處理

4.Linux內核存儲進程信息的格式

linux中每個進程都有task_struct數據結構來定義。task_struct就是我們常說的PCBProcess Control Block )程序控制塊。當我們調用fork()函數生成子進程時,系統會爲我們產生一個task_struct結構,然後從父進程那裏繼承一些數據,並把新的進程插入到進程樹中,以待進行進程管理。task_struct記錄了進程的一些狀態信息如,調度信息,進程的通信狀況,進程的優先級,父子進程的一些指針,內存信息,時間片等

5.進程的優先級:

進程CPU資源分配就是指進程的優先權(priority)。優先權越高的進程有優先執行的權利。修改進程的優先權可以大大改善系統整體性能。

優先級用數字0-139表示,分爲:

實時優先級:1-99

靜態優先級:100-139

數字越小優先級越高。爲了防止某各進程的優先級被無限的調小,就出現了nice值(-20---19),其表示進程可執行的優先級的修正數值。進程的優先級大小:靜態優先級+nice值,值越小越被先執行。

6.進程間通信:

進程間通信是在不同進程之間傳播或交換信息。進程的用戶空間是相互獨立,一般而言是不能相互訪問的,唯一的例外是共享內存區。系統空間確是公共場所,所以內核顯然可以提供這樣的條件。

進程間同信(IPCInterProcess communication)的方法有:管道,消息隊列,共享內存,信號,套接字等。



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