哈工程考研課件new第7章接口_第1頁
哈工程考研課件new第7章接口_第2頁
哈工程考研課件new第7章接口_第3頁
哈工程考研課件new第7章接口_第4頁
哈工程考研課件new第7章接口_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、7.1 操作系統(tǒng)接口操作系統(tǒng)接口 程序啟動方式程序啟動方式, ,程序結束時系統(tǒng)所做的工作程序結束時系統(tǒng)所做的工作 用戶與操作系統(tǒng)的接口用戶與操作系統(tǒng)的接口 系統(tǒng)調(diào)用:用戶程序提出服務請求的手段,系統(tǒng)調(diào)用:用戶程序提出服務請求的手段, 基本思想,實現(xiàn)方法基本思想,實現(xiàn)方法 操作系統(tǒng)安裝與啟動操作系統(tǒng)安裝與啟動7.1.1 程序的啟動和結束程序的啟動和結束 1. 程序的啟動程序的啟動五種啟動方式五種啟動方式程序開始執(zhí)行時必須滿足兩個前提條件:程序開始執(zhí)行時必須滿足兩個前提條件: 程序已裝入內(nèi)存程序已裝入內(nèi)存 程序計數(shù)器程序計數(shù)器PC中已置入該程序在內(nèi)存的入中已置入該程序在內(nèi)存的入口地址口地址第一種方

2、式:命令方式第一種方式:命令方式命令提示符下打入程序名和參數(shù),回車命令提示符下打入程序名和參數(shù),回車 如如DOS : c UNIX:$ 命令解釋程序命令解釋程序 DOS: (在所設路徑中在所設路徑中) UNIX: SHELL Windows:窗口菜單顯示和鼠標操作:窗口菜單顯示和鼠標操作命令方式的命令方式的程序啟動程序啟動開機開機顯示命令提示符顯示命令提示符輸入命令輸入命令從外存調(diào)入從外存調(diào)入外部命令執(zhí)行外部命令執(zhí)行執(zhí)行執(zhí)行命令解釋命令解釋程序中的該命令程序中的該命令合法否合法否? ?N N內(nèi)部命令內(nèi)部命令? ?Y YN NY Y第二種方式:批處理方式第二種方式:批處理方式.BAT 文件文件

3、(DOS系統(tǒng)系統(tǒng))例子:例子:啟動中文環(huán)境需要多條命令:啟動中文環(huán)境需要多條命令: 裝入字庫裝入字庫 啟動主程序啟動主程序 裝入漢字輸入法裝入漢字輸入法 AUTOEXEC.BAT (開機時的自動批處理開機時的自動批處理)批方式下的裝批方式下的裝 入執(zhí)行過程入執(zhí)行過程以命令方式以命令方式輸入輸入批文件命令批文件命令操作系統(tǒng)調(diào)入批文件操作系統(tǒng)調(diào)入批文件,讀入第一條命令讀入第一條命令裝入該命令要執(zhí)行的程序裝入該命令要執(zhí)行的程序執(zhí)行該程序執(zhí)行該程序從該批文件中從該批文件中讀下一條命令讀下一條命令批文件完批文件完否否? ?N NY Y命令提示符命令提示符命令提示符命令提示符第三種方式:第三種方式: EX

4、EC方式方式EXEC方式的過程方式的過程“父父”程序執(zhí)行程序執(zhí)行exec調(diào)用調(diào)用操作系統(tǒng)實現(xiàn)操作系統(tǒng)實現(xiàn)exec的裝入的裝入(建立進程建立進程)啟動(或轉調(diào)度子程序或返回)啟動(或轉調(diào)度子程序或返回)“子子”程序執(zhí)行程序執(zhí)行回到操作系統(tǒng)回到操作系統(tǒng),進行子程序結果處理工進行子程序結果處理工作作,并將結果信息返回并將結果信息返回“父父”程序程序“父父”程序繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行在一個程序中運在一個程序中運行另一個程序行另一個程序返回原來的程序返回原來的程序第四種方式:第四種方式:第五種方式:自啟程序第五種方式:自啟程序由硬件裝入程序和啟動程序執(zhí)行由硬件裝入程序和啟動程序執(zhí)行 自己裝入自己自己裝入自

5、己, 并啟動自己開始執(zhí)行的程序并啟動自己開始執(zhí)行的程序 自啟程序由兩部分組成自啟程序由兩部分組成 引導程序和程序主體引導程序和程序主體自啟程序裝入自啟程序裝入與啟動的過程與啟動的過程用戶程序存放在外存上,其自含的引導程用戶程序存放在外存上,其自含的引導程序順序放在存儲介質的開始位置序順序放在存儲介質的開始位置(如如0磁道磁道)將該介質將該介質(如軟盤如軟盤)放到聯(lián)機輸入裝置上放到聯(lián)機輸入裝置上以某種硬操作方法以某種硬操作方法(如熱啟動如熱啟動)通知計算機需執(zhí)行自啟程序通知計算機需執(zhí)行自啟程序硬件將上述引導程序讀入內(nèi)存硬件將上述引導程序讀入內(nèi)存并將控制權傳給它并將控制權傳給它引導程序將用戶主體程

6、序讀入內(nèi)存引導程序將用戶主體程序讀入內(nèi)存并將控制權傳給它并將控制權傳給它引導程序引導程序2. 程序的結束程序的結束 正常結束:程序按自身的邏輯有效地完成預正常結束:程序按自身的邏輯有效地完成預定功能后結束定功能后結束 (a) 返回父程序并回送結果信息。返回父程序并回送結果信息。 (b) 釋放所用資源釋放所用資源(空間空間.設備設備),記錄使用情況記錄使用情況,記帳等記帳等 異常結束:發(fā)生了某些錯誤而導致程序在沒異常結束:發(fā)生了某些錯誤而導致程序在沒有完成預定功能時提前結束有完成預定功能時提前結束7.1.2 用戶與操作系統(tǒng)的接口用戶與操作系統(tǒng)的接口 1. 作業(yè)級接口作業(yè)級接口 作業(yè)級接口作業(yè)級接

7、口 程序級接口程序級接口操作系統(tǒng)為用戶對作業(yè)運行全過程控制提供的功能操作系統(tǒng)為用戶對作業(yè)運行全過程控制提供的功能(1) 聯(lián)機接口(交互式)聯(lián)機接口(交互式)(2) 脫機接口脫機接口 脫機作業(yè)脫機作業(yè) 是指用戶不能直接與計算機系統(tǒng)交互,中間通過操作員干預的作業(yè)。 通常是在批處理系統(tǒng)中使用,所以也成為批量型作業(yè) 聯(lián)機作業(yè)聯(lián)機作業(yè) 是指用戶和計算機系統(tǒng)直接交互,用戶通過終端或控制臺鍵盤上的操作命令或菜單圖表等方式控制器作業(yè)的運行,也成交互型作業(yè)或終端型作業(yè) 脫機用戶接口脫機用戶接口:由一組作業(yè)控制命令,或稱由一組作業(yè)控制命令,或稱作業(yè)控制語言組成作業(yè)控制語言組成 脫機用戶接口脫機用戶接口:使用作業(yè)控

8、制卡和作業(yè)說明使用作業(yè)控制卡和作業(yè)說明書兩種形式書兩種形式 作業(yè)控制卡作業(yè)控制卡:就是使用作業(yè)控制語言將用戶對作業(yè)的控制意圖、程序、數(shù)據(jù)等卡片一起送入系統(tǒng),由系統(tǒng)解釋執(zhí)行 作業(yè)說明書作業(yè)說明書:是使用某種作業(yè)控制命令將用戶對作業(yè)控制的意圖寫成作業(yè)說明書,從而實現(xiàn)對作業(yè)的控制。作業(yè)說明書主要包括作業(yè)情況和作業(yè)資源要求兩方面的內(nèi)容;前者主要指用戶名、作業(yè)名、使用語言、作業(yè)控制方式、優(yōu)先級等;后者包括內(nèi)存核外村的空間要求量、設備的類型、臺數(shù)、估計的計算時間等。作業(yè)說明書中常用命令的主要類型如下:輸入/輸出命令編譯命令操作命令條件命令全稱全稱: Simultaneous Peripheral Oper

