操作系統(tǒng)提供的基本服務(wù)_第1頁(yè)
操作系統(tǒng)提供的基本服務(wù)_第2頁(yè)
操作系統(tǒng)提供的基本服務(wù)_第3頁(yè)
操作系統(tǒng)提供的基本服務(wù)_第4頁(yè)
操作系統(tǒng)提供的基本服務(wù)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)提供的基本服務(wù)創(chuàng)建程序執(zhí)行程序數(shù)據(jù)I/O信息存取錯(cuò)誤檢測(cè)和處理此外,還具有另外一些功能:資源分配、統(tǒng)計(jì),保護(hù)1/9/2025操作系統(tǒng)提供的用戶接口操作系統(tǒng)的服務(wù)和功能可以用不同方式提供給用戶,最基本的方式有兩種:程序接口——系統(tǒng)調(diào)用(SystemCall)由操作系統(tǒng)實(shí)現(xiàn)的完成某種特定功能的過(guò)程;它是程序與操作系統(tǒng)的接口操作接口——系統(tǒng)程序(SystemProgram)操作系統(tǒng)為用戶提供的解決使用計(jì)算機(jī)和計(jì)算共性問(wèn)題的所有服務(wù)的集合;它可以看作是操作系統(tǒng)提供給用戶的功能級(jí)接口1/9/2025系統(tǒng)調(diào)用系統(tǒng)調(diào)用的分類進(jìn)程和作業(yè)管理文件操作設(shè)備操作信息維護(hù)通信1/9/2025系統(tǒng)調(diào)用的實(shí)現(xiàn)陷入處理機(jī)制(異常處理機(jī)制):操作系統(tǒng)中為控制和實(shí)現(xiàn)系統(tǒng)調(diào)用的機(jī)制由于系統(tǒng)調(diào)用而引起處理器中斷的指令稱訪管指令(Supervisor),陷入指令(Trap)或異常中斷指令(Interrupt)每個(gè)系統(tǒng)調(diào)用都事先規(guī)定了編號(hào),還附帶有傳遞給內(nèi)部處理程序的參數(shù)1/9/2025系統(tǒng)調(diào)用的實(shí)現(xiàn)要點(diǎn)編寫系統(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)1/9/2025系統(tǒng)調(diào)用的處理過(guò)程

