行程的控制,檔案的管理,裝置的管理,資訊的維護,通信
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上執行多處理器上並行增加多執行緒
没有评论:
发表评论