9、ations On-Line含義含義: 聯(lián)機情況下的同時外圍操作聯(lián)機情況下的同時外圍操作(假脫機技術假脫機技術)包括:包括: 輸入程序模塊輸入程序模塊 輸出程序模塊輸出程序模塊 作業(yè)調(diào)度程序作業(yè)調(diào)度程序工作過程工作過程: 利用磁盤作緩沖利用磁盤作緩沖, 將輸入、計算、輸出分將輸入、計算、輸出分 別組織成獨立的任務流別組織成獨立的任務流, 使使I/O和計算真正并行。和計算真正并行。(3) SPOOLing (假脫機假脫機) 用慢速設備將作業(yè)預先輸入到輸入井用慢速設備將作業(yè)預先輸入到輸入井 (后援存儲器后援存儲器 如如:磁盤、磁鼓磁盤、磁鼓)中中, 稱為預輸入。稱為預輸入。 運行時運行時, 按某種

10、調(diào)度策略選擇幾種搭配得當?shù)淖鳂I(yè),按某種調(diào)度策略選擇幾種搭配得當?shù)淖鳂I(yè),從輸入井調(diào)入內(nèi)存從輸入井調(diào)入內(nèi)存, 使用數(shù)據(jù)時使用數(shù)據(jù)時, 從輸入井中取出。從輸入井中取出。 作業(yè)運行中輸出數(shù)據(jù)不必直接啟動外設作業(yè)運行中輸出數(shù)據(jù)不必直接啟動外設, 只需將這只需將這些數(shù)據(jù)寫入輸出井中。些數(shù)據(jù)寫入輸出井中。 作業(yè)全部運行完畢作業(yè)全部運行完畢, 再由外設輸出全部數(shù)據(jù)和信息,再由外設輸出全部數(shù)據(jù)和信息,稱為緩輸出。稱為緩輸出。 實現(xiàn)了對作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理實現(xiàn)了對作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理使外設在使外設在CPU控制下控制下, 與與CPU并行工作并行工作(稱為假脫機稱為假脫機)。SPOOLin

11、g系統(tǒng)系統(tǒng)輸入裝置輸入裝置輸入裝置輸入裝置通通道道通通道道輸出裝置輸出裝置輸出裝置輸出裝置通通 道道輸入管輸入管 輸出管輸出管理模塊理模塊 理模塊理模塊外外 設設輸入輸入 輸出輸出井井 井井 主機系統(tǒng)主機系統(tǒng)典型的作業(yè)步典型的作業(yè)步編譯編譯連接裝配連接裝配運行運行目標目標程序程序 段段目標目標程序程序源程序源程序輸入數(shù)據(jù)輸入數(shù)據(jù)子程序子程序庫函數(shù)庫函數(shù)動態(tài)庫函數(shù)動態(tài)庫函數(shù)計算結果計算結果2. 程序級接口程序級接口 系統(tǒng)為用戶在程序一級提供有關服務而設置系統(tǒng)為用戶在程序一級提供有關服務而設置由一組系統(tǒng)調(diào)用命令組成。由一組系統(tǒng)調(diào)用命令組成。負責管理和控制運行的程序負責管理和控制運行的程序并在這些程

12、序與系統(tǒng)控制的資源和提供的服并在這些程序與系統(tǒng)控制的資源和提供的服務間實現(xiàn)交互作用務間實現(xiàn)交互作用用匯編語言:在程序中直接用系統(tǒng)調(diào)用命令用匯編語言:在程序中直接用系統(tǒng)調(diào)用命令用高級語言:可在編程時使用過程調(diào)用語句用高級語言:可在編程時使用過程調(diào)用語句7.1.3. 交互式系統(tǒng)接口交互式系統(tǒng)接口1. 聯(lián)機命令接口聯(lián)機命令接口 在操作系統(tǒng)與計算機用戶之間提供易于理在操作系統(tǒng)與計算機用戶之間提供易于理解的雙向通信機制。解的雙向通信機制。 基本任務:基本任務: 解釋命令解釋命令, 傳送命令以便執(zhí)行傳送命令以便執(zhí)行 接受系統(tǒng)信息接受系統(tǒng)信息, 以響應語言的形式提交給用戶以響應語言的形式提交給用戶 交互式命

13、令的接口復雜交互式命令的接口復雜 含功能結構含功能結構, 問題的處理問題的處理, 如各種約定如各種約定, 前端前端處理處理, 命令日志命令日志, 注解注解, 宏命令及命令組等。宏命令及命令組等。 交互式控制靈活方便交互式控制靈活方便: 可以隨時進行各種處理可以隨時進行各種處理, 排除問題排除問題, 方便調(diào)方便調(diào)試試; 系統(tǒng)利用率低。系統(tǒng)利用率低。 接口包括接口包括: 聯(lián)機命令聯(lián)機命令, 終端處理程序終端處理程序, 命令解釋程序。命令解釋程序。 聯(lián)機命令聯(lián)機命令(p221): 系統(tǒng)訪問命令、磁盤操作命令、文件管理系統(tǒng)訪問命令、磁盤操作命令、文件管理命令、目錄操作命令、其它命令。命令、目錄操作命令

14、、其它命令。2. 終端處理程序終端處理程序 交互式命令接口用戶同操作系統(tǒng)的通信是通交互式命令接口用戶同操作系統(tǒng)的通信是通過一個過一個I/O裝置來實現(xiàn)的。裝置來實現(xiàn)的。 I/O裝置一般是顯示終端。裝置一般是顯示終端。 輸入通過鍵盤輸入通過鍵盤, 或通過指示裝置或通過指示裝置(鼠標鼠標)輸入。輸入。 某些系統(tǒng)中某些系統(tǒng)中, 提供圖形顯示功能。提供圖形顯示功能。 不管哪種不管哪種I/O方式方式, 這個終端裝置是由一個終這個終端裝置是由一個終端處理程序來管理和控制的。端處理程序來管理和控制的。 終端處理程序提供的輸入輸出方式對整個用終端處理程序提供的輸入輸出方式對整個用戶命令接口有重大影響。戶命令接口

15、有重大影響。 也確定了用戶與其應用程序間的通信方式。也確定了用戶與其應用程序間的通信方式。(1)字符接收功能)字符接收功能 接收鍵盤打入的字符接收鍵盤打入的字符,并將鍵碼轉換為并將鍵碼轉換為ASCII碼碼,面向字符方式面向字符方式(將字符傳送給程序將字符傳送給程序)和面向行方式。和面向行方式。(2)回送顯示()回送顯示(Echoing) 通常通常, 每從鍵盤打入一個字符每從鍵盤打入一個字符, 終端處理序回送終端處理序回送響應的字符到顯示屏上。響應的字符到顯示屏上。 有時用戶要求其顯示一個不同的字符或不顯示有時用戶要求其顯示一個不同的字符或不顯示(例如例如, 用戶鍵入口令時用戶鍵入口令時)。 對

