? ? ? ? ? ? ?
一、管程
1、管道概念概念
管道是用于連接一個讀進程和一個寫進程。用來實現它們之間通信的共享文件。
2、管程的概念
管程是由一些共享數據、一組能為并發進程所執行的作用在共享數據上的操作集合、初始代碼、以及存取權組成。管程提供了一種可以允許多線程安全、有效地共享抽象數據類型的機制,管程實現同步機制由條件結構所提供。
3、管程的結構
每個管程都要有一個名字以供標識。
? ? ? ? ? ? ?
二、進程調度
進程調度方式是指當有更高優先級的進程到來時如何合理分配CPU。調度方式分為可剝奪、不可剝奪兩種。
1、 三級調度
1.1 高級調度
又稱為長調度、作業調度、接納調度,它決定處于輸入池中哪個后臺作業可以調入主系統做好執行準備,稱為一個或一組就緒進程。
1.2 中級調度
又稱為中程調度、對換調度,它決定處于交換區中的哪個就緒進行可以調入內存,用來直接參與對CPU的競爭。
1.3 低級調度
低級調度又稱為短程調度、進程調度,它決定處于內存中的哪個就緒進程可以占用CPU。低級調度室操作系統中最活躍最重要的調度程序,對系統影響很大。
2、調度算法
2.1 先來先到服務
按照作業或進程稱為就緒狀態的先后順序分配CPU,然后去執行。適合長作業,不利于短作業。屬于宏觀調度。
2.2 時間片輪轉
主要是為了提高資源利用率。通過時間輪轉提高進程并發性和響應時間特性,從而提高資源利用率。分為固定時間片、可變時間片。
2.3 優先調度
優先級算法讓每個進程都有一個優先數,數值越大優先級越高,擁有先執行的特權。優先級調度分為靜態優先級和動態優先級。
靜態優先級:進程的優先級在創建時確定,直到進程終止都不會去改變。優先級確定因素:進程類型、對資源需求、用戶要求。
動態優先級:創建進程賦予一個優先級,在進程運行過程中可以改變,以便獲得更好的調度性能。
2.4 多級反饋調度
該算法是時間片輪和優先級算法的綜合利用。
3、進程優先級確定的原則
1、對于I/O型進程讓其進入最高優先級隊列,以及響應需要I/O交互的進程。
2、對于計算型進程每次執行完時間片后進入更低級隊列。
3、對于I/O次數不多,主要回收CPU處理的進程,在I/O完成后,返回優先I/O請求時離開的隊列,避免每次都回到最高優先級隊列后再逐次下降。
4、為適應一個進程在不同時間段運行的特點,I/O完成時,提高優先級;時間片用完是,降低優先級。?