馮諾依曼體系結構
馮諾依曼體系包括 輸入設備、存儲器、中央處理器、輸出設備。
- 馮諾伊曼體系需要注意:
這裏的存儲器指內存。
不考慮緩存的情況,這裏的 CPU 只能對內存進行操作,不能訪問外設。
外設也只能寫入內存或者從內存中讀取。
所有的設備只能直接和內存打交道。
操作系統
任何計算機系統都包含一個基本的程序集合,稱爲操作系統。
進程
對於操作系統來說一個任務就是一個進程。
進程是擔當分配系統資源的實體,是具有動態特性的。
-
時間片
操作系統的任務調度是採用時間片輪轉的搶佔式調度方式。
時間片輪轉:在一個 cpu 中,一個任務執行一小段時間之後,強制去暫停執行下一個任務,每個任務輪流執行。
時間片:任務執行的一小段時間。
運行狀態:任務正在執行。
就緒狀態:被暫停的任務。 -
併發與並行
併發:多個進程在一個 cpu 下采用時間片輪轉的方式,在一段時間內,讓多個進程可以推進
並行:多個進程在多個 cpu 下分別,同時進行運行 -
內核態與用戶態
內核態:操作系統內核直接控制硬件設備的底層軟件,權限最高,稱爲內核態。
用戶態:用戶程序的權限最低,稱爲用戶態。 -
進程中的上下文
上下文簡單來說就是一個環境,進程在時間片論轉換時,由於每個進程運行環境不同,就涉及到轉換前後的上下文環境的切換。
就是一個進程在執行的時候,CPU 的所有寄存器中的值、進程的狀態以及堆棧上的內容。
切換時需要保存當前進程的所有狀態,即保存當前進程的進程上下文,以便再次執行該進程時,能夠恢復切換時的狀態,繼續執行。 -
進程狀態
就緒:進程處於可運行狀態,只是 CPU 時間片還沒有輪轉到該進程,則該進程處於就緒狀態。
運行:進程處於可運行的狀態,則 CPU 時間片論轉到該進程,該進程正在執行代碼,則該進程處於運行狀態。
阻塞:進程不具備運行條件,正在等在等待某個事件的完成