16、于通過遠程通信線路訪問的終端對于通過遠程通信線路訪問的終端, 回送顯示委回送顯示委托給遠程終端來實現(xiàn)。托給遠程終端來實現(xiàn)。鍵盤終端處理程序的功能鍵盤終端處理程序的功能(3)字符緩沖)字符緩沖 打入的字符在送到程序前打入的字符在送到程序前, 由終端處理程序保存。由終端處理程序保存。提供編輯提供編輯, 甚至取消命令的機會甚至取消命令的機會; 如行緩沖的行編輯。如行緩沖的行編輯。有專用緩沖方式有專用緩沖方式(每個終端專用每個終端專用)和公用緩沖方式。和公用緩沖方式。(4)提前打入()提前打入(Type ahead) 輸入字符在程序處理它們之前由輸入字符在程序處理它們之前由“提前打入進程提前打入進程”

17、把它們保存在緩沖區(qū)中把它們保存在緩沖區(qū)中(可以保存多行可以保存多行)。當緩沖區(qū)存。當緩沖區(qū)存滿后滿后, 再打入的字符會漏掉或覆蓋緩沖區(qū)原有內(nèi)容。再打入的字符會漏掉或覆蓋緩沖區(qū)原有內(nèi)容。(5)字符變換)字符變換 有些情況下,需要對打入的字符進行代碼變換。有些情況下,需要對打入的字符進行代碼變換。 如如: 把小寫字母轉換成大寫字母,或者反之。把小寫字母轉換成大寫字母,或者反之。(5)屏幕編輯)屏幕編輯 對輸入字符進行屏幕編輯對輸入字符進行屏幕編輯, 插入、刪除或改寫。插入、刪除或改寫。(6)特殊字符處理)特殊字符處理(熱鍵熱鍵) 中斷字符中斷字符:當前執(zhí)行的程序可接受中斷字符立即終當前執(zhí)行的程序可

18、接受中斷字符立即終止運行。如止運行。如: CTRL+C、CTRL+Break。 停止上卷字符停止上卷字符CTRL+S 恢復上卷字符恢復上卷字符CTRL+Q3. 命令解釋程序命令解釋程序 如:如:DOS 、UNIX shell (P227)(a)由終端命令解釋程序直接處理)由終端命令解釋程序直接處理 在無創(chuàng)建子進程功能的系統(tǒng)中在無創(chuàng)建子進程功能的系統(tǒng)中, 終端命令由對應的終端命令由對應的命令解釋程序處理命令解釋程序處理; 僅有一個進程對應一個終端用戶。僅有一個進程對應一個終端用戶。(b)由子進程代為處理)由子進程代為處理 在具有創(chuàng)建子進程功能的系統(tǒng)中在具有創(chuàng)建子進程功能的系統(tǒng)中, 對于較為單純的

19、命對于較為單純的命令令, 如列目錄如列目錄, 拷貝文件等拷貝文件等, 命令解釋程序本身便能完命令解釋程序本身便能完成成,此時由命令解釋程序直接處理。此時由命令解釋程序直接處理。 對較復雜命令對較復雜命令, 如對于如對于 Pascal 源程序進行編譯源程序進行編譯, 命令命令解釋程序本身不能處理解釋程序本身不能處理, 此時創(chuàng)建一個子進程此時創(chuàng)建一個子進程, 并由該并由該子進程運行子進程運行 Pascal 編譯程序。編譯程序。MS-DOS ExecutionUNIX System Structure4. 命令接口的結構命令接口的結構 命令接口由命令處理器來實現(xiàn)命令接口由命令處理器來實現(xiàn),它的實現(xiàn)方

20、式:它的實現(xiàn)方式:(a)作為)作為OS的一個部分的一個部分 如:如:OS/MVT或或VAX/VMS(b)作為)作為OS的一個獨特模塊,能方便地修改或替換的一個獨特模塊,能方便地修改或替換 如:如:RT-11或或CP/M(c)作為一易于被替換的普通程序)作為一易于被替換的普通程序 如:如:UNIX 操作系統(tǒng)操作系統(tǒng)(d)在某些系統(tǒng)中)在某些系統(tǒng)中, 可能用專門設計的命令接口替代可能用專門設計的命令接口替代標準的命令接口標準的命令接口 如:多用戶如:多用戶UNIX,用戶可有不同命令接口,用戶可有不同命令接口5. 命令語言命令語言 命令語言規(guī)定由命令語言規(guī)定由OS執(zhí)行的一系列操作執(zhí)行的一系列操作 在

21、一般的命令語言中在一般的命令語言中, 用戶通過打入稱為命令行的一用戶通過打入稱為命令行的一行指令行指令(語句語句)來規(guī)定每一個動作。來規(guī)定每一個動作。 命令行以命令開始命令行以命令開始, 它標識所要執(zhí)行的操作。它標識所要執(zhí)行的操作。 命令是用運行一段程序來執(zhí)行所請求的操作。命令是用運行一段程序來執(zhí)行所請求的操作。多數(shù)命令行中要給出一些參數(shù)多數(shù)命令行中要給出一些參數(shù), 每一命令語句實際上每一命令語句實際上是帶有參數(shù)的一個過程調(diào)用。是帶有參數(shù)的一個過程調(diào)用。命令語言通常提供下列幾組命令命令語言通常提供下列幾組命令: (p228)(1)系統(tǒng)訪問命令)系統(tǒng)訪問命令登錄命令,如:登錄命令,如:login

22、等等撤離命令,如:撤離命令,如:logout等等(2)文件操作命令)文件操作命令(3)編輯、編譯和執(zhí)行命令)編輯、編譯和執(zhí)行命令(4)詢問命令)詢問命令(5)操作員專用命令)操作員專用命令典型命令實例:典型命令實例:(1)UNIX系統(tǒng):系統(tǒng):whols -l(2)DOS系統(tǒng)系統(tǒng)dir c:(3)VAX/VMSrun mypro 命令的附加功能命令的附加功能 命令的附加功能用以擴大命令的功能性、命令的附加功能用以擴大命令的功能性、選擇性、適應性。包括:選擇性、適應性。包括:(1)參數(shù)表)參數(shù)表 用參數(shù)表示位置、操作對象等附加信息用參數(shù)表示位置、操作對象等附加信息 用用“”或或“/”加關鍵字表示子

23、功能加關鍵字表示子功能(2)命令通配符)命令通配符: “*”和和“?”(3)重定向命令)重定向命令(p230): 用用“”將標準將標準輸入或輸出重新定向到其它文件上。輸入或輸出重新定向到其它文件上。(4)管道命令)管道命令: 用用“|”來連接兩條命令來連接兩條命令,第第1條命條命令的輸出作為第令的輸出作為第2條命令的輸入條命令的輸入, 管道作緩沖。管道作緩沖。(5)通信命令、后臺命令)通信命令、后臺命令 針對脫機用戶操作和大量順序操作功能而針對脫機用戶操作和大量順序操作功能而設計。設計。 批處理命令可以是專門的命令,也可是系批處理命令可以是專門的命令,也可是系統(tǒng)的基本命令;還有有關的語法結構,

24、循環(huán)、統(tǒng)的基本命令;還有有關的語法結構,循環(huán)、分支、轉移、判別等,枸成一套特殊的命令語分支、轉移、判別等,枸成一套特殊的命令語言。言。6. 批處理命令批處理命令7. 圖形用戶接口圖形用戶接口 以以Windows為代表為代表,許多現(xiàn)代許多現(xiàn)代OS都提供了都提供了圖形用戶接口圖形用戶接口,使用起來非常方便使用起來非常方便, 不需要用戶不需要用戶記憶大量的命令名稱、功能、格式和參數(shù)。記憶大量的命令名稱、功能、格式和參數(shù)。 圖形界面圖形界面, 以以窗口窗口(windows)、圖標圖標(icon)、菜單菜單(menu)、指點裝置指點裝置(pointing device)為基礎為基礎的交互式系統(tǒng)的交互式系

