操作系統做什麼? 從不同的視角進行分析: 用戶視角 系統視角 最終定義操作系統 定義1:操作系統是為了實現管理,同時帶來了必不可少的各種類型的浪費 分析:管理硬體資源,同樣帶來的浪費有:記憶體消耗,硬體消耗等。 定義2:操作系統是管理電腦硬體的程式,它還為應用程式提供基礎,並且充當電腦硬體和電腦 ...
操作系統做什麼?
從不同的視角進行分析:
用戶視角
系統視角
最終定義操作系統
定義1:操作系統是為了實現管理,同時帶來了必不可少的各種類型的浪費
分析:管理硬體資源,同樣帶來的浪費有:記憶體消耗,硬體消耗等。
定義2:操作系統是管理電腦硬體的程式,它還為應用程式提供基礎,並且充當電腦硬體和電腦用戶的中介
分析:電腦硬體包括CPU(邏輯計算中心)、I/O設備(顯示器,滑鼠,鍵盤,印表機等)、物理存儲設備。
硬體:如中央處理單元(Centeal Processing Unit,CPU)、記憶體(memory)、輸入輸出設備(Input/Output devices, I/Odevices),為系統提供基本的計算資源。
應用程式:電子製表軟體、編譯器、瀏覽器、音樂播放器等國定了用戶按何種方式使用這些資源。
操作系統提供了正確使用這些資源的方法。操作系統類似於政府,操作系統本身並不實現任何有用的功能。它只不過是提供了一個方便其他程式做有用工作的環境。
用戶視角:對於這種情況,操作系統的設計目的是為了用戶使用方便,性能是其次的,而且不在乎資源使用率。性能和資源使用率相比,性能對用戶來說更為重要,這種系統主要為了優化單用戶的情況。
系統視角:將操作系統看做資源分配器。電腦系統可能有許多資源,用來解決CPU時間、記憶體空間、文件存儲空間、I/O設備等問題。操作系統管理這些資源。面對許多甚至衝突的資源請求,操作系統必須決定如何為各個程式和用戶分配資源,以便電腦系統能有效而公平地運行。強調控制各種I/O設備和用戶程式的需求。操作系統管理用戶程式的執行以防止電腦資源的錯誤使用或者使用不當。
電腦系統組織結構?
電腦系統如何操作
電腦系統的存儲結構
I/O結構
電腦系統操作:現代通用電腦系統由一個或多個CPU和若幹設備控制器通過共同的匯流排相連而成,該匯流排提供了對共用記憶體的訪問。每個設備控制器負責一種特定的設備(比如磁碟驅動器,音頻設備,視頻顯示器)。CPU與設備控制器可以併發工作,並競爭記憶體周期。為確保對共用記憶體的有序訪問,需要記憶體控制器來協調對記憶體的訪問。
電腦啟動時,首先需要運行一個初始化程式。該初始化程式(引導程式 bootstrap program)比較簡單,位於ROM或者EFPROM中,也叫做電腦硬體中的固件。它的主要職責:初始化系統的所有部分,包括CPU寄存器、設備控制器和記憶體內容,必須知道如何裝入操作系統並開始執行系統。需要定位操作系統內核並將其裝入記憶體。之後操作系統開始執行第一個進程如init,並等待事件的發生。
事件的發生通常通過硬體或者軟體的中斷來表示。硬體可以隨時通過系統匯流排向CPU發出信號,以觸發中斷。軟體通過執行特殊操作比如系統調用(System call)也能觸發中斷。
中斷是電腦結構的重要部分。每個電腦設計都有自己的中斷機制,但是有些功能是共同的。中斷必須將控制轉移到合適的中斷處理程式。處理轉移的簡單方法是調用一個通用子程式以檢查中斷信息。接著,子程式會調用相應的中斷處理程式。不過處理中斷要快,可以通過處理中斷子程式的指針表實現。
中斷體繫結構也保存被中斷指令的地址。許多舊的設計簡單地在固定位置中保存中斷地址。更為現代的結構將返回系統堆棧的地址,若果中斷處理程式需要修改處理器狀態,如修改寄存器的值,它必須明確地保存當前狀態併在返回前恢復該狀態。在處理中斷之後,保存的地址會裝入程式計數器,被中斷的計算可以重新開始,就好像中斷沒有發生一樣。
存儲結構:電腦程式必須在記憶體(隨機訪問記憶體 random access memory,RAM)中以便運行。記憶體是處理器可以直接訪問的唯一的大容量存儲區域、通常是用被稱為動態隨機訪問記憶體(dynamic random access memory,DRAM)的半導體技術來實現的,是一組記憶體字的數組,每個字都有其地址。通過對特定記憶體地址執行一系列load或store指令來實現交互。指令load能將記憶體中的字移動到CPU的寄存器中,而指令store能將寄存器內容移動到記憶體。除了顯式使用load和store外,CPU可自動從記憶體裝入指令來執行。
一個典型的指令執行周期(在馮·諾依曼體繫結構上執行時)首先從記憶體中獲取指令,並保存到指令寄存器(instruction register)中,接著,指令被解碼,並可能導致記憶體中獲取操作數或將操作數保存到內部寄存器中。在指令完成對操作數的執行後,其結果可以回到記憶體。註意記憶體單元只看見記憶體地址流,它並不知道它們如何產生的(通過指令計數器、索引、間接、常量地址等),或它們是什麼地址(指令或數據)。相應地,可忽視程式如何產生記憶體地址,只對程式運行所生成的地址序列感興趣。
電腦系統提供輔存(secondary storage)以作為記憶體的擴充。對輔存的主要要求是它必須要能夠永久地存儲大量的數據。
常用的輔存為磁碟(magnetic disk),它能存儲應用程式和數據,絕大多數程式保存在磁碟上,直到要執行時才裝入到記憶體。適當的管理磁碟存儲對電腦系統來說十分重要。
上面只是一種存儲系統:由寄存器、記憶體和磁碟組成。除此之外,還有高速緩存,CD-ROM,磁帶等。
I/O結構:在電腦中,存儲器只是眾多I/O設備的一種,操作系統的大部分代碼用來進行I/O管理,這既是因為它對系統可靠性和性能的十分重要,也因為設備變化的特性。
通常,操作系統為每個設備控制器提供一個設備驅動程式。這些設備驅動程式理解設備驅動器,並提供一個設備與其餘操作系統的統一介面。
為了開始I/O操作,設備驅動程式在設備控制器中裝在適當的寄存器。
電腦系統體繫結構
單處理器系統
多處理器系統
集群系統
單處理系統採用單處理器。在單處理器系統中,有一個主CPU能夠執行一個通用指令集,包括來自用戶進程的指令。
多處理器系統主要的三個優點:
增加吞吐量:通過增加處理器的數量,希望能在更短的時間內做更多的事情。
規模經濟:多處理器系統比單處理系統能節省資金,這是因為它們能共用外設,大容量存儲和電源供給。
增加可靠性:如果將功能分步在多個處理器上,那麼單個處理器失靈將使得整個系統停止,只會導致速度降低而言。
集群系統:由兩個或者多個獨立的系統耦合起來的。集群的定義目前尚未定形。較為常用的定義是集群電腦共用並通過區域網連接或更快的內部連接。
集群通常用來提供高可用性服務。這意味著即使集群中的一個或者多個系統出錯,服務仍然繼續。
集群可以是對稱的,也可以是非對稱的。非對稱集群(asymmetric clustering)中,一臺機器出於熱備份模式(hot standby mode),而另一臺運行應用程式。熱備份主機只監視活動伺服器。如果該伺服器失效,那麼備份伺服器會成為現行伺服器。對於對稱集群,兩個或多個主機都運行應用程式,它們互相監視。
集群系統的詳細介紹:
http://blog.csdn.net/wangxx2011/article/details/7425219