SystemCall用戶程序A0SUB0SUB1SUBiSUBnA1AiAn……系統(tǒng)調(diào)用處理子程序取系統(tǒng)功能號(hào)找入口地址表相應(yīng)入口地址結(jié)束處理恢復(fù)現(xiàn)場(chǎng)入口地址表A0A1…Ai…An保護(hù)CPU現(xiàn)場(chǎng)系統(tǒng)調(diào)用陷入機(jī)構(gòu)陷入指令1/9/2025系統(tǒng)調(diào)用的參數(shù)傳遞訪管指令或陷入指令自帶參數(shù)指令之后的若干單元存放參數(shù),稱直接參數(shù)指令之后的若干單元存放參數(shù)的地址,稱間接參數(shù)通過(guò)通用寄存器傳遞參數(shù)通用寄存器傳遞參數(shù)通用寄存器傳遞參數(shù)地址,在內(nèi)存的一個(gè)塊或表中存放參數(shù)在內(nèi)存中開(kāi)辟專用堆棧區(qū)域傳遞參數(shù)1/9/2025傳遞參數(shù)的一種方法操作系統(tǒng)X:參數(shù)LOADAddRXSystemCall8X取參數(shù)X系統(tǒng)調(diào)用8的處理程序寄存器1/9/2025系統(tǒng)調(diào)用與過(guò)程(函數(shù))調(diào)用的區(qū)別調(diào)用形式:過(guò)程(函數(shù))使用一般調(diào)用指令,其轉(zhuǎn)向地址是固定不變的,包含在跳轉(zhuǎn)語(yǔ)句中系統(tǒng)調(diào)用中不包含處理程序入口,而僅僅提供功能號(hào),按功能號(hào)調(diào)用被調(diào)用代碼的位置:過(guò)程(函數(shù))調(diào)用是一種靜態(tài)調(diào)用,程序和被調(diào)代碼在同一程序內(nèi),經(jīng)過(guò)連接編輯后作為目標(biāo)代碼的一部份;當(dāng)過(guò)程(函數(shù))升級(jí)或修改時(shí),必須重新編譯連結(jié)系統(tǒng)調(diào)用是一種動(dòng)態(tài)調(diào)用,系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),系統(tǒng)調(diào)用處理代碼升級(jí)或修改時(shí),與調(diào)用程序無(wú)關(guān)1/9/2025系統(tǒng)調(diào)用與過(guò)程(函數(shù))調(diào)用的區(qū)別提供方式:過(guò)程(函數(shù))往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過(guò)程(函數(shù))可以不同系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設(shè)計(jì)好,系統(tǒng)調(diào)用的功能、種類與數(shù)量便固定不變了調(diào)用的實(shí)現(xiàn):程序使用一般機(jī)器指令轉(zhuǎn)子指令來(lái)調(diào)用過(guò)程(函數(shù)),是在用戶態(tài)運(yùn)行的程序執(zhí)行系統(tǒng)調(diào)用,是通過(guò)中斷機(jī)構(gòu)來(lái)實(shí)現(xiàn),需要從用戶態(tài)轉(zhuǎn)變到核心態(tài),在管理狀態(tài)下運(yùn)行1/9/2025Linux系統(tǒng)調(diào)用Linux有170個(gè)系統(tǒng)調(diào)用,其系統(tǒng)調(diào)用的組成:核心函數(shù):運(yùn)行在核心態(tài),是實(shí)現(xiàn)系統(tǒng)調(diào)用功能的(內(nèi)核)代碼,作為操作系統(tǒng)的核心駐留在內(nèi)存中,是一種共享代碼,用C語(yǔ)言書寫。它運(yùn)行在核心態(tài),數(shù)據(jù)也存放在內(nèi)核空間,通常它不能使用系統(tǒng)調(diào)用,也不能使用應(yīng)用程序可用的庫(kù)函數(shù)接口函數(shù):是提供給應(yīng)用程序的API,以庫(kù)函數(shù)形式存在Linux的lib.a中,該庫(kù)中存放了所有系統(tǒng)調(diào)用的接口函數(shù)的目標(biāo)代碼,用匯編語(yǔ)言書寫。其主要功能是把:系統(tǒng)調(diào)用號(hào)、入口參數(shù)地址傳送給相應(yīng)的核心函數(shù),并使用戶態(tài)下運(yùn)行的應(yīng)用程序陷入核心態(tài)1/9/2025Linux系統(tǒng)調(diào)用Linux的系統(tǒng)調(diào)用號(hào)就是系統(tǒng)調(diào)用入口表中位置的序號(hào),所有系統(tǒng)調(diào)用通過(guò)接口函數(shù)將系統(tǒng)調(diào)用號(hào)傳給內(nèi)核,內(nèi)核轉(zhuǎn)入系統(tǒng)調(diào)用控制程序再通過(guò)調(diào)用號(hào)位置來(lái)定位核心函數(shù),Linux內(nèi)核的陷入由0x80(int80h)中斷實(shí)現(xiàn)系統(tǒng)調(diào)用控制程序的主要功能為:取系統(tǒng)調(diào)用號(hào)根據(jù)系統(tǒng)調(diào)用號(hào)定位核心函數(shù)地址根據(jù)通用寄存器內(nèi)容,從用戶棧中取入口參數(shù)核心函數(shù)執(zhí)行,把結(jié)果返回應(yīng)用程序1/9/2025Linux系統(tǒng)調(diào)用入口程序entry.s,是用匯編寫的,它包含了系統(tǒng)調(diào)用入口地址表,給出了所有系統(tǒng)調(diào)用核心函數(shù)的名字:ENTRY(sys-call-table).longSYMBOL-NAME(sys-ni-syscall)0.longSYMBOL-NAME(sys-exit)1.longSYMBOL-NAME(sys-fork)2.longSYMBOL-NAME(sys-read)3.longSYMBOL-NAME(sys-write)4.longSYMBOL-NAME(sys-open)5.longSYMBOL-NAME(sys-close)6...longSYMBOL-NAME(sys-vfork)1901/9/2025系統(tǒng)程序系統(tǒng)程序的分類文件管理狀態(tài)信息程序設(shè)計(jì)語(yǔ)言支持程序的裝入和執(zhí)行支持通信其它軟件工具1/9/2025命令解釋程序命令解釋程序的主要功能是接受和執(zhí)行一條用戶提出的對(duì)作業(yè)的加工處理要求。當(dāng)一個(gè)新的批作業(yè)被啟動(dòng),或新的交互型用戶登錄進(jìn)系統(tǒng)時(shí),系統(tǒng)就自動(dòng)地執(zhí)行命令解釋程序,它負(fù)責(zé)讀入控制卡或命令行,并作出相應(yīng)解釋和執(zhí)行1/9/2025命令解釋程序?qū)崿F(xiàn)的兩種方式自身不含命令處理代碼:所有的命令處理代碼由專門的“系統(tǒng)程序”提供,命令解釋程序負(fù)責(zé)把這條命令對(duì)應(yīng)的命令文件裝入內(nèi)存執(zhí)行自身包含了命令的執(zhí)行代碼:命令解釋程序包含一些非常常用的簡(jiǎn)單的命令的處理代碼1/9/2025命令解釋程序的處理過(guò)程操作系統(tǒng)做完準(zhǔn)備工作后便啟動(dòng)命令解釋程序,它輸出命令提示符,等待鍵盤中斷到來(lái)每當(dāng)用戶打入一條命令(暫存在命令緩沖區(qū))并按回車換行時(shí),申請(qǐng)鍵盤中斷CPU響應(yīng)后,將控制權(quán)交給命令解釋程序,接著讀入命令緩沖區(qū)內(nèi)容,分析命令、接受參數(shù)。若為簡(jiǎn)單命令立即轉(zhuǎn)向命令處理代碼執(zhí)行;否則查找命令處理文件,裝入主存,傳遞參數(shù),將控制

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論