25、統(tǒng), 形成形成WIMP標準標準, 以實際動作代以實際動作代替復雜語法。替復雜語法。 (見見P243249)8. 交互式系統(tǒng)的歷史與展望交互式系統(tǒng)的歷史與展望 六十年代中期六十年代中期: 問答式對話、文本菜單或命令語言,問答式對話、文本菜單或命令語言,基于命令行界面的交互式系統(tǒng)?;诿钚薪缑娴慕换ナ较到y(tǒng)。 八十年代八十年代: 圖形界面圖形界面, 形成形成WIMP標準標準,以指點裝置的以指點裝置的實際動作代替復雜語法。實際動作代替復雜語法。 多媒體界面是多媒體界面是WIMP另一種風格另一種風格, 是單通道的。是單通道的。 未來的交互式系統(tǒng)必將是多通道的未來的交互式系統(tǒng)必將是多通道的 通過各種不同

26、的人體通道通過各種不同的人體通道, 如如: 語音、手勢、思維語音、手勢、思維語言等交互語言等交互, 大大提高交互的自然性和高效性。大大提高交互的自然性和高效性。 遵循以人為中心的自然交互特點遵循以人為中心的自然交互特點, 實現(xiàn)人與系統(tǒng)實現(xiàn)人與系統(tǒng)的無障礙自然交互。的無障礙自然交互。7.1.4 交互式系統(tǒng)實例交互式系統(tǒng)實例分時系統(tǒng)分時系統(tǒng) 分時系統(tǒng)中的用戶控制作業(yè)的執(zhí)行大致有分時系統(tǒng)中的用戶控制作業(yè)的執(zhí)行大致有四個階段:四個階段: 終端的連接終端的連接 用戶登錄用戶登錄 控制作業(yè)執(zhí)行控制作業(yè)執(zhí)行 用戶退出用戶退出1. 終端的連接終端的連接 必須使終端設備與計算機系統(tǒng)線路接通必須使終端設備與計算機

27、系統(tǒng)線路接通 近程終端是直接與計算機系統(tǒng)連接的近程終端是直接與計算機系統(tǒng)連接的, 當終端設備加電當終端設備加電后后, 終端就與計算機系統(tǒng)線路接通。終端就與計算機系統(tǒng)線路接通。 遠程終端通過租用專線或交換線接到計算機系統(tǒng)遠程終端通過租用專線或交換線接到計算機系統(tǒng), 在終在終端加電后用戶還需通過電話撥號進行呼叫端加電后用戶還需通過電話撥號進行呼叫, 直到接通。直到接通。 當終端與計算機系統(tǒng)在線路上接通后當終端與計算機系統(tǒng)在線路上接通后, 計算機系統(tǒng)計算機系統(tǒng)會在終端上顯示信息告訴用戶。會在終端上顯示信息告訴用戶。2. 用戶登錄用戶登錄 用戶必須向系統(tǒng)登錄用戶必須向系統(tǒng)登錄 用戶首先輸入用戶首先輸入

28、“登錄登錄”命令命令(login)命令命令 系統(tǒng)會向詢問用戶名、作業(yè)名、口令和資源需求系統(tǒng)會向詢問用戶名、作業(yè)名、口令和資源需求等等, 經(jīng)過識別用戶、核對口令經(jīng)過識別用戶、核對口令, 系統(tǒng)在終端上顯示系統(tǒng)在終端上顯示“已已登錄登錄”和進入系統(tǒng)的時間等信息。和進入系統(tǒng)的時間等信息。 若口令不對或資源暫時不能滿足時,則系統(tǒng)在終若口令不對或資源暫時不能滿足時,則系統(tǒng)在終端上顯示端上顯示“登錄不成功登錄不成功”并給出登錄失敗的原因。并給出登錄失敗的原因。 用戶的登錄過程可看作是對終端作業(yè)的作業(yè)調(diào)度用戶的登錄過程可看作是對終端作業(yè)的作業(yè)調(diào)度3. 控制作業(yè)執(zhí)行控制作業(yè)執(zhí)行 登錄成功的終端用戶登錄成功的終端

29、用戶 可從終端上輸入作業(yè)的程序和數(shù)據(jù)可從終端上輸入作業(yè)的程序和數(shù)據(jù) 用系統(tǒng)提供的命令語言或會話語句控制作業(yè)執(zhí)行用系統(tǒng)提供的命令語言或會話語句控制作業(yè)執(zhí)行 每輸入一命令或一會話語句后每輸入一命令或一會話語句后, 由系統(tǒng)解釋執(zhí)由系統(tǒng)解釋執(zhí)行且在終端上顯示執(zhí)行成功或問題行且在終端上顯示執(zhí)行成功或問題, 由用戶決定下由用戶決定下一步命令或會話一步命令或會話, 直到作業(yè)完成直到作業(yè)完成4. 用戶退出用戶退出 用戶輸入用戶輸入“退出退出”命令命令 (logout) 請求退出系統(tǒng)請求退出系統(tǒng), 系統(tǒng)接收命令后就收回該用戶所占的資源讓其退出系統(tǒng)接收命令后就收回該用戶所占的資源讓其退出, 同時在終端上顯示同時在

30、終端上顯示“退出時間退出時間”或或“使用系統(tǒng)時間。使用系統(tǒng)時間。時間片輪轉:時間片輪轉: 在在OS控制下,采用控制下,采用“時間片輪轉時間片輪轉”方法使每個方法使每個終端作業(yè)都能在一個終端作業(yè)都能在一個“時間片時間片”內(nèi)去占用處理器。內(nèi)去占用處理器。 當時間片用完后當時間片用完后, 讓出處理器給另一終端作業(yè)。讓出處理器給另一終端作業(yè)。 這樣這樣, 保證從終端用戶輸入命令到計算機系統(tǒng)給保證從終端用戶輸入命令到計算機系統(tǒng)給出應答只是幾秒鐘的時間出應答只是幾秒鐘的時間, 使端用戶感到滿意。使端用戶感到滿意。7.2 系統(tǒng)調(diào)用系統(tǒng)調(diào)用7.2.1. 系統(tǒng)調(diào)用簡介系統(tǒng)調(diào)用簡介 為了保證為了保證OS不被用戶程

31、序破壞不被用戶程序破壞, 不允許用戶程序不允許用戶程序直接訪問直接訪問OS的系統(tǒng)程序和數(shù)據(jù)的系統(tǒng)程序和數(shù)據(jù), 只能用系統(tǒng)調(diào)用訪問。只能用系統(tǒng)調(diào)用訪問。1. 系統(tǒng)調(diào)用系統(tǒng)調(diào)用 用戶在用戶在程序中程序中調(diào)用操作系統(tǒng)提供的子功能調(diào)用操作系統(tǒng)提供的子功能 是特殊的過程調(diào)用是特殊的過程調(diào)用, 由特殊的機器指令實現(xiàn)。幾百種由特殊的機器指令實現(xiàn)。幾百種 系統(tǒng)調(diào)用指令還將系統(tǒng)轉入管態(tài)系統(tǒng)調(diào)用指令還將系統(tǒng)轉入管態(tài) 系統(tǒng)調(diào)用程序是一個低級過程系統(tǒng)調(diào)用程序是一個低級過程,只能由匯編語言直只能由匯編語言直接訪問接訪問(許多高級語言也增加了此項功能許多高級語言也增加了此項功能)。 系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一

32、接口系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口,利用系統(tǒng)調(diào)用利用系統(tǒng)調(diào)用, 動態(tài)請求和釋放系統(tǒng)資源動態(tài)請求和釋放系統(tǒng)資源, 完成與硬件完成與硬件相關的工作以及控制程序的執(zhí)行等。相關的工作以及控制程序的執(zhí)行等。Passing of Parameters As A TableA System Call is the main way a user program interacts with the Operating System.Figure 3.1Figure 2.8System Calls 2. 處理器的狀態(tài)處理器的狀態(tài) 根據(jù)運行程序對資源和機器指令的使用權限將根據(jù)運行程序對資源和機器指令

