1. 程式人生 > >作業系統-處理器管理

作業系統-處理器管理

知識點1:程序及其實現

一. 程序

1.程序是程式對某個資料集的一次執行過程,具有動態性生命週期

2.執行緒是一種特殊的程序

3.程序包含程式段資料段PCB

4.程序是作業系統分配資源的基本單位

5.程序建立後隨即進入等待佇列

6.併發程序:同時進行的程序(這裡的同時指的是巨集觀上的同時,實際為多程序在同一時間段執行)

7.程序三種狀態之間的關係(三態模型)

( !圖中程序可以自身決定的只有IO請求)

8.關於程序的切換:指CPU在不同程序之間的切換(執行->就緒,狀態的轉換必然伴隨著CPU的切換即程序的切換)

9.關於父子程序:父程序與子程序可以併發執行 

 

知識點二:執行緒及其實現

1.引入執行緒的目的:主要目的在於提高CPU的利用率;可以使作業系統具有更好的併發性。

2.關於“基本單元”的概念:無論何時,程序都是資源分配的基本單位引入執行緒的概念後執行緒CPU分配排程的基本單位。

3.執行緒包含:<1> CPU執行現場、<2> 執行棧

4.執行緒的分類:<1> 使用者級執行緒、<2> 核心級執行緒

5.多執行緒模型

6.執行緒的空間地址:執行緒沒有獨立的空間,其共享所在程序的空間地址。

7.一個程序可能包含多個執行緒,同一程序中的多個執行緒可以併發執行,但每次排程一個程序時,其中一個執行緒只能執行一次。

(例題:A程序設定100個使用者執行緒,排程以程序為單位,採用時間片輪轉排程演算法,A程序執行100次,每個使用者執行緒最多執行 100 次)

 

知識點三:處理器排程

1.排程層次:<1> 高階排程作業排程)、<2> 中級排程(將data在記憶體與外部裝置之間相互傳送)、<3> 低階排程程序排程

2.作業與程序的關係:程序是對某個資料集的執行過程,是資源分配的基本單位;作業是使用者需要計算機完成的某項任務,是要求計算機所作工作的集合。

3.作業的4個作業步:編譯->連線->裝入->執行

4.常用作計算的幾個計算量:

 

系統吞吐量:單位時間CPU完成作業的數量

週轉時間=作業i的完成時間-作業i的提交時間

帶權週轉時間=作業i的週轉時間/作業i的執行時間

平均等待時間:(視具體作業排程演算法而定)

響應比=作業響應時間/估計執行時間

作業響應時間=作業等待時間+估計執行時間

 

5.作業是使用者提交的,程序是由系統自動生成的;前者以使用者任務為單位,後者是作業系統控制的單位。

6.分時作業系統常採用時間片輪轉的策略

7.當一個程序執行時,系統可以基於某種原則強行將其撤下,把處理器分配給其他程序,這種排程方式是剝奪方式(又叫搶佔排程方式

8.幾種典型排程演算法的應用場景:


<1>短作業優先演算法與作業的執行事件有關

<2>分時作業系統中常採用時間片輪轉演算法

<3>在程序排程演算法中,先來先服務演算法對短程序不利

<4>所有作業同時到達時,平均週轉時間最小的作業是短程序優先演算法

 

有關計算問題,會陸續補充,未完待續...