Linux作業系統基礎知識之三:進程

來源:互聯網
上載者:User

Q1.        程式與進程的概念分別是什嗎?為什麼要引入“進程”的概念?
A:

1)        程式是一個普通檔案,是機器代碼指令和資料的集合,這些指令和資料存放區在磁碟上的一個可執行映像中,可執行映像(executable image)就是一個可執行檔的內容;

2)        進程代表程式的執行過程,它是一個動態實體,隨著程式中指令的執行而不斷地變化,在某個時刻進程的內容被稱為進程映像(process image);

3)        程式的執行過程可以說是一個執行環境的總和,這個執行環境除了包括程式中各種指令和資料外,還有一些額外資料;而執行環境的動態變化體現了程式的運行,為了對動態變化的過程進行描述,就引入了“進程”概念。

 

Q2.        什麼是進程式控制制塊?它包含哪些基本資料?

A:

1)        Linux中把對進程的描述結構叫做task_struct,將這樣的資料結構稱作進程式控制制塊(PCB);

2)        PCB是一個其域多達80多項的相當龐大的資料結構,按其功能將所有域劃分為:狀態資訊,連結資訊、各種標識符、處理序間通訊資訊、時間和定時器資訊、調度資訊、檔案系統資訊、虛擬記憶體資訊和處理器環境資訊。

 

Q3.        Linux核心的狀態有哪些?

A:

1)        Linux最基本的進程狀態有三種:運行態、就緒態和阻塞態(或等待態);這三種狀態之間有四種可能的轉換關係:運行態->阻塞態、運行態->就緒態、就緒態->運行態和阻塞態->就緒態;

2)        為了管理上的方便,將就緒態和運行態合并為一個狀態—可運行態,再包括其它方面的一些改變,將進程狀態劃分為:可運行態、睡眠(或等待)態(分為深度睡眠態和淺度睡眠態)、暫停狀態和僵死狀態。

 

Q4.        PCB的組織方式有哪幾種?

A:PCB的組織方式有:進程鏈表、散列表、可運行隊列和等待隊列。

 

Q5.        主要的調度演算法包括哪些?一個好的調度演算法要考慮哪些方面?

A:

1)        主要的調度演算法包括:時間片輪轉調度演算法、優先順序調度演算法(非搶佔式優先順序演算法和搶佔式優先順序演算法)、多級反饋隊列調度演算法和即時調度演算法;

2)        一個好的調度演算法應該考慮五個方面:公平、高效、回應時間、周轉時間和輸送量。

摘自:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.