33、的使用權限將處理器設置為不同狀態(tài)處理器設置為不同狀態(tài) 多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài) 管態(tài):管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高操作系統(tǒng)管理程序運行的狀態(tài),較高的特權級別的特權級別, 又稱為特權態(tài)又稱為特權態(tài)(特態(tài)特態(tài))、系統(tǒng)態(tài)、系統(tǒng)態(tài) 目態(tài):目態(tài):用戶程序運行時的狀態(tài)用戶程序運行時的狀態(tài), 較低的特權級較低的特權級別別, 又稱為普通態(tài)又稱為普通態(tài)(普態(tài)普態(tài))、用戶態(tài)、用戶態(tài) 管態(tài)和目態(tài)的差別管態(tài)和目態(tài)的差別處理器處于管態(tài)時:處理器處于管態(tài)時: 全部指令(包括特權指令)可以執(zhí)行全部指令(包括特權指令)可以執(zhí)行 可使用所有資源可使用所有資源 并

34、具有改變處理器狀態(tài)的能力并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:處理器處于目態(tài)時: 只有非特權指令能執(zhí)行只有非特權指令能執(zhí)行特權級別不同可運行指令集合也不同特權級別不同可運行指令集合也不同 特權級別越高,可以運行指令集合越大特權級別越高,可以運行指令集合越大 高特權級別對應的可運行指令集合包含低高特權級別對應的可運行指令集合包含低特權級的特權級的3.系統(tǒng)調(diào)用的實例系統(tǒng)調(diào)用的實例匯編程序例子:在屏幕上顯示一字符串匯編程序例子:在屏幕上顯示一字符串 查系統(tǒng)調(diào)用表得知,調(diào)用號為查系統(tǒng)調(diào)用表得知,調(diào)用號為09H,出口參數(shù)無,出口參數(shù)無, 入口參數(shù)入口參數(shù): DS:DX輸出字串所在緩沖區(qū)首址:輸出字

35、串所在緩沖區(qū)首址: MOV AH, 09H MOV DX, SEG Mystring MOV DS, DX MOV DX, OFFSET Mystring INT 21H Mystring DB Hello World 高級語言例子:打印高級語言例子:打印5個字符個字符 char buff4=“abcde”; for(i=4;i=0;i-) print(buffi);高級語言例子:高級語言例子: 讀硬盤文件讀硬盤文件f1的第的第10到到20個字節(jié)個字節(jié) seek(fd,10,0); read(fd,buff,11);.A=A+1printf(. . .)B=B+A(1)源程序段源程序段INT.

36、(2) printf目標代碼目標代碼.INOUT.(3) 操作系統(tǒng)操作系統(tǒng)內(nèi)部代碼內(nèi)部代碼該系統(tǒng)該系統(tǒng)調(diào)用的調(diào)用的操作系操作系統(tǒng)內(nèi)部統(tǒng)內(nèi)部實現(xiàn)實現(xiàn)代碼代碼用戶程序用戶程序函數(shù)函數(shù)操作系統(tǒng)操作系統(tǒng) 凡是與硬件相關、與應用無關的工作,都凡是與硬件相關、與應用無關的工作,都通過操作系統(tǒng)程序來完成通過操作系統(tǒng)程序來完成系統(tǒng)調(diào)用與一般過程調(diào)用的對比系統(tǒng)調(diào)用與一般過程調(diào)用的對比不同點:不同點:(1) 一般過程調(diào)用一般過程調(diào)用,調(diào)用程序和被調(diào)用程序都調(diào)用程序和被調(diào)用程序都運行在相同狀態(tài)運行在相同狀態(tài)(核心態(tài)或用戶態(tài)核心態(tài)或用戶態(tài)), 而系統(tǒng)調(diào)用而系統(tǒng)調(diào)用, 調(diào)用程調(diào)用程序在用戶態(tài)序在用戶態(tài), 被調(diào)用程序在核

37、心態(tài)。被調(diào)用程序在核心態(tài)。(2)一般過程調(diào)用調(diào)用時不涉及系統(tǒng)狀態(tài)轉換一般過程調(diào)用調(diào)用時不涉及系統(tǒng)狀態(tài)轉換,直接轉向直接轉向被調(diào)用過程被調(diào)用過程; 而系統(tǒng)調(diào)用調(diào)用時涉及系統(tǒng)狀態(tài)的轉換而系統(tǒng)調(diào)用調(diào)用時涉及系統(tǒng)狀態(tài)的轉換, 不允許由調(diào)用過程直接轉向被調(diào)用過程不允許由調(diào)用過程直接轉向被調(diào)用過程, 要先通過要先通過軟中軟中斷機制斷機制由用戶態(tài)轉換為核心態(tài)由用戶態(tài)轉換為核心態(tài), 在在OS 核心分析后核心分析后, 再轉再轉向相應的系統(tǒng)調(diào)用處理子程序。向相應的系統(tǒng)調(diào)用處理子程序。(3)搶占式調(diào)度系統(tǒng)中搶占式調(diào)度系統(tǒng)中,系統(tǒng)調(diào)用返回時會引起重新調(diào)度系統(tǒng)調(diào)用返回時會引起重新調(diào)度相同點相同點: 改變指令流程改變指令

38、流程,轉去執(zhí)行公用程序段轉去執(zhí)行公用程序段, 可嵌套??汕短?。7.2.2系統(tǒng)調(diào)用的類型系統(tǒng)調(diào)用的類型從系統(tǒng)調(diào)用的服務目的分為兩部分:從系統(tǒng)調(diào)用的服務目的分為兩部分: (1) 系統(tǒng)自身所需要的。系統(tǒng)自身所需要的。 (2) 作為服務提供給用戶的。作為服務提供給用戶的。按系統(tǒng)調(diào)用的功能分為四類:按系統(tǒng)調(diào)用的功能分為四類:1. 進程控制類系統(tǒng)調(diào)用進程控制類系統(tǒng)調(diào)用:2. 進程通信類系統(tǒng)調(diào)用進程通信類系統(tǒng)調(diào)用:3. 文件操作類系統(tǒng)調(diào)用文件操作類系統(tǒng)調(diào)用:4. 信息維護類系統(tǒng)調(diào)用信息維護類系統(tǒng)調(diào)用:UNIX系統(tǒng)調(diào)用的類型系統(tǒng)調(diào)用的類型: (P238)1. 進程控制類系統(tǒng)調(diào)用進程控制類系統(tǒng)調(diào)用:創(chuàng)建進程創(chuàng)建

39、進程: fork( )終止進程終止進程: exit( )等待子進程結束等待子進程結束: wait( )執(zhí)行一個可執(zhí)行文件執(zhí)行一個可執(zhí)行文件(覆蓋調(diào)用者覆蓋調(diào)用者): exec( )獲得進程獲得進程ID: getp-id( )、getpgrp( )、getppid( )獲得用戶獲得用戶ID: getuid( )、getgid( )進程暫停進程暫停: pause( )2. 進程通信類系統(tǒng)調(diào)用進程通信類系統(tǒng)調(diào)用: 消息機制消息機制:打開連接打開連接/接收連接接收連接,發(fā)送發(fā)送/接收消息接收消息;建立消息隊列建立消息隊列msgget( )發(fā)送消息發(fā)送消息msgsed( )接收消息接收消息msgrcv(

40、 ) 共享存儲區(qū)機制共享存儲區(qū)機制:建立存儲區(qū)建立存儲區(qū): shmget( )建立連接建立連接: shmat( )拆除連接拆除連接: shmdt( ) 信號量機制信號量機制: 信號量集表信號量集表, 信號量表信號量表.建立信號量集建立信號量集: semget( )對信號量集操作對信號量集操作: semop( ) 、semctl( )3. 文件操作類系統(tǒng)調(diào)用文件操作類系統(tǒng)調(diào)用:創(chuàng)建文件創(chuàng)建文件: creat( )打開文件打開文件: open( )關閉文件關閉文件: close( )讀讀/寫文件寫文件: read( ) 、write( )移動讀移動讀/寫指針寫指針: seek( )共享的連接和去連

