1、簡述計算機作業系統中的「中斷」的作用?
中斷機制包括硬體的中斷機制和作業系統的中斷處理服務程式。
中斷機制由一些特定的暫存器和控制線路組成。**處理器和外圍裝置等識別到的事件儲存在特定的暫存器中,**處理器每執行完一條指令均由中斷機制判斷是否有事件發生。
若無事件發生,cpu繼續執行,若有事件發生,則中斷機制中斷源占有cpu的程式的執行,讓作業系統的處理事件服務程式占用cpu對出現的事件進行處理,事件處理完後,再讓原先的程式繼續占用cpu執行。
2、簡述計算機記憶體中的「核心態」和「使用者態」;
核心態:cpu可以訪問記憶體的所有資料,包括外圍裝置,例如硬碟,網絡卡。cpu也可以將自己從乙個程式切換到另乙個程式。
使用者態:只能受限的訪問記憶體卻不允許訪問外圍裝置。占用cpu的能力被剝奪,cpu資源可以被其他程式獲取。
那麼為什麼要有使用者態和核心態呢?
由於需要限制不同的程式之間的訪問能力,防止他們獲取別的程式的記憶體資料,或者獲取外圍裝置的資料併發送到網路,cpu劃分出兩個許可權等級就是使用者態和核心態。
3、程序間通訊方式有哪些?
晉城指的是正在執行的乙個程式,或者說乙個任務,負責執行任務的是cpu。
程序是用來把資源集中到一起的,是乙個資源單位或者說資源集合。
檔案的通訊方式有訊息佇列、管道、訊號量、共享記憶體、套接字。
4、簡述你對管道、佇列的理解。
管道通常指的是無名管道。
1.它是半雙工的。也就是說資料只能在乙個方向上流動。具有固定的讀端和寫端。
2.它只能用於具有親緣關係的程序和通訊,也就是父與子程序或兄弟程序之間。
3.資料不可反覆讀取及讀了之後,快取區中就沒有了。
訊息佇列。
1.訊息佇列是面向記錄的,其中的訊息具有特定的格式以及特定的優先順序。
2.訊息佇列獨立於傳送與接收程序,程序終止時訊息佇列及其內容不會被刪除。
3.訊息佇列可以實現訊息隨機查詢。
5、請列舉你知道的程序間通訊方式。
佇列。訊號量。
event事件。
定時器timer。
程序池和執行緒池。
非同步呼叫和**機制。
6、什麼是同步io什麼是非同步io?
同步io操作指的是實際的io操作將導致請求程序阻塞,直到io操作完成。
非同步io操作指的是實際的io操作不導致請求程序的阻塞。
同步或非同步io主要是指訪問資料的機制即實際io操作的完成方式。
同步。一般指主動請求並等待io操作完畢的方式,io操作未完成前會導致應用程序掛起。
非同步。指的是使用者程序觸發io操作以後便開始做自己的事情,而當io操作已經完成的時候,會得到io完成的通知。這可以使程序在讀取資料時也不會阻塞。
7、請問multiprocessing模組中的value、array類的作用是什麼?舉例說明它們的使用場景
python多程序通訊。queue pipe value array。
queue和pipe用來在程序間傳遞訊息。
value+array是python中共享記憶體對映檔案的方法,速度比較快。
8、請問multiprocessing模組中的manager類的作用是什麼?與value和array類相比,manager的優缺點是什麼?
python multiprocessing manager。
python中程序間共享資料除了基本的queue、pipe、value、array外,還提供了更高層次的封裝,通過multi processing manager可以簡單的使用這些高階介面。
manager的優點是可以在程序池中使用,缺點是windows下環境。效能比較差。
併發程式設計 練習題
1 簡述計算機作業系統中的 中斷 的作用?中斷機制包括硬體的中斷機制和作業系統的中斷處理服務程式。中斷機制由一些特定的暫存器和控制線路組成。處理器和外圍裝置等識別到的事件儲存在特定的暫存器中,處理器每執行完一條指令均由中斷機制判斷是否有事件發生。若無事件發生,cpu繼續執行,若有事件發生,則中斷機制...
4 3 併發程式設計 總結練習題
1.簡述計算機作業系統中的 中斷 的作用?cpu會切 io阻塞,程式執行時間過長 中斷 計算機執行期間,系統內發生任何非尋常的或非預期的急需處理事件,使得cpu暫時中斷當前正在執行的程式而轉去執行相應的事件處理程式.待處理完畢後又返回原來被中斷處繼續執行或排程新的程序執行的過程.它使計算機可以更好更...
程式設計練習題
程式student create student studs,int n student 是乙個結構型別,包含姓名 成績和指標域。studs 陣列中儲存了n個 student 記錄。create 函式的功能是編寫根據 studs 陣列建立乙個鍊錶,鍊錶中結點按成績降序排列,函式返回煉表頭指標。inc...