程序
我們常見的計算機,如筆記本。我們不常見的計算機,如伺服器,大部分都遵守馮諾依曼體系.截至目前,我們所認識的計算機,都是有乙個個的硬體元件組成關於馮諾依曼,必須強調幾點:任何計算機系統都包含乙個基本的程式集合,稱為作業系統(os)。籠統的理解,作業系統包括:這裡的儲存器指的是記憶體 不考慮快取情況,這裡的cpu能且只能對記憶體進行讀寫,不能訪問外設(輸入或輸出裝置) 外設(輸入或輸出裝置)要輸入或者輸出資料,也只能寫入記憶體或者從記憶體中讀取。 一句話,所有裝置都只能直接和記憶體打交道。
在整個計算機軟硬體架構中,作業系統的定位是:一款純正的「搞管理」的軟體
如何理解管理對於作業系統來說,乙個任務就是乙個程序(process)。管理者的任務種類分兩種:硬體管理軟體管理
按照目標物件分兩種:一種對內的管理,一種對外業務進行管理
如何理解程序程序是擔當分配系統資源(cpu時間,記憶體)的實體,是具有動態特性的.現代作業系統比如mac os x,unix,linux,windows等,都是支援==「多工」==的作業系統。所謂的多工,就是作業系統可以同時執行多個任務。
作業系統(如windows、linux)的任務排程是採用時間片輪轉的搶占式排程方式,也就是說乙個任務執行一小段時 間後強制暫停去執行下乙個任務,每個任務輪流執行。
任務執行的一小段時間叫做時間片,任務正在執行時的狀態叫執行狀態,任務執行一段時間後強制暫停去執行下乙個 任務,被暫停的任務就處於就緒狀態等待下乙個屬於它的時間片的到來。
這樣每個任務都能得到執行,由於cpu的執行效率非常高,時間片非常短,在各個任務之間快速地切換,給人的感覺 就是多個任務在「同時進行」,這也就是我們所說的併發.
所有的任務真正同時處理,這種機制叫 做並行。
現在,多核cpu已經非常普及了,由於任務數量遠遠多於cpu的核心數量,所以,作業系統也會自動把很多任務輪流排程到每個核心上執行。對於
計算機作業系統中把並行性和併發性明顯區分開,主要是從微觀的角度來說的,具體是指程序的並行性(多處理機的情況下,多個程序同時執行)和併發性(單處理機的情況下,多個程序在同一時間間隔執行的)。
併發與並行類似於工廠中的流水線,要擴大產量,1是考慮建造多個工廠,這就是並行,2是考慮每個工廠中新增流水 線,這就類似併發。
一般的作業系統(如windows、linux)對執行許可權進行分級:使用者態和核心態。
上下文簡單說來就是乙個環境,程序在時間片輪轉切換時,由於每個程序執行環境不同,就涉及到轉換前後的上下文環境的切換
作業系統 程序
在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...
作業系統 程序
程序是作業系統中的重要概念,描述了程式的執行資訊。乙個程序就是一次執行。可以把程式想象成類,程序就是例項。引入程序的概念有利於實現多程式並行的設計。每乙個程式執行的時候可以大致分為io任務和計算任務,如果乙個程序正在io,那麼應該把cpu讓給另乙個程序執行計算任務,這樣可以提公升cpu的利用率,這就...
作業系統程序
乙個程序就是乙個正在執行的程式。它包括 程序狀態。包括 每個程序在作業系統中用程序控制塊pcb來表示,用來儲存與該程序有關的各種狀態資訊。pcb只是基本原理中的說法,對於乙個真實的作業系統可能不叫pcb,比如linux中叫做任務結構體 task struct 分時系統是在程序之間快速切換,以便使用者...