




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.3操作系統(tǒng)提供的服務(wù)和用戶(hù)接口 1.3.1 操作系統(tǒng)提供的基本服務(wù) 1.3.2 操作系統(tǒng)提供的用戶(hù)接口 1.3.3 程序接口與系統(tǒng)調(diào)用 1.3.4 操作接口與系統(tǒng)程序1.3.1操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)提供的基本服務(wù) 創(chuàng)建程序創(chuàng)建程序 執(zhí)行程序執(zhí)行程序 數(shù)據(jù)數(shù)據(jù)I/O I/O 信息存取信息存取 通信服務(wù)通信服務(wù) 錯(cuò)誤檢測(cè)和處理錯(cuò)誤檢測(cè)和處理 還具有另外一些功能還具有另外一些功能: :資源分配,統(tǒng)計(jì),資源分配,統(tǒng)計(jì), 保護(hù)保護(hù)。 操作系統(tǒng)提供的用戶(hù)接口操作系統(tǒng)提供的用戶(hù)接口(1) 用戶(hù)和操作系統(tǒng)間的兩種接口 系統(tǒng)調(diào)用 操作命令或 JCL 操 作 系 統(tǒng) 裸 機(jī)(操作接口)(程序接口)操作
2、系統(tǒng)提供的用戶(hù)接口(2) 程 序 接 口 又 稱(chēng) 應(yīng) 用 編 程 接 口程 序 接 口 又 稱(chēng) 應(yīng) 用 編 程 接 口 A P I(Application Programming Interface),允許運(yùn)行程序調(diào)用操作系統(tǒng)的服務(wù)和功能。 程序接口由一組系統(tǒng)調(diào)用(System Call))組成,用戶(hù)程序使用“系統(tǒng)調(diào)用”就可獲得操作系統(tǒng)的底層服務(wù),使用或訪(fǎng)問(wèn)系統(tǒng)的各種軟硬件資源。操作系統(tǒng)提供的用戶(hù)接口(3) 在程序設(shè)計(jì)語(yǔ)言(如C語(yǔ)言)中,往往提供與各系統(tǒng)調(diào)用對(duì)應(yīng)的庫(kù)函數(shù),應(yīng)用程序可通過(guò)對(duì)應(yīng)的庫(kù)函數(shù)來(lái)使用系統(tǒng)調(diào)用, 庫(kù)函數(shù)的目的是隱藏訪(fǎng)管指令細(xì)節(jié),使系統(tǒng)調(diào)用更象過(guò)程調(diào)用,但一般地說(shuō),庫(kù)函數(shù)屬于用
3、戶(hù)程序而非系統(tǒng)程序。 操作系統(tǒng)為用戶(hù)提供系統(tǒng)調(diào)用也出于安全和效率考慮,使得用戶(hù)態(tài)程序不能自由地訪(fǎng)問(wèn)內(nèi)核關(guān)鍵數(shù)據(jù)結(jié)構(gòu)或直接訪(fǎng)問(wèn)硬件資源。操作系統(tǒng)提供的用戶(hù)接口(4) UNIX/Linux系統(tǒng)程序、庫(kù)函數(shù)、系統(tǒng)調(diào)用的分層關(guān)系 操作系統(tǒng)(進(jìn)程管理、存儲(chǔ)管理、文件管理、設(shè)備管理等) 標(biāo)準(zhǔn)庫(kù)函數(shù)(打開(kāi)、關(guān)閉、讀、寫(xiě)、創(chuàng)建、撤銷(xiāo)等) 標(biāo)準(zhǔn)系統(tǒng)程序(實(shí)用程序)(匯編、編譯、編輯、Shell等) 用戶(hù)用戶(hù)接口庫(kù)函數(shù)接口系統(tǒng)調(diào)用接口 硬件 (處理器、存儲(chǔ)器、磁盤(pán)、打印機(jī)、終端等)用戶(hù)態(tài)核心態(tài)操作系統(tǒng)提供的用戶(hù)接口(5) 操作接口又稱(chēng)作業(yè)級(jí)接口操作接口又稱(chēng)作業(yè)級(jí)接口,操作系統(tǒng)為用戶(hù)提供的操作控制計(jì)算機(jī)工作和提供服
4、務(wù)手段的集合,通常有操作控制命令、圖形操作界面(命令)、以及批處理系統(tǒng)提供的作業(yè)控制語(yǔ)言(命令)等等。操作系統(tǒng)提供的用戶(hù)接口(6) Windows支持API的的三個(gè)組件: Kernel包含了多數(shù)操作系統(tǒng)函數(shù),如內(nèi)存管理、進(jìn)程管理; User集中了窗口管理函數(shù),如窗口創(chuàng)建、撤銷(xiāo)、移動(dòng)、對(duì)話(huà)等相關(guān)函數(shù); GDI提供畫(huà)圖函數(shù)、打印函數(shù)。 Windows將三個(gè)組件置于動(dòng)態(tài)鏈接庫(kù)DLL中。 操作系統(tǒng)提供的用戶(hù)接口(7) Win32API和UNIX/Linux系統(tǒng)調(diào)用粗略對(duì)應(yīng)關(guān)系 UNIX/Linux Win32 說(shuō)明說(shuō)明fork CreatProcess 創(chuàng)建進(jìn)程 waitpid WaitForSing
5、leObject 等待進(jìn)程終止open/close CreatFile/CloseHandle 創(chuàng)建或打開(kāi)/關(guān)閉文件read/write ReadFile/WriteFile 讀/寫(xiě)文件lseek SetFilePointer 移動(dòng)文件指針mkdir/rmdir Creat/Remove Directory 建立/刪除目錄stat GetFileAttributesEx 獲得文件屬性 1.3.3 程序接口與系統(tǒng)調(diào)用系統(tǒng)調(diào)用系統(tǒng)調(diào)用(1)(1)1.1. 系統(tǒng)調(diào)用的分類(lèi)系統(tǒng)調(diào)用的分類(lèi)1) 進(jìn)程和作業(yè)管理:2) 文件操作: 3) 設(shè)備管理: 4) 內(nèi)存管理: 5) 信息維護(hù):6) 通信:系統(tǒng)調(diào)用(2
6、) 2.系統(tǒng)調(diào)用的實(shí)現(xiàn)要點(diǎn)系統(tǒng)調(diào)用的實(shí)現(xiàn)要點(diǎn) 一. 是編寫(xiě)系統(tǒng)調(diào)用處理程序; 二. 是設(shè)計(jì)一張系統(tǒng)調(diào)用入口地址表,每個(gè)入口地址都指向一個(gè)系統(tǒng)調(diào)用的處理程序,有的系統(tǒng)還包含系統(tǒng)調(diào)用自帶參數(shù)的個(gè)數(shù); 三. 是陷入處理機(jī)制需開(kāi)辟現(xiàn)場(chǎng)保護(hù)區(qū),以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場(chǎng)。 系統(tǒng)調(diào)用系統(tǒng)調(diào)用(3)(3)系統(tǒng)調(diào)用的處理過(guò)程 System Call用戶(hù)程序A0SUB0SUB1SUBiSUBnA1AiAn系統(tǒng)調(diào)用處理子程序取系統(tǒng)功能號(hào)找入口地址表相應(yīng)入口地址結(jié)束處理恢復(fù)現(xiàn)場(chǎng)A0A1AiAn保護(hù)CPU現(xiàn)場(chǎng)陷入指令系統(tǒng)調(diào)用陷入機(jī)構(gòu)入口地址表系統(tǒng)調(diào)用(4)系統(tǒng)調(diào)用的參數(shù)傳遞一是由訪(fǎng)管指令或陷入指令自帶參數(shù), 直
7、接參數(shù) 間接參數(shù)二是通過(guò)CPU的通用寄存器傳遞參數(shù),或 在內(nèi)存的一個(gè)塊或表中存放參數(shù),其首地址送入寄存器,實(shí)現(xiàn)參數(shù)傳遞。三是在內(nèi)存中開(kāi)辟專(zhuān)用堆棧區(qū)域傳遞參數(shù)。系統(tǒng)調(diào)用系統(tǒng)調(diào)用(5)(5)傳遞參數(shù)的一種方法 系統(tǒng)調(diào)用8的處理子程序操作系統(tǒng)X: 參數(shù)LOAD AddR XSystem Call 8X從表X取參數(shù)寄存器系統(tǒng)調(diào)用(6)Linux系統(tǒng)調(diào)用 Linux系統(tǒng)調(diào)用由兩部分組成: 核心函數(shù)核心函數(shù) 是實(shí)現(xiàn)系統(tǒng)調(diào)用功能的(內(nèi)核)代碼。 接口函數(shù)接口函數(shù) 是提供給應(yīng)用程序的API,以庫(kù)函數(shù)形式存在Linux的lib.a中。系統(tǒng)調(diào)用(7) Linux系統(tǒng)調(diào)用控制程序的功能系統(tǒng)調(diào)用控制程序的功能 (1)
8、(1)取系統(tǒng)調(diào)用號(hào),檢驗(yàn)合法性;取系統(tǒng)調(diào)用號(hào),檢驗(yàn)合法性; (2)(2)建立調(diào)用堆棧,保護(hù)現(xiàn)場(chǎng)信息;建立調(diào)用堆棧,保護(hù)現(xiàn)場(chǎng)信息; (3)(3)根據(jù)系統(tǒng)調(diào)用號(hào)定位核心函數(shù)地址;根據(jù)系統(tǒng)調(diào)用號(hào)定位核心函數(shù)地址; (4)(4)根據(jù)通用寄存器內(nèi)容,從用戶(hù)棧中取根據(jù)通用寄存器內(nèi)容,從用戶(hù)棧中取入口參數(shù);入口參數(shù); (5)(5)核心函數(shù)執(zhí)行,把結(jié)果返回應(yīng)用程序;核心函數(shù)執(zhí)行,把結(jié)果返回應(yīng)用程序; (6)(6)執(zhí)行退棧操作,判別調(diào)度程序執(zhí)行退棧操作,判別調(diào)度程序schedulerscheduler是否要被執(zhí)行。是否要被執(zhí)行。系統(tǒng)調(diào)用(8)系統(tǒng)調(diào)用與過(guò)程系統(tǒng)調(diào)用與過(guò)程(函數(shù)函數(shù)) 調(diào)用的區(qū)別調(diào)用的區(qū)別一一 是
9、調(diào)用形式是調(diào)用形式二二 是被調(diào)用代碼的位置是被調(diào)用代碼的位置 三三 是提供方式是提供方式四四 是調(diào)用的實(shí)現(xiàn)是調(diào)用的實(shí)現(xiàn) 1.3.4 操作接口與系統(tǒng)程序(1) 操作接口操作接口又稱(chēng)作業(yè)(或功能)級(jí)接口,是操作系統(tǒng)為用戶(hù)操作控制計(jì)算機(jī)工作和提供服務(wù)的手段的集合,通??山柚僮骺刂泼?、圖形操作界面(命令)、以及作業(yè)控制語(yǔ)言(命令)等來(lái)實(shí)現(xiàn)。操作接口與系統(tǒng)程序(2) 1. 作業(yè)控制方式作業(yè)控制方式 操作系統(tǒng)提供聯(lián)機(jī)作業(yè)控制方式和脫操作系統(tǒng)提供聯(lián)機(jī)作業(yè)控制方式和脫機(jī)作業(yè)控制方式兩個(gè)作業(yè)級(jí)接口,使機(jī)作業(yè)控制方式兩個(gè)作業(yè)級(jí)接口,使用的手段為操作命令:用的手段為操作命令: 操作控制命令操作控制命令 作業(yè)控制
10、語(yǔ)言作業(yè)控制語(yǔ)言(命令命令)聯(lián)機(jī)用戶(hù)接口操作控制命令 命令行方式命令行方式 批命令方式批命令方式 圖形化方式圖形化方式批命令方式(1) 在使用操作命令過(guò)程中, 有時(shí)需要連續(xù)使用多條命令; 有時(shí)需要多次重復(fù)使用若干條命令; 有時(shí)需要選擇地使用不同命令 可用批命令實(shí)現(xiàn)。 批命令方式(2)批命令實(shí)現(xiàn)思想 規(guī)定特別的文件擴(kuò)展名,用戶(hù)先把一系列命令組織在該文件中,一次建立,多次執(zhí)行。 操作系統(tǒng)支持命令文件使用一套控制子命令,可寫(xiě)出帶形式參數(shù)的批命令文件。這樣的批命令文件可執(zhí)行不同的命令序列,增強(qiáng)命令接口的處理能力。UNIX的Shell(1) Shell是交互型命令解釋程序,也是命令級(jí)程序設(shè)計(jì)語(yǔ)言解釋系統(tǒng)
11、,例如, Myrun文件包含: cat $1 /* 顯示文件*/ cc $1 /* 編譯源程序*/ mv a.out $2 /*把目標(biāo)程序改為$2*/ $2 /*運(yùn)行$2*/ 執(zhí)行 csh myrun prog1.c prog ,將對(duì)源程序prog1.c進(jìn)行顯示和編譯,把目標(biāo)程序改名為prog并運(yùn)行。UNIX的Shell(2)另一個(gè)UNIX Shell的例子 從/user/user1/fei文件中,利用循環(huán)控制語(yǔ)句找出含單詞:process、thread信息行。其Shell程序feipro為 for i do grep $i/user/usr1/fei done 執(zhí)行 csh feipro p
12、rocess thread依次打印出含process和thread的信息行。MS-DOS操作系統(tǒng)的批文件 testbat是查找某文件是否存在的批文件: echo off if exist %1 goto lab1 echo %1 not found! goto lab2 :lab1 echo %1 is found! :lab2 用戶(hù)鍵入命令:test wpsexe 執(zhí)行批文件,若找到 文 件 顯 示 wpsexe is found! ;否 則 顯 示 wps.exe not found!脫機(jī)用戶(hù)接口作業(yè)控制語(yǔ)言 批處理接口:作業(yè)控制語(yǔ)言JCL( Job Control Language) 用
13、戶(hù)使用JCL語(yǔ)句,把運(yùn)行意圖(需要對(duì)作業(yè)進(jìn)行的控制和干予)寫(xiě)在作業(yè)說(shuō)明書(shū)上,將作業(yè)連同作業(yè)說(shuō)明書(shū)一起提交給系統(tǒng) 批處理作業(yè)的調(diào)度執(zhí)行過(guò)程,系統(tǒng)調(diào)用JCL語(yǔ)句處理程序或命令解釋程序IBM JCL的一個(gè)例子/ HAROLD JOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=b/ COMP EXEC PGM=IEYFORT/ SYSPRINT DD SYSOUT=A/ SYSIN DD* . . /*/ GO EXEC PGM=FORTLINK/ SYSPRINT DD SYSOUT=A/ FTOTF001 DD UNIT=SYSCP/ GO SYSIN DD* . ./
14、*/2. 命令解釋程序 命令解釋程序的主要功能是:接受和執(zhí)行下一條用戶(hù)從鍵盤(pán)輸入的命令。當(dāng)新的批作業(yè)被啟動(dòng),或新的交互型用戶(hù)登錄時(shí),系統(tǒng)就自動(dòng)地執(zhí)行命令解釋程序,它負(fù)責(zé)讀入控制卡或命令行,并作出相應(yīng)解釋和執(zhí)行。命令解釋程序?qū)崿F(xiàn)的兩種方式 一種是它自身包含了命令的執(zhí)行代碼。 另一種是由專(zhuān)門(mén)的“系統(tǒng)程序” 實(shí)現(xiàn),自身不含命令處理代碼,也不進(jìn)行處理,僅僅把這條命令對(duì)應(yīng)的命令文件裝入內(nèi)存執(zhí)行。 命令解釋程序的處理過(guò)程 系統(tǒng)啟動(dòng)命令解釋程序,輸出命令提示符,等待鍵盤(pán)中斷。用戶(hù)打入命令并按回車(chē)換行,申請(qǐng)鍵盤(pán)中斷。 CPU響應(yīng)后,控制權(quán)交給命令解釋程序,它讀入命令緩沖區(qū)內(nèi)容,分析命令、接受參數(shù)。 若為簡(jiǎn)單命
15、令立即轉(zhuǎn)向命令處理代碼執(zhí)行。否則查找命令處理文件,裝入主存,傳遞參數(shù),將控制權(quán)交給其執(zhí)行。 命令處理結(jié)束后,再次輸出命令提示符,等待下一條命令。系統(tǒng)程序(1) 系統(tǒng)程序系統(tǒng)程序又稱(chēng)標(biāo)準(zhǔn)程序或?qū)嵱贸绦颍║tilities),雖非操作系統(tǒng)的核心,但卻必不可少,為用戶(hù)程序的開(kāi)發(fā)、調(diào)試、執(zhí)行、和維護(hù)解決帶有共性的問(wèn)題或執(zhí)行公共操作, 操作系統(tǒng)以外部操作命令形式向用戶(hù)提供系統(tǒng)程序。它的功能和性能很大程度上反映了操作系統(tǒng)的功能和性能。 系統(tǒng)程序(2) 系統(tǒng)程序的分類(lèi):系統(tǒng)程序的分類(lèi): 文件管理文件管理 狀態(tài)信息狀態(tài)信息 程序設(shè)計(jì)語(yǔ)言支持程序設(shè)計(jì)語(yǔ)言支持 程序的裝入和執(zhí)行支持程序的裝入和執(zhí)行支持 通信通信 其它軟件工具其它軟件工具 UNIX系統(tǒng)調(diào)用 系 統(tǒng) 調(diào) 用 符 合 可 移 植 操 作 系 統(tǒng)POSIX1003.1標(biāo)準(zhǔn),每個(gè)兼容的UNIX都必須支持它。 UNIX的標(biāo)準(zhǔn)系統(tǒng)調(diào)用分進(jìn)程管理、文件管理、設(shè)備管理、及狀態(tài)控制等五十余條,系統(tǒng)調(diào)用是軟件開(kāi)發(fā)者進(jìn)入U(xiǎn)NIX內(nèi)核的入口。UNIX標(biāo)準(zhǔn)函數(shù) UNIX提供標(biāo)準(zhǔn)函數(shù),POSIX1003.1標(biāo)準(zhǔn)定義了庫(kù)過(guò)程的集合,組成了標(biāo)準(zhǔn)函數(shù)庫(kù),其中較重要的是I/O庫(kù)函數(shù)。 庫(kù)函數(shù)用匯編語(yǔ)言編寫(xiě)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 景區(qū)擴(kuò)建籌備計(jì)劃方案
- 高端酒店停車(chē)場(chǎng)經(jīng)營(yíng)管理合同
- 乾隆與皇后考試題及答案
- 數(shù)據(jù)日?qǐng)?bào)面試題及答案
- 主動(dòng)脈夾層的診斷與治療
- 調(diào)度中心管理方案模板
- 車(chē)輛無(wú)償租賃給臨時(shí)施工項(xiàng)目協(xié)議
- 石板保護(hù)處理方案
- 消防驗(yàn)收計(jì)劃及方案
- 英國(guó)教育發(fā)展史綱
- 施工安全生產(chǎn)管理制度范本
- 藥店藥品培訓(xùn)知識(shí)課件下載
- 貴州省黔西南布依族苗族自治州興義市第八中學(xué)2025屆高一物理第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試題含解析
- 初中語(yǔ)文新課程標(biāo)準(zhǔn)理論測(cè)試題及答案
- 2025年電信運(yùn)營(yíng)商數(shù)字內(nèi)容業(yè)務(wù)發(fā)展機(jī)遇洞察-解碼運(yùn)營(yíng)商在5G+AI時(shí)代的戰(zhàn)略布局與增長(zhǎng)引擎
- 外耳道腫物的護(hù)理查房
- 學(xué)堂在線(xiàn) 生活英語(yǔ)進(jìn)階 期末考試答案
- 2025年醫(yī)生執(zhí)業(yè)資格考試題及答案
- 2025年廣東省中考生物試卷真題及答案詳解(精校打印版)
- 設(shè)備操作維護(hù)培訓(xùn)
- 溝通力培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論