天天看點

作業系統之運作環境簡介

作業系統運作環境:

    作業系統的運作環境主要包括系統的硬體環境和由其他的系統軟體組成的軟體環境,以及作業系統和使用它的使用者之間的關系。

一、中央處理器:

1.1 指令

          (1)計算機的基本功能是執行程式,最終被執行的程式是存儲在記憶體中的機器指令程式。

          (2)機器指令的集合稱指令系統,反映了一台機器的功能和處理能力。指令分為以下五類:

                 1)資料處理類指令;2)轉移類指令; 3)資料傳送類指令;4)移位與字元串指令;5)I/O類指令

          (3)指令系統包含特權指令與非特權指令

          (4)特權指令是指在指令體統中那些隻能由作業系統使用的指令,不允許一般使用者使用.

1.2 處理器

      (1)管理狀态(特權狀态、系統模式、特态或管态)——作業系統管理程式運作的狀态

               使用者狀态(目标狀态、使用者模式、常态或目态)——使用者程式運作的狀态

      (2)處理器處于管理狀态時,程式可以執行全部指令,使用所有資源,具有改變處理器狀态的能力;處理器處于使用者狀态時,程式隻能執行非特權指令。

      (3)Intel 386後的處理器實作4個特權級模式:Ring0,Ring1,Ring2,Ring3;Windows使用Ring0,Ring3;

               Ring0級權限最高,作業系統、裝置驅動程式運作在這一級;Ring3級權限最低,普通使用者運作在這一級。

      (4)使用者态切換到核心态的三種方式:系統調用、中斷、異常

      (5)處理器根據程式計數器(PC)從記憶體中取指令到指令寄存器并執行它,PC将自動增長或改變為轉移位址指明下條執行的指令。

1.4 寄存器(處理器内部的存儲功能部件)

  (1) 類型

a、通用寄存器:可由程式設計者指定其功能,如存放操作數或用作尋址。

b、資料寄存器:用以存放操作數。它們作為記憶體資料的高速緩存,可以被系統程式和使用者程式直接使用并進行計算。

c、位址寄存器:用于指明記憶體位址。如索引寄存器、段寄存器(基址/限長)、堆棧指針寄存器等等。

d、I/O 位址寄存器(I/O AR) :用于指定I/O裝置。

e、  I/O緩沖寄存器(I/OBR):用于處理機和I/O裝置交換資料。

f、控制寄存器:用于存放處理機的控制和狀态資訊。

■  程式計數器(PC)、指令寄存器(IR)、中斷寄存器、程式狀态字(PSW)。

g、存儲器位址寄存器(MAR)、存儲器資料寄存器(MBR)

  (2)PSW用來控制指令執行順序并保留和訓示與程式有關的系統狀态,主要作用是實作程式狀态的保護和恢複。

        a) 每個程式都有一個與其執行相關的PSW,每個處理器都設定一個PSW寄存器。程式占有處理機執行,它的PSW将占有程式狀态寄存器。

        b)  Intel Pentium中,PSW由标志寄存器EFLAGS和指令指針寄存器EIP組成,均為32位。

        c) EFLAGS的低16位稱FLAGS,标志可劃分為三組:狀态标志、控制标志、系統标志。

        d) 程式基本狀态包括:

             程式計數器:     指明下一條執行的指令位址;■  (2)條件碼:表示指令執行的結果狀态;

             處理機狀态位: 指明目前的處理機狀态。

             中斷碼:            儲存程式執行時目前發生的中斷事件。

             中斷屏蔽位:     指明程式執行中發生中斷事件時,是否響應出現的中斷事件。

二、主存儲器:

2.1 定義

主存儲器(Main memory),簡稱主存。是計算機硬體的一個重要部件,其作用是存放指令和資料,并能由中央處理器(CPU)直接随機存取。

2.2 分類

        (a)随機存儲器( RAM):程式執行過程中可讀可寫

                SRAM:靜态随機存儲器,不必重新整理電路就能儲存資料。

                DRAM:動态随機存取存儲器,DRAM用電容存儲資料,需要定時充電。

        (b)隻讀存儲器(ROM):程式執行過程中隻讀

                MROM:掩模式隻讀存儲器,MROM的内容在出廠前一次寫入,之後不能更改。

                PROM:可程式設計隻讀存儲器,隻能寫入一次資料的隻讀存儲器。

                EPROM:可擦除可程式設計隻讀寄存器

                EEPROM:電可擦可程式設計隻讀存儲器

2.3 存儲分塊

存儲器的最小編址機關是位元組,一個位元組包含8個二進制位。每個存儲單元單元存放8位二進制數。

為了簡化對存儲器的配置設定和管理,計算機系統中把存儲器分塊。為使用者配置設定主存空間時,以塊為最小機關。

2.4 存儲保護

  1)加界保護方式:在CPU中設定了多個界限寄存器,每一個使用者程式占用一對界限寄存器。當調入時,可以将其上界、下界存入界限寄存器中。這種保護方式是對存儲區的保護,運用于段式管理。

