天天看點

《計算機系統:系統架構與作業系統的高度內建》——1.4 盒子裡正在發生什麼事

本節書摘來自華章計算機《計算機系統:系統架構與作業系統的高度內建》一書中的第1章,第1.4節,作者:(美)拉姆阿堪德蘭(ramachandran, u.)(美)萊希(leahy, w. d.)著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

可以把視訊遊戲的例子作為問題來驅動我們進一步了解應用程式、作業系統和硬體之間的互動。對我們來說要更好地了解盒子裡正在發生什麼事,需要很好地掌握系統軟體和硬體體系結構的行為。

首先,了解計算機系統有多種實作形式是有益的。計算機系統的實作形式包括手持裝置(如手機或個人數字助理(pda))、平闆電腦、筆記本電腦、桌面電腦、并行計算機、叢集計算機以及超級計算機等,如圖1-7所示。

盡管這些計算機系統的外觀和大小不同,但其内部的硬體組織結構在很大程度上是相同的。其中包括一顆或多顆中央處理單元(cpu)、記憶體以及輸入/輸出裝置。将這些部件連接配接起來的管道叫做總線(bus),裝置控制器則在cpu和相關外設之間起中介作用。這些計算機的計算能力、記憶體容量以及輸入/輸出(i/o)裝置的種類和數量可能有很大不同。例如,pda擁有與其用途比對的有限i/o能力,包括觸摸屏、麥克風以及揚聲器。用來運作大規模科學計算應用(如氣候變化模組化)的高端超級計算機則可能包括成千上萬個cpu、多達數個tb的記憶體和具有pb級存儲容量的磁盤陣列。圖1-8展示了典型的桌面計算機系統的硬體組織。

《計算機系統:系統架構與作業系統的高度內建》——1.4 盒子裡正在發生什麼事

圖1-7  從pda到超級計算機。各種計算機系統的執行個體,從手持裝置到占據了整層建築空間的超級計算機,例如像yahoo和google這樣的搜尋引擎公司或是在國家實驗室裡進行氣候變化模拟的伺服器叢集

《計算機系統:系統架構與作業系統的高度內建》——1.4 盒子裡正在發生什麼事

圖1-8  桌面計算機的硬體組織。盡管有多種多樣的計算平台,但計算機系統的基本組成是非常相似的。注意這種組織形式使得可以在硬體元件上同時支援多個操作

計算機的硬體組織形式揭示了在硬體單元上同時進行操作的可能性(即并發性)。例如,在列印機列印文檔的時候,硬碟可以讀取mp3檔案以播放你喜歡的音樂,而此時你正在用web浏覽器閱讀cnn的新聞故事。cpu是整個系統的大腦。計算機系統裡發生的每件事都是在cpu上運作某些程式的結果。你可能會觀察到,在你從計算機螢幕上看cnn的同時,文檔編輯程式正通過列印機列印你的文檔。web浏覽器是一個應用程式,文檔編輯器也是應用程式。作業系統為每個應用程式配置設定cpu時間,以觸發其動作。是以,圖1-8所示的計算機組織方式所支援的并發性在實際中得到了實作。

1.4.1 在計算機上啟動應用程式

讓我們來了解圖1-8中的各個部件如何整合起來,與作業系統一起為你提供簡單的計算體驗—比如在顯示裝置上看視訊。下面的描述為了講解友善特意進行了簡化。圖中标有“記憶體”的方框存儲着要在cpu上執行的所有程式。在沒有任何使用者程式的情況下,作業系統(其自身也是一個程式)總是在cpu上執行,并随時準備執行使用者想要計算機系統執行的任務。首先,使用滑鼠在顯示裝置上點選标有“電影播放器”的圖示。滑鼠的移動和滑鼠點選都被作業系統接收,作業系統通過被點選的圖示得知使用者要執行的是哪個程式。所有的程式都在某個儲存設備上儲存着,最常見的情況是儲存在計算機的硬碟上。作業系統将電影播放器的可執行鏡像“加載”到記憶體中并将cpu的控制權轉移以啟動這個程式的執行。

電影播放程式的執行結果是,顯示器上打開了一個圖形視窗,并請你指定要看的電影檔案。你可能會使用鍵盤來打出檔案的名稱,包括檔案所在的盤符(例如dvd驅動器)。該程式在dvd驅動器上打開檔案并播放,現在你可以在顯示裝置上觀看喜愛的電影了。作業系統參與了給你提供觀影體驗的每一個步驟,包括:(a)重新整理圖形顯示,(b)捕獲使用者的鍵盤輸入并轉交給電影播放器程式,(c)将資料從諸如dvd驅動器之類的儲存設備移動到記憶體中。将資料在i/o裝置和記憶體之間移動的實際機制取決于裝置的特性。我們将在第10章介紹i/o子系統的時候在這方面展開更詳細的讨論。

圖1-8中的i/o總線和系統總線的作用是作為多種硬體單元之間資料移動的通道。正如高速公路和地面道路有不同限速一樣,這些不同的總線在傳輸資料的時候也會有不同的速度特性。圖1-8中标有“橋”的方框就是用于平滑計算機系統組成中不同通道的速度差異。