并发编程——练习题
1、簡述計算機操作系統中的“中斷”的作用?
中斷機制包括硬件的中斷機制和操作系統的中斷處理服務程序。
中斷機制由一些特定的寄存器和控制線路組成。中央處理器和外圍設備等識別到的事件保存在特定的寄存器中,中央處理器每執行完一條指令均由中斷機制判斷是否有事件發生。
若無事件發生,CPU繼續執行,若有事件發生,則中斷機制中斷源占有CPU的程序的執行,讓操作系統的處理事件服務程序占用CPU對出現的事件進行處理,事件處理完后,再讓原先的程序繼續占用CPU執行。
2、簡述計算機內存中的“內核態”和“用戶態”;
內核態:CPU可以訪問內存的所有數據,包括外圍設備,例如硬盤,網卡。CPU也可以將自己從一個程序切換到另一個程序。
用戶態:只能受限的訪問內存卻不允許訪問外圍設備。占用CPU的能力被剝奪,CPU資源可以被其他程序獲取。
那么為什么要有用戶態和內核態呢?
由于需要限制不同的程序之間的訪問能力,防止他們獲取別的程序的內存數據,或者獲取外圍設備的數據并發送到網絡,CPU劃分出兩個權限等級就是用戶態和內核態。
3、進程間通信方式有哪些?
晉城指的是正在執行的一個程序,或者說一個任務,負責執行任務的是CPU。
進程是用來把資源集中到一起的,是一個資源單位或者說資源集合。
文件的通信方式有消息隊列、管道、信號量、共享內存、套接字。
4、簡述你對管道、隊列的理解。
管道通常指的是無名管道。
1.它是半雙工的。也就是說數據只能在一個方向上流動。具有固定的讀端和寫端。2.它只能用于總結