第2章 計算機系統結構簡介

2021-09-01 05:06:48 字數 3977 閱讀 7557

2.1 計算機系統結構

2.1.1 層次結構

現代的通用計算機系統是由硬體和軟體組成的一種層次式結構。最內層是硬體系統,最外層是使用計算機系統的人,人與硬體系統之間是軟體系統。

硬體系統主要由**處理器(cpu)、儲存器、輸入/輸出控制系統和各種輸入/輸出裝置組成。

軟體系統包括系統軟體、支撐軟體和應用軟體三部分。

系統軟體是計算機系統中與硬體結合最緊密的軟體,也是計算機系統中必不可少的軟體。例如,作業系統、編譯系統都是系統軟體。作業系統的功能是實現資源的管理和控制程式的執行。編譯系統的功能是把用高階語言所寫的源程式翻譯成計算機可執行的由機器語言(指令)表示的目標程式。

支撐軟體是可支援其他軟體的開發和維護的軟體。例如,資料庫、各種介面軟體、軟體開發工具等都是支撐軟體。

應用軟體是按特定領域中的某種需要而編寫的專用程式。例如,財務管理、人口普查等專用程式均屬應用軟體。

2.1.2 系統工作框架

任何乙個計算機系統都有「引導程式」(或稱初啟程式),當操作員接通計算機電源或重新啟動系統時,計算機系統立即自動執行該引導程式。引導程式首先進行系統初始化的工作,然後把作業系統中的核心程式裝入主儲存器,並讓作業系統的核心程式占用處理器執行。

2.2 硬體環境

2.2.1 cpu與外設的並行工作

在現代的通用計算機系統中,都是通過輸入/輸出控制系統完成外圍裝置與主儲存器之間的資訊傳送。各種外圍裝置連線在相應的裝置控制器上。這些裝置控制器又通過通道連線在公共的系統匯流排上。

2.2.2 儲存體系

在計算機系統中用來存放程式和資料的部件是儲存器。現代計算機系統都採用多級儲存體系,它包括暫存器、主儲存器、高速緩衝儲存器和輔助儲存器。

1. 暫存器

暫存器是處理器的組成部分,用來存放處理器的工作資訊。

(1) 

通用暫存器。存放參加運算的運算元、指令的運算結果等。

(2) 

指令暫存器。存放當前從主儲存器讀出的命令。

(3) 控制暫存器。存放控制資訊以保證程式的正確執行和系統的安全。常用的控制暫存器有程式狀態字暫存器、中斷字暫存器、基址暫存器、限長暫存器等。

程式狀態字暫存器:存放當前程式執行時的狀態。

中斷暫存器:記錄出現的事件。

限長暫存器:設定程式執行時可訪問的主存控制項的長度。

2. 主儲存器

在計算機系統中,任何程式和資料都必須在裝入主儲存器之後才能對其進行操作。主儲存器以「位元組」為單位進行編址。若干個位元組可組成乙個「字」。

3. 高速緩衝儲存器

位於處理器和主儲存器之間的cache起到了縮短訪問事件和緩衝儲存的作用,故稱其為快取記憶體儲存器。

4. 輔助儲存器

磁碟和磁帶是最常用的輔助儲存器。輔助儲存器的優點是容量大且能永久地儲存資訊,但它們不能被**處理器直接訪問。

2.2.3 保護措施

下面介紹硬體的部分保護措施,在後面的章節裡講看到作業系統是怎樣與硬體合作來實現對使用者程式的保護。

1. 特權指令

為保證計算機系統能正確可靠地工作,硬體把由**處理器執行的指令分為兩類:特權指令和非特權指令。不允許使用者程式中直接使用的指令稱為特權指令,其餘的稱為非特權指令。例如,「啟動i/o」、設定時鐘、設定控制暫存器等一類可能影響系統安全的指令都屬於特權指令。

特權指令只允許作業系統程式使用,使用者程式不得使用特權指令。

2. 管態和目態

**處理器設定了兩種工作狀態:管態和目態。當**處理器處於管態時可執行包括特權指令在內的一切機器指令,當**處理器處於目態時不允許執行特權指令。

3. 儲存保護

每個程式在主存中佔乙個連續的儲存空間。硬體設定兩個暫存器:乙個稱為「基址暫存器」,另乙個稱為「限長暫存器」,用來限定使用者程式執行時可以訪問的主存空間範圍。

2.3. 作業系統結構

2.3.1 設計目標

作業系統的設計應追求下列目標。

1. 正確性

2. 高效性

3. 維護性

4. 移植性

所謂移植性,是指能否方便地把作業系統從乙個硬體環境移植到另乙個新的硬體環境之中。

2.3.2 作業系統的層次結構

作業系統結構的設計方法有無序模組法、核心擴充法、層次結構法、管程設計法等。

2.3.3 unix系統的結構

unix是乙個互動式的分時作業系統。從結構上看,unix可以分成核心層和外殼層兩部分。

核心層是unix作業系統的核心,它具有儲存管理、檔案管理、裝置管理、程序管理等功能,以及為外殼層提供服務的系統呼叫。外殼層為使用者提供各種操作命令(unix把它們稱為shell命令)和程式設計環境。外殼層由shell解釋程式、支援程式設計的各種語言(如c、pascal和basic等)、編譯程式、解釋程式、實用程式和系統庫等組成。