(2)鍵保護方式:将主存的每一頁都設定一個存儲器,給予一個鍵号,此鍵号存放在快表的表目中。對于每個使用者的程式的各頁,也設定一個程式鍵,給予一個鍵号。當該頁由輔存調入主存時,就将其調入的實頁号及其鍵号登記在快表中,将程式鍵号送入到程式狀态字中。每次通路主存。首先進行鍵号比較,如果鍵号相等才允許通路,如同一把鑰匙開一把鎖,存放鍵與程式鍵鍵号的配置設定,由作業系統完成。

(3)環保護方式:将系統程式和各使用者程式按其功能的性質和要求分為幾個級别,分别授予不同的權限。

三、中斷:

3.1 定義

中斷是指程式執行過程中,當發生某個事件時,中止CPU上現行程式的運作,引出處理該事件的程式執行的過程

3.2 意義

能充分發揮處理器的使用效率,能提高系統的實時處理能力

3.3 中斷處理過程

請求中斷

當某一中斷源需要CPU為其進行中斷服務時,就輸出中斷請求信号,使中斷控制系統的中斷請求觸發器置位為1,向CPU請求中斷。通常對每個中斷源都分别用一個固定的就觸發器來寄存中斷信号。這些觸發器的全體稱為中斷寄存器。系統要求中斷請求信号一直保持到CPU對其進行中斷響應為止。

中斷響應

處理器的控制部件中有一個中斷掃描機構,可以檢測中斷信号,它在每條指令執行周期内的最後時刻掃描中斷寄存器,詢問是否有中斷信号到來。若無信号,就繼續執行下面的指令;若有中斷到來,則中斷硬體将該中斷寄存器的内容按規定的編碼送入程式的PSW的相應位。

關閉中斷

CPU響應中斷後,輸出中斷響應信号,自動将狀态标志寄存器FR或EFR的内容壓入堆棧保護起來,然後将FR或EFR中的中斷标志位IF與陷阱标志位TF清零,進而自動關閉外部硬體中斷。因為CPU剛進入中斷時要保護現場,主要涉及堆棧操作,此時不能再響應中斷,否則将造成系統混亂。

保護斷點

保護斷點就是将CS和IP/EIP的目前内容壓入堆棧儲存,以便中斷處理完畢後能傳回被中斷的原程式繼續執行,這一過程也是由CPU自動完成。

中斷源識别

當系統中有多個中斷源時,一旦有中斷請求,CPU必須确定是哪一個中斷源提出的中斷請求,并由中斷控制器給出中斷服務子程式的入口位址,裝入CS與IP/EIP兩個寄存器。CPU轉入相應的中斷服務子程式開始執行。

保護現場

主程式和中斷服務子程式都要使用CPU内部寄存器等資源,為使中斷處理程式不破壞主程式中寄存器的内容,應先将斷點處各寄存器的内容壓入堆棧保護起來,再進入的中斷處理。

中斷服務

恢複現場

當中斷處理完畢後,使用者通過POP指令将儲存在堆棧中的各個寄存器的内容彈出,即恢複主程式斷點處寄存器的原值。

中斷傳回

在中斷服務子程式的最後要安排一條中斷傳回指令IRET,執行該指令,系統自動将堆棧内儲存的 IP/EIP和CS值彈出,進而恢複主程式斷點處的位址值,同時還自動恢複标志寄存器FR或EFR的内容,使CPU轉到被中斷的程式中繼續執行。

3.4 中斷(狹義)與異常的差別

         中斷: 與正執行指令無關,可以屏蔽;

         異常: 與正執行指令有關,不可屏蔽

3.5 中斷屏蔽

保證在執行一些重要的程式中不響應中斷,以免造成遲緩而引起錯誤。

•中斷屏蔽有兩種方法:

   硬體實作(由軟體置處理機優先級,硬體按系統設計時的約定,屏蔽那些低優先級中斷);

   軟體實作(由軟體按作業系統優先級約定,設定屏蔽寄存器)。

四、重定位:

•使用者程式的兩種位址和空間

•絕對位址:記憶體中的實際位址(實體位址)。

•相對位址:相對于某個基準量編址時所使用的位址。

•相對位址空間:程式中相對位址的全體。

•邏輯位址空間:一個被彙編、編譯或連接配接裝配後的目标程式所限定的位址的集合。

•位址的重定位

•程式被裝入到配置設定給它的記憶體儲區時,必須對每

•條指令裡所涉及到的邏輯位址進行修改,使它們能夠

•正确地反映出所在的存儲位置。這種把邏輯位址轉換成實體位址的過程,稱為位址的“重定位”。

•位址定位的三種方式

•絕對定位方式 :即在程式裝入記憶體之前,程式指令中的位址就已經是絕對位址,已經正确地反映了它将要進入的存儲區位置。

•靜态重定位方式 :在程式運作前完成位址重定位工作

•動态重定位方式 :位址定位的時間推遲到程式執行時進行

繼續閱讀