2010年6月20日星期日

無聊

dead lock行程
形成執行時,必須確定作業系統配置所需的資源,cpu,memory disk,tap,printer
死結的想像
死結的特徵,模型,資源配置圖
不易發生VS處理的代價
一般程式中發生在行程同步移動而發生的lock狀態
資料庫應用則是記錄被lock,而行程終止
假設
instance不可同時使用
用前需先提出需求(種類及數量)
OS配置
用完後一定釋放及歸還

prevention預防deadlock
必要條件:不可全部滿足
avoidance避免deadlock
資源配置(預先規劃)
資源等待

佔用與等候~~若局部已佔用,等候其他資源
全部歸還已佔用
一次要足
不可搶先~~優先權高的行程可以搶奪正等待資源的行程
資源先釋放給高優先權的行程

2010年6月14日星期一

作業系統期末總結

連續記憶配置:
(first fit
best fit)--------內部斷裂較嚴重
worst fit---------(外部斷裂較嚴重)

共同問題:
(1)內部斷裂
記憶體配置有一定的區塊size16為單位
(2)外部斷裂
原因swap-in,swap-out殘餘的小區塊
固定區塊大小的分割與配置


不連續記憶體配置
分頁:將程式及記憶體以相同大小的單位分割
外部斷裂很少,內部斷裂很少
如何執行程式?H/W支援


分頁用cache實現
load先找適用的記憶體頁然後再填入行程分頁表

page(frame)大小
較大:外部斷裂,內部斷裂,較明顯,分頁表需求較少
分頁表的查詢較快
較小:外部斷裂,內部斷裂較不明顯,分頁表需求較多,分頁表查詢較慢



每個行程都要分頁表
統一使用分頁表(空白表使用)
新行程引入如何使用這些空白欄的分頁表
新任務進入有4pages,目前尚有分頁表14,13,18,20,15空白欄未用
page0-----14
page1-----13
page2-----18
page3-----20

H/W支援
TLB最近有用過的分頁表欄位內容

局部特性(使用過會再被使用的幾率較高)
可以平行page NO的比較找尋
找到-----hit(命中)
沒找到---失誤

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上執行多處理器上並行增加多執行緒