unix系統不允許外殼程式直接訪問和干擾核心程式。因此,unix系統提供兩種程式執行環境,即使用者態和核心態。外殼層的程式在使用者態執行,核心層的程式在核心態執行。unix把在使用者態執行的程式稱為使用者程式,把在核心態執行的程式稱為系統程式。

2.4 作業系統與使用者的介面

作業系統為使用者提供兩種型別的使用介面,一種是操作員級的介面,另一種是程式設計師級的介面,以便使用者與作業系統建立聯絡。操作員級的介面是一組操作控制命令,它們供使用者提出如何控制作業執行的要求。程式設計師級的介面是一組系統功能呼叫,它們為使用者程式提供服務功能。

2.4.1 操作控制命令

作業系統提供了讓聯機使用者(操作員一級)表示作業執行步驟的手段:操作控制命令。

2.4.2 系統呼叫

作業系統編制了許多不同功能的子程式(例如,讀檔案子程式,寫檔案子程式,分配主存空間子程式,啟動i/o子程式等),供使用者程式執行中呼叫。這些由作業系統提供的子程式稱為系統功能呼叫程式,簡稱系統呼叫。

系統呼叫應是在管態下執行的程式。

現代計算機系統的硬體系統都有一條「訪管指令」。這是一條可在目態下執行的指令。

不同的作業系統提供的系統呼叫不全相同。大致上可分為如下幾類。 1.

檔案操作類

這類系統呼叫有開啟檔案、建立檔案、讀檔案、寫檔案、關閉檔案、刪除檔案等。 2.

資源申請類

使用者呼叫系統功能請求分配主存空間、歸還主存空間、分配外圍裝置、歸還外圍裝置等。 3.

控制類

執行中的程式可以請求作業系統中止其執行或返回到程式中的某一點再繼續執行。作業系統要根據程式中止的原因和使用者的要求作出處理。因而這類系統呼叫有正常結束、異常結束、返回斷點/指定點等。 4.

資訊維護類

例如,設定日曆時間、獲取日曆時間、設定檔案屬性、獲取檔案屬性等。

2.5 unix的使用者介面

2.5.1 shell命令

unix提供操作控制命令稱為shell命令,一組shell命令組成了shell命令語言。

unix是乙個多使用者的分時作業系統。每個使用者在使用shell命令前必須先在系統中註冊登入,以便系統識別和區分使用系統的每個使用者,並且能保證每個使用者的程式和資料不被其他使用者破壞。

shell解釋程式以互動方式為使用者服務。每當做好接收一條命令的準備時,就會顯示乙個提示符,對於不同版本的unix系統提供的shell命令會有差異,故它們採用不同的提示符來區分。例如,bourne shell的提示符是$,c shell的提示符是%.

unix規定,只要在請求後台執行的命令末尾輸入字元「&」,系統在執行命令時,若發現末尾有「&」符號,則就把實現這條命令功能的程式轉入後台執行。

unix系統允許使用者把若干條shell命令編輯成乙個檔案,來表示一組命令的執行順序,用shell命令編輯成的檔案稱為shell檔案。

2.5.2 unix系統呼叫

unix的核心為外殼層的使用者程式提供了一組系統呼叫。它們是外殼的使用者程式請求unix為其服務的唯一形式。

在unix中,規定使用者用「trap」指令(unix中的訪管指令)來請求系統呼叫。

由於使用者程式在使用者態執行,系統呼叫處理程式是在核心態允許,而在使用者態和和心態執行的程式分別占用不同的儲存空間,所以,在進行系統呼叫處理時必須把使用者程式提供的引數從使用者態的儲存區域(使用者資料區)傳送到核心態的儲存區域(系統工作區)。

unix設定了一張「系統呼叫程式入口表」。該表中每個表項的內容都包含有系統呼叫編號、系統呼叫所帶引數個數、系統呼叫程式入口位址、系統呼叫名稱。

計算機系統簡介

計算機系統簡介 my blog something 應用軟體 使用者根據任務需要所編制的各種程式 計算機效能的好壞取決於軟 硬體功能的總和。一般認為計算機系統具有四級層次結構。由組合語言程式翻譯成機器語言程式,才能被機器接受並執行。m 2m 2 m2 是人們感受到的存在的一台具有翻譯功能的機器,稱為...

計算機系統結構 計算機 計算機系統的基本結構

乙個完整的計算機系統是由計算機硬體系統和計算機軟體系統兩部分組成。硬體是計算機的實體,又稱為硬裝置,是所有固定裝置的總稱。它是計算機實現其功能的物質基礎,其基本配置可分為 主機 鍵盤 顯示器 光碟機 硬碟 軟盤驅動器 印表機 滑鼠等。軟體是指揮計算機執行的程式集,按功能分系統軟體和應用軟體。1 由運...

《深入理解計算機系統》 第1章 計算機系統漫遊

4.執行hello程式 最近重啟了寫部落格,都說念念不忘必有迴響。自從上一遍部落格,到現在已經過去了快兩年的時間。在這期間一直在想著什麼時候寫個部落格呀,什麼時候再摸著鍵盤一點點的碼字啊,心裡一直在想,直到現在,終於有了行動。看著乙個乙個的字,隨著鍵盤的敲擊,一串串躍然於螢幕之上,心裡有說不出來的平...