41、接共享的連接和去連接(刪除刪除): link( ) 、unlink( ) 4. 信息維護類系統(tǒng)調(diào)用信息維護類系統(tǒng)調(diào)用:設置和獲得系統(tǒng)時間設置和獲得系統(tǒng)時間stime( )獲得進程時間獲得進程時間: times( )設置文件訪問和修改時間設置文件訪問和修改時間: utime( )獲得當前系統(tǒng)名稱獲得當前系統(tǒng)名稱:uname ( ) 包括名稱串包括名稱串,標準名標準名,在網(wǎng)絡中的名稱在網(wǎng)絡中的名稱7.2.3 系統(tǒng)調(diào)用的實現(xiàn)系統(tǒng)調(diào)用的實現(xiàn) 用戶怎樣通過系統(tǒng)調(diào)用得到系統(tǒng)服務的呢?用戶怎樣通過系統(tǒng)調(diào)用得到系統(tǒng)服務的呢? 需要有一個類似于硬件中斷處理的處理機構。當用需要有一個類似于硬件中斷處理的處理機構。

42、當用戶使用操作系統(tǒng)調(diào)用時產(chǎn)生一條相應的指令戶使用操作系統(tǒng)調(diào)用時產(chǎn)生一條相應的指令, 處理機在處理機在執(zhí)行到該指令時發(fā)生相應的中斷執(zhí)行到該指令時發(fā)生相應的中斷, 并發(fā)出有關的信號給并發(fā)出有關的信號給該處理機構該處理機構,該處理機構在收到了處理機發(fā)來的信號后該處理機構在收到了處理機發(fā)來的信號后, 啟動相關的處理程序去完成該系統(tǒng)調(diào)用所要求的功能。啟動相關的處理程序去完成該系統(tǒng)調(diào)用所要求的功能。1. 中斷和陷入硬件機構中斷和陷入硬件機構 (1)中斷是中斷是CPU對系統(tǒng)發(fā)生的某對系統(tǒng)發(fā)生的某(外部外部)事件的響應事件的響應: CPU暫停正在執(zhí)行的程序暫停正在執(zhí)行的程序,保護現(xiàn)場轉去執(zhí)行該事件保護現(xiàn)場轉去

43、執(zhí)行該事件的中斷處理程序的中斷處理程序,執(zhí)行完后返回原程序斷點繼續(xù)執(zhí)行。執(zhí)行完后返回原程序斷點繼續(xù)執(zhí)行。 (2) 陷入陷入(內(nèi)中斷內(nèi)中斷,捕獲捕獲)是由是由CPU內(nèi)部事件引起的中斷內(nèi)部事件引起的中斷 如如: 非法指令、地址越界、溢出、電源故障等。非法指令、地址越界、溢出、電源故障等。 陷入由執(zhí)行現(xiàn)行指令引起陷入由執(zhí)行現(xiàn)行指令引起,中斷則與現(xiàn)行指令無關。中斷則與現(xiàn)行指令無關。 還可以把由于系統(tǒng)調(diào)用引起處理機中斷的指令稱為還可以把由于系統(tǒng)調(diào)用引起處理機中斷的指令稱為陷入或異常指令陷入或異常指令(或稱訪管指令或稱訪管指令), 或軟中斷指令。從中或軟中斷指令。從中斷的觀點看斷的觀點看, 引起中斷的事件

44、就是系統(tǒng)調(diào)用本身。引起中斷的事件就是系統(tǒng)調(diào)用本身。被中斷程序被中斷程序中斷處理中斷處理程序程序中斷點中斷點 (3) 每個系統(tǒng)調(diào)用都對應一個事先給定的功能號每個系統(tǒng)調(diào)用都對應一個事先給定的功能號 在陷入指令中必須包括對應系統(tǒng)調(diào)用的功能號在陷入指令中必須包括對應系統(tǒng)調(diào)用的功能號,而而且,還帶有傳給陷入處理機構和內(nèi)部處理程序的有關且,還帶有傳給陷入處理機構和內(nèi)部處理程序的有關參數(shù)。參數(shù)。 (4)中斷和陷入向量中斷和陷入向量(P 237 圖圖7-5) 必須為系統(tǒng)調(diào)用功能的各子程序編造陷入必須為系統(tǒng)調(diào)用功能的各子程序編造陷入(中斷中斷)向量表向量表, 每個表目由入口地址和處理機狀態(tài)字每個表目由入口地址和

45、處理機狀態(tài)字PSW兩兩個字組成個字組成; 陷入處理機構把陷入指令包含的功能號與陷入處理機構把陷入指令包含的功能號與入口地址表項相對應入口地址表項相對應, 執(zhí)行對應的子程序。執(zhí)行對應的子程序。 (5) 保護和恢復現(xiàn)場:保護和恢復現(xiàn)場: 在進入系統(tǒng)調(diào)用之前在進入系統(tǒng)調(diào)用之前,在系統(tǒng)棧保護處理機現(xiàn)場。在系統(tǒng)棧保護處理機現(xiàn)場。 在系統(tǒng)調(diào)用結束之后要恢復處理機現(xiàn)場。在系統(tǒng)調(diào)用結束之后要恢復處理機現(xiàn)場。2.系統(tǒng)調(diào)用的參數(shù)傳遞系統(tǒng)調(diào)用的參數(shù)傳遞 每一條系統(tǒng)調(diào)用都含有若干個參數(shù)每一條系統(tǒng)調(diào)用都含有若干個參數(shù),執(zhí)行系統(tǒng)調(diào)用執(zhí)行系統(tǒng)調(diào)用時時,將這些參數(shù)傳遞給相應的子程序。將這些參數(shù)傳遞給相應的子程序。怎樣實現(xiàn)用戶

46、程怎樣實現(xiàn)用戶程序和系統(tǒng)程序間的參數(shù)傳遞?序和系統(tǒng)程序間的參數(shù)傳遞?有兩種傳遞方式:有兩種傳遞方式: (1) 通過有關通用寄存器來傳遞參數(shù):通過有關通用寄存器來傳遞參數(shù): 直接將參數(shù)送入相應的寄存器直接將參數(shù)送入相應的寄存器(如如DOS 21h號中斷號中斷), 這些寄存器應是系統(tǒng)和用戶程序都能訪問的這些寄存器應是系統(tǒng)和用戶程序都能訪問的,此方法簡此方法簡單單,但由于寄存器數(shù)量較少但由于寄存器數(shù)量較少, 無法傳遞較多的參數(shù)。無法傳遞較多的參數(shù)。 (2)參數(shù)表方式參數(shù)表方式 將系統(tǒng)調(diào)用所需的參數(shù)放入一張參數(shù)表中將系統(tǒng)調(diào)用所需的參數(shù)放入一張參數(shù)表中,在將指向在將指向該參數(shù)表的指針放在某個寄存器該參數(shù)

