180203 作業系統 背景知識

2021-08-15 08:58:28 字數 1988 閱讀 3999

按:

作業系統利用乙個或多個處理器的硬體資源,為系統使用者提供一組服務,

它還代表使用者來管理輔助儲存器和輸入/出裝置。

計算機有四個主要的結構化部件:

處理器的功能包括和記憶體交換資料,為此,它需要:

兩個內部 (對處理器而言)暫存器:

儲存器快取暫存器 mbr:儲存將要寫入儲存器,或從儲存器提取的資料。

同理,為實現輸入輸出功能,也需要:

輸入輸出快取暫存器 mbr:用於在處理器和輸入輸出裝置中間傳導資料。

記憶體模組由一組單元構成,這些單元由按順序編號的位址確定,每個單元儲存乙個二進位制數,可解釋為乙個指令或資料。

輸入輸出模組也有自己的記憶體快取區,用於臨時儲存資料直到他們全部到達該去的地方。

可以如下總結:

資料的歷程包括: 儲存—>處理器—>輸入/出裝置。

處理器執行的程式是由一組儲存在儲存器中的一組指令組成的,單個指令所需要的處理稱為乙個指令週期,該週期在簡化之後由兩個階段組成:取指階段、執行階段。

相關部位:

下圖中,展示了把位址為940的儲存單元中的內容與位址為941中的內容相加,並把結果儲存在後乙個單元的過程,該過程需要三條指令:

pc取第一條指令的位址為300,該指令的內容被送入ir處理,此後pc遞增1。

ir的最初4位,乙個十六進製制數表示需載入ac,剩下12位指明內容的位址為940,940中的資料被取入ac;

pc遞增之後為301,取其中的指令送入ir,pc再增1;

ir表示需要把ac中以前的內容和位址為941中的內容相加,結果儲存在ac中;

從302中取下一條指令(2941),pc增1;

ir指示ac中的內容被存在941中。

中斷是用於提高處理器處理效率的一種手段。

例如,絕大多數i/o裝置都慢於處理器,遇到需要呼叫i/o裝置時,如果等待該裝置準備好,則處理器將會空閒較長時間造成資源浪費。

假設有一台1ghz cpu的pc,它每秒可執行10^9次指令,典型的硬碟轉速為7200轉/秒,因此旋轉半周的時間為4ms,這比處理器慢了大約4000000倍。

上圖,write指令表示呼叫乙個i/o模組。

a中為未設計中斷機制時的情況,write指令執行時,處理器只能空閒;

b中,遇到wirte之後,此時該指令涉及的i/o程式只需要準備**和真正的i/o指令,在這為數不多的幾條指令執行完成之後,控制權被交回到使用者程式,在這期間,外部裝置忙於從儲存器接受資料並列印,這種操作和使用者程式中指令的執行是併發的;

c中,考慮如果在中斷中間再次遇到中斷時的情況。此時,使用者程式在第一次呼叫i/o未完成之時就遇到了第二次wirte指令。

此時使用者程式將被掛起,當第一次i/o程式完成之後,才能執行後續i/o程式。

中斷和指令週期:

多個中斷

假設正在處理乙個中斷時,可以發生另外的中斷。

處理多個中斷有兩種辦法:

第一種方式的缺點在於未考慮相對優先順序和時間限制的要求,

比如:當來自通訊線路的輸入到達時可能需要快速接受,來為更多的輸入讓出空間,如果在第二批到來時第一批還未處理完,就可能導致緩衝區溢位而丟失資料。

第二種方法可解決該問題:

修改作業系統背景顏色

河白色 ffffff rgb 255,255,255 杏仁黃 faf9de rgb 250,249,222 秋葉褐 fff2e2 rgb 255,242,226 胭脂紅 fde6e0 rgb 253,230,224 青草綠 e3edcd rgb 227,237,205 海天藍 dce2f1 rgb ...

作業系統知識

開篇思考 當看到這個標題的第一眼的時候你大腦中在思考什麼?我在想什麼是作業系統呢?他到底有什麼作用呢?其實說到這個問題是因為在自考中有這麼乙個問答題,作業系統的出現對計算機產生了什麼影響?考過此題的應該有印象吧 仔細思考一下,當初自己是怎麼答的呢?自己在做那道簡答題的時候最先想到的就是 01 和一些...

作業系統知識

對於有執行緒系統 對於無線程系統 臨界區 通過對多執行緒的序列化來訪問公共資源或一段 速度快,適合控制資料訪問。在任意時刻只允許乙個執行緒對共享資源進行訪問,如果有多個執行緒試圖訪問公共資源,那麼在有乙個執行緒進入後,其他試圖訪問公共資源的執行緒將被掛起,並一直等到進入臨界區的執行緒離開,臨界區在被...