2010年4月26日星期一

2010.4.26課程筆記

主要內容(重點):
行程排班:
1.行程為何要排班(證據)
2.排班的根據
3.排版的策略及方法
4.評估標準
5.公平性



1.行程為何要排班(證據)

工作動態進入DEADLINE要求多種工作



2.排班的根據

什麼時候可以省CPU時間(程式分割成(CPU分割(平均使用CPU持續時間(每個執行分配多少時間TIME SLOT))和I/O分割))
{
CPU BOUND程式(CPU執行指令較多)
I/O BOUND程式(可以省CPU)
}



3.排版的策略及方法


{
不可搶先(不可插隊)
可搶先(可插隊)優先次序
}


4.評估標準(原則)
A.CPU 的使用率(CPU使用SLOT數/總是用SLOT數)
B.產量(完成多少件事情/時間)
C.恢復時間(開始到結束時間)
D.等候時間(進入到結束未使用CPU時間)
E.反應時間











P1等待:0
P2等待:24(沒有使用CPU時間)
P3等待:27
平均等待時間(0+24+27)/3=51/3=17






平均等候時間:(3+16+9+0)/4=28/4=7
p1等候時間:3
P2等候時間:16
P3等候時間:9
P4等候時間:0
/////規律:小的先排/////







*******要看到達時刻為零的為第一個**********
1.因為P1到達時刻是零,所以要先等P1RUN 完
2.選最小

P1等待時間:0
P2等待時間:(8-1)=7
P3等待時間:(17-2)=15
P4等待時間:(12-3)=9
平均時間:(0+7+15+9)=31/4







規律:誰小誰先
搶先(P2的工作比P1剩下的少,故P2搶下CPU使用權P1再回READY狀態)


((4+5)+0+(17-2)+(5-3))/3=(9+15+2)/4=26/4

2010年4月17日星期六

期中考試總結

1.作業系統的系統呼叫包含類型:
行程的控制,檔案的管理,裝置的管理,資訊的維護,通信
2.行程執行時可能有哪些狀態和狀態的轉換關係
狀態:新產生,執行,等待,就緒,結束

轉換關係:







3.何謂內容置換
轉換CPU至另一項行程時必須將舊行程儲存起來,然後再載入新行程的儲存狀態

4.為何使用執行緒池
多執行緒伺服器必須經常產生多執行緒以提供服務,服務完成后必須拋棄執行緒,增加耗時量。且限制執行緒數量,可能耗盡系統資源(CPU時間或者記憶體)
行程開始就產生一些執行緒,放入池中等待工作,當伺服器接到服務要求時,喚醒一個執行緒傳給要求者執行服務,當服務完成時,該執行緒又返回池中等待工作。
優點:
通常對於服務一項要求時,執行現存的執行緒比等待產生執行緒要快的多
執行緒限制了任何時候執行緒的個數,這對於無法大量並行執行緒的系統特別的重要。


5.行程在哪些實際會啟動內容置換
中斷是作業系統必須改變CPU的目前的工作而執行核心程式,此種作業經常發生在一般用途系統上。當中斷發生時,系統需要儲存目前在CPU上執行行程的內容,因此當作業完成時,可以還原內容,基本上,就是暫停行程,再取回行程

6.何謂I/O傾向行程與CPU傾向行程
I/O傾向行程執行I/O比執行計算時間還要多,CPU傾向行程執行計算時間比執行I/O傾向時間還要多,長期排版程式選擇了一個適當的I/O傾向和CPU傾向的混合行程是十分重要的

7.為何稱單一執行緒行程稱為重量級行程
以往的伺服器只執行單一行程的方式來接受CLIENT端的要求。當伺服器收到一項要求時,就產生一個個別的行程去服務該項要求,然而,行程的產生對於系統是一個沉重的負擔,但新舊行程在執行相同的工作,實際上可以不必增加額外的負擔,有效率的方法讓一個行程包含許多執行緒來達到相同的目的,即伺服器將產生一個個別的執行緒去傾聽及服務CLIENT端的要求


8.請說明撰寫多執行緒程式的好處:
應答:將交談方式的應用程式多執行緒化,可以在一個程式某一部份被暫停,或程式執行冗長工作時,依然持續執行,以增加對使用者的應答

資源分享:執行緒間將共用他們所屬行程的記憶體和資源,程式碼和資料共用好處是讓應用程式有數個不同的執行緒在同一位址空間活動。

經濟:相對於行程產生的記憶體和資源耗費較少,因為執行緒共用他們所屬行程的資源,所以執行緒的產生和內容的交換就比較經濟。憑經驗去測量出產生和維護行程比執行緒多出多少時間可能很困難,但通常產生和維護行程會比執行緒更費時

使用多處理器架構:在多處理器架構下,多執行緒的利益可以大幅提升,因為每一執行緒可以並行的在不同處理器上執行,不論多少CPU都可以用,單一執行緒只能在一個CPU上執行多處理器上並行增加多執行緒