47、表的指針放在某個寄存器(如如R0)中中; 此方式又分此方式又分為直接方式和間接方式。為直接方式和間接方式。(P237 圖圖7-6)變元表變元表:N參數(shù)參數(shù)1參數(shù)參數(shù)2參數(shù)參數(shù)Ntrap xx參數(shù)參數(shù)1參數(shù)參數(shù)N變元表變元表:N指針指針 直接方式直接方式間接方式間接方式 UNIX系統(tǒng)中系統(tǒng)中非共享程序用非共享程序用直接方式,直接方式,共享程序用共享程序用間接方式。間接方式。用戶態(tài)非共享代碼用戶態(tài)非共享代碼數(shù)據(jù)段數(shù)據(jù)段:trap xx參數(shù)參數(shù)1參數(shù)參數(shù)Ntrap xx參數(shù)參數(shù)1參數(shù)參數(shù)N用戶態(tài)共享代碼用戶態(tài)共享代碼trap 00syscall-p數(shù)組數(shù)組U-arg user結構結構數(shù)組數(shù)組U-ar

48、g user結構結構核心態(tài)核心態(tài)ppda區(qū)區(qū)3. 系統(tǒng)調(diào)用的處理步驟系統(tǒng)調(diào)用的處理步驟 (1) 將處理機狀態(tài)由用戶態(tài)轉為系統(tǒng)態(tài)將處理機狀態(tài)由用戶態(tài)轉為系統(tǒng)態(tài); 由硬件和內(nèi)由硬件和內(nèi)核程序進行一般性處理核程序進行一般性處理, 即保護現(xiàn)場即保護現(xiàn)場: 將處理機狀態(tài)將處理機狀態(tài)字字PSW、程序計數(shù)器、程序計數(shù)器PC、系統(tǒng)調(diào)用號、用戶棧指針、系統(tǒng)調(diào)用號、用戶棧指針和通用寄存器內(nèi)容壓入堆棧和通用寄存器內(nèi)容壓入堆棧; 再將用戶定義的的參數(shù)再將用戶定義的的參數(shù)傳送到指定的地方。傳送到指定的地方。 (2) 分析系統(tǒng)調(diào)用類型分析系統(tǒng)調(diào)用類型, 按系統(tǒng)調(diào)用入口表轉入相應按系統(tǒng)調(diào)用入口表轉入相應的系統(tǒng)調(diào)用處理子程序

49、的系統(tǒng)調(diào)用處理子程序(并傳遞參數(shù)并傳遞參數(shù)); 該表目含該系該表目含該系統(tǒng)調(diào)用自帶參數(shù)的個數(shù)統(tǒng)調(diào)用自帶參數(shù)的個數(shù)(與參數(shù)表指針與參數(shù)表指針)和入口地址。和入口地址。 (3) 執(zhí)行系統(tǒng)調(diào)用處理子程序。執(zhí)行系統(tǒng)調(diào)用處理子程序。 (4) 執(zhí)行完后執(zhí)行完后, 恢復被中斷的或設置新進程的恢復被中斷的或設置新進程的CPU現(xiàn)現(xiàn)場場, 然后返回被中斷進程或進入新進程。然后返回被中斷進程或進入新進程。 系統(tǒng)調(diào)用系統(tǒng)調(diào)用 入口表入口表 (1) 轉核心態(tài)轉核心態(tài) 保護現(xiàn)場保護現(xiàn)場(2) 取系統(tǒng)調(diào)取系統(tǒng)調(diào) 用功能號用功能號 找到入口找到入口 傳遞參數(shù)傳遞參數(shù)A0A1Ai AnA0 A1AiAnSub0Sub1Subi

50、Subn 用戶程序用戶程序系統(tǒng)調(diào)用系統(tǒng)調(diào)用處理過程處理過程(3) 恢復現(xiàn)場恢復現(xiàn)場 返回原處返回原處或或 重新調(diào)度重新調(diào)度 設新現(xiàn)場設新現(xiàn)場 進新進程進新進程陷入處理機構陷入處理機構 系統(tǒng)子程序系統(tǒng)子程序另一進程另一進程 DOS: INT 21h 軟中斷軟中斷, 寄存器傳遞參數(shù)和入口。寄存器傳遞參數(shù)和入口。Linux: 0 x80 (或或128)中斷向量用來實現(xiàn)系統(tǒng)調(diào)用中斷向量用來實現(xiàn)系統(tǒng)調(diào)用 現(xiàn)代操作系統(tǒng)一般不直接提供系統(tǒng)調(diào)用指令接口現(xiàn)代操作系統(tǒng)一般不直接提供系統(tǒng)調(diào)用指令接口, 通常做法通常做法: 提供一套方便實用的應用程序函數(shù)庫提供一套方便實用的應用程序函數(shù)庫(API ) 從應用層面重新封

51、裝系統(tǒng)調(diào)用、屏蔽復雜的系統(tǒng)調(diào)用從應用層面重新封裝系統(tǒng)調(diào)用、屏蔽復雜的系統(tǒng)調(diào)用傳參問題、提供高級語言接口傳參問題、提供高級語言接口, 有助于快速開發(fā)有助于快速開發(fā)在更高層面提供系統(tǒng)程序設計模板庫和類庫在更高層面提供系統(tǒng)程序設計模板庫和類庫, 如如: Windows 2000/XP 提供封裝系統(tǒng)調(diào)用提供封裝系統(tǒng)調(diào)用 Win32 API和高層編程設施和高層編程設施MFC以及以及ATL。 Linux 提供封裝系統(tǒng)調(diào)用提供封裝系統(tǒng)調(diào)用, 符合符合POSIX標準的標準的 API和和C運行庫。運行庫。UNIX系統(tǒng)調(diào)用的處理步驟系統(tǒng)調(diào)用的處理步驟 執(zhí)行執(zhí)行CHMK指令指令, CPU狀態(tài)轉為核心態(tài)狀態(tài)轉為核心態(tài)

52、, 并保護并保護CPU環(huán)境由硬件自動將環(huán)境由硬件自動將 PSL、PC、code 壓入用戶核壓入用戶核心棧心棧, 再按中斷和陷入向量表轉入中斷和陷入總控程再按中斷和陷入向量表轉入中斷和陷入總控程序序trap.S 保護其它環(huán)境保護其它環(huán)境, 再調(diào)用公共處理程序再調(diào)用公共處理程序trap.C。 trap.C程序:程序:確定系統(tǒng)調(diào)用號確定系統(tǒng)調(diào)用號用參數(shù)表傳遞參數(shù)用參數(shù)表傳遞參數(shù)利用系統(tǒng)調(diào)用定義表轉入相應的處理程序利用系統(tǒng)調(diào)用定義表轉入相應的處理程序善后公共處理善后公共處理“廣義指令廣義指令”和和“虛處理機虛處理機” 系統(tǒng)調(diào)用命令擴充了機器指令系統(tǒng)調(diào)用命令擴充了機器指令, 增強了系統(tǒng)的功能增強了系統(tǒng)的

53、功能,方便用戶使用方便用戶使用, 稱之為稱之為“廣義指令廣義指令”。從用戶角度來看,。從用戶角度來看,它擴充了機器指令系統(tǒng)它擴充了機器指令系統(tǒng), 增強了處理機功能。增強了處理機功能。“廣義指令廣義指令”和機器指令的不同:和機器指令的不同: 機器指令是由硬件線路直接實現(xiàn)的機器指令是由硬件線路直接實現(xiàn)的 “廣義指令廣義指令”由軟件由軟件(OS提供的多個子程序提供的多個子程序)實現(xiàn)實現(xiàn)的的“虛處理機虛處理機”: “廣義指令廣義指令”相當于相當于, 提供了一臺功能更強提供了一臺功能更強, 使用使用更方便的處理機更方便的處理機 , 實現(xiàn)了處理機性能上的擴充。為了實現(xiàn)了處理機性能上的擴充。為了區(qū)別于真實的

54、物理處理機區(qū)別于真實的物理處理機, 稱它為稱它為“虛處理機虛處理機”。3. Win32 應用程序接口應用程序接口 在在Windows中中, 定義了種類非常多的數(shù)以千計的應用定義了種類非常多的數(shù)以千計的應用程序接口程序接口(Win32 API), 提供提供OS服務服務 Windows中分辨不出哪些是系統(tǒng)調(diào)用中分辨不出哪些是系統(tǒng)調(diào)用(被內(nèi)核執(zhí)行被內(nèi)核執(zhí)行), 哪些是用戶空間的庫調(diào)用。事實上哪些是用戶空間的庫調(diào)用。事實上, 一個一個 Windows版版本中的系統(tǒng)調(diào)用本中的系統(tǒng)調(diào)用, 也許在另一個也許在另一個Windows 版本中會在版本中會在用戶空間的庫調(diào)用用戶空間的庫調(diào)用 在某些在某些Window

55、s版本中版本中, 圖形子系統(tǒng)在內(nèi)核中運行圖形子系統(tǒng)在內(nèi)核中運行, 它們也是系統(tǒng)調(diào)用它們也是系統(tǒng)調(diào)用, 否則是用戶空間的庫調(diào)用否則是用戶空間的庫調(diào)用7.4 操作系統(tǒng)的安裝與啟動操作系統(tǒng)的安裝與啟動 操作系統(tǒng)怎樣開始運行操作系統(tǒng)怎樣開始運行(引導和裝入引導和裝入) 怎樣形成系統(tǒng)操作環(huán)境怎樣形成系統(tǒng)操作環(huán)境(配置和初始化配置和初始化) 怎樣從程序的順序執(zhí)行轉換到支持程序的怎樣從程序的順序執(zhí)行轉換到支持程序的并發(fā)執(zhí)行并發(fā)執(zhí)行1. 操作系統(tǒng)的引導和裝入操作系統(tǒng)的引導和裝入(1) 獨立引導方式獨立引導方式操作系統(tǒng)的引導有兩種方式:操作系統(tǒng)的引導有兩種方式: 獨立引導(獨立引導(bootup) 輔助下裝(輔

56、助下裝(download)大多數(shù)系統(tǒng)采用大多數(shù)系統(tǒng)采用OS核心文件存儲在系統(tǒng)本身的存儲設備中核心文件存儲在系統(tǒng)本身的存儲設備中由系統(tǒng)自己將由系統(tǒng)自己將OS核心程序讀入內(nèi)存并運行核心程序讀入內(nèi)存并運行最后建立一個操作環(huán)境最后建立一個操作環(huán)境獨立引導方式步驟獨立引導方式步驟:(1)系統(tǒng)加電)系統(tǒng)加電, 執(zhí)行執(zhí)行BIOS中的系統(tǒng)初啟程序。中的系統(tǒng)初啟程序。(2)對系統(tǒng)硬件和配置進行自檢)對系統(tǒng)硬件和配置進行自檢, 保證無硬件錯誤。保證無硬件錯誤。(3)從硬盤中讀入操作系統(tǒng)啟動文件,并將控制權)從硬盤中讀入操作系統(tǒng)啟動文件,并將控制權交給該程序模塊。交給該程序模塊。(4)執(zhí)行操作系統(tǒng)啟動程序,完成系統(tǒng)

57、環(huán)境配置和)執(zhí)行操作系統(tǒng)啟動程序,完成系統(tǒng)環(huán)境配置和操作系統(tǒng)初始化工作。操作系統(tǒng)初始化工作。(5)繼續(xù)讀入其余的)繼續(xù)讀入其余的OS文件,逐個執(zhí)行相應的系統(tǒng)文件,逐個執(zhí)行相應的系統(tǒng)程序,完成程序,完成OS各種功能模塊的裝入,完善各種功能模塊的裝入,完善OS的操作的操作環(huán)境,做好程序并發(fā)執(zhí)行的準備。環(huán)境,做好程序并發(fā)執(zhí)行的準備。(6)等待用戶請求和用戶作業(yè)的輸入,經(jīng)過操作系)等待用戶請求和用戶作業(yè)的輸入,經(jīng)過操作系統(tǒng)調(diào)度后并發(fā)執(zhí)行。統(tǒng)調(diào)度后并發(fā)執(zhí)行。 OS主要文件不放在系統(tǒng)本身的存儲設備中主要文件不放在系統(tǒng)本身的存儲設備中, 而是在系統(tǒng)啟動后而是在系統(tǒng)啟動后, 執(zhí)行下裝操作。執(zhí)行下裝操作。 從另

58、外的計算機系統(tǒng)中將操作系統(tǒng)常駐部分從另外的計算機系統(tǒng)中將操作系統(tǒng)常駐部分傳送到該計算機中傳送到該計算機中, 使它形成一個操作環(huán)境。使它形成一個操作環(huán)境。 優(yōu)點:可以節(jié)省較大的存儲空間。優(yōu)點:可以節(jié)省較大的存儲空間。 下裝的下裝的OS并非是全部代碼并非是全部代碼, 只是常駐部分或只是常駐部分或者專用部分。者專用部分。 當這部分當這部分OS出現(xiàn)問題和故障時出現(xiàn)問題和故障時, 可以再請求可以再請求下裝。下裝。(2) 輔助下裝方式輔助下裝方式2. 系統(tǒng)配置與初始化系統(tǒng)配置與初始化 操作系統(tǒng)引導是從程序的順序執(zhí)行到并發(fā)操作系統(tǒng)引導是從程序的順序執(zhí)行到并發(fā)執(zhí)行的過程執(zhí)行的過程, 操作系統(tǒng)初始化完成后操作系

59、統(tǒng)初始化完成后, 才能建立才能建立這樣的環(huán)境。這樣的環(huán)境。步驟:步驟:(1)關掉系統(tǒng)中斷)關掉系統(tǒng)中斷, 以保證系統(tǒng)順利引導以保證系統(tǒng)順利引導(2)對當前的系統(tǒng)運行環(huán)境進行檢查;對系統(tǒng))對當前的系統(tǒng)運行環(huán)境進行檢查;對系統(tǒng)的配置進行認定的配置進行認定, 保存檢測的結果作為系統(tǒng)的初保存檢測的結果作為系統(tǒng)的初始配置條件。始配置條件。(3)進行操作系統(tǒng)的初始化)進行操作系統(tǒng)的初始化BIOS(基本輸入輸出系統(tǒng)基本輸入輸出系統(tǒng))概覽概覽1. 打開電源打開電源2. 硬件將控制權交給硬件將控制權交給BIOS3. BIOS運行通電自測試程序,測內(nèi)存運行通電自測試程序,測內(nèi)存4. 確認所有外部設備確認所有外部設備: 鍵盤、硬盤或擴充卡鍵盤、硬盤或擴充卡5. 確定主引導或初始程序加載確定主引導或初始程序加載(IPL)設備的位置設備的位置6. BIOS建立系統(tǒng)資源表建立系統(tǒng)資源表7. 選擇并啟用初始輸入設備選擇并啟用初始輸入設備 (鍵盤鍵盤) 和輸出設備和輸出設備(顯示器顯示器); BIOS在成功啟動時俘獲這些在成功啟動時俘獲這些設置設置, 并并將他們存儲到存儲器中將他們存儲到存儲器中8. 搜索非搜索非PnP設備設備, 如外部設備互連如外部設備互連(PCI)總線總線,并將這些設備的并將這些設備的ROM的數(shù)據(jù)添加到資源表中的數(shù)據(jù)添加到資源表中9. BIOS解決設備沖突解決設備沖突,并配置選擇的引導設備并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論