版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.3.1操作系統(tǒng)基本服務(wù)1.基本服務(wù)創(chuàng)建程序執(zhí)行程序數(shù)據(jù)I/O信息存取通信服務(wù)錯(cuò)誤檢測(cè)和處理還具有其他功能:資源分配,統(tǒng)計(jì),保護(hù)。2用戶接口系統(tǒng)調(diào)用(程序接口)操作命令操作系統(tǒng)機(jī)應(yīng)用程序系統(tǒng)程序(操作接口)1.3.2程序接口與系統(tǒng)調(diào)用系統(tǒng)調(diào)用?系統(tǒng)調(diào)用的作用?系統(tǒng)調(diào)用是應(yīng)用程序獲得操作系統(tǒng)服務(wù)的唯一途徑。內(nèi)核的主體是系統(tǒng)調(diào)用的集合,內(nèi)核可以看成是特殊的公共子程序。系統(tǒng)調(diào)用?操作系統(tǒng)的功能通過(guò)一組稱為系統(tǒng)調(diào)用(system
call)的接口呈現(xiàn)給用戶,內(nèi)核提供一系列實(shí)現(xiàn)預(yù)定功能的內(nèi)核函數(shù),系統(tǒng)調(diào)用把應(yīng)用程序的請(qǐng)求傳達(dá)給內(nèi)核,內(nèi)核調(diào)用對(duì)應(yīng)的內(nèi)核函數(shù)完成請(qǐng)求所需處理后,再將處理結(jié)果返回給應(yīng)用程序。系統(tǒng)調(diào)用的作用系統(tǒng)調(diào)用是一種中介角色,把用戶與硬件開來(lái),應(yīng)用程序通過(guò)系統(tǒng)調(diào)用才能請(qǐng)求系統(tǒng)服務(wù)和使用系統(tǒng)資源,其作用有:一是內(nèi)核可基于權(quán)限和規(guī)則對(duì)資源進(jìn)行裁決,保證系統(tǒng)的安全性;二是系統(tǒng)調(diào)用封裝資源抽象,提供一致性接口,避免用戶使用資源時(shí)可能發(fā)生的錯(cuò)誤,且使編程方便效率高。API、庫(kù)函數(shù)、系統(tǒng)調(diào)用應(yīng)用程序能直接使用系統(tǒng)調(diào)用嗎?POSIX(Portable
OperatingSystemInterface
for
Computer
Environment)標(biāo)準(zhǔn);API和庫(kù)函數(shù)庫(kù)函數(shù)和系統(tǒng)調(diào)用應(yīng)用程序、庫(kù)函數(shù)、系統(tǒng)調(diào)用的調(diào)用關(guān)系鏈調(diào)用fprintf()應(yīng)用程序C函數(shù)庫(kù)內(nèi)核系統(tǒng)調(diào)用處理程序C庫(kù)中的fprintf()封裝程序用戶態(tài)態(tài)sys_write()內(nèi)核函數(shù)Linux系統(tǒng)程序、庫(kù)函數(shù)、系統(tǒng)調(diào)用分層關(guān)系用戶(進(jìn)程管理、操作系統(tǒng)管理、文件管理、設(shè)備管理等)系統(tǒng)程序(實(shí)用程序)(匯編、編譯、編輯、S 等)標(biāo)準(zhǔn)庫(kù)函數(shù)(打開、關(guān)閉、讀、寫、創(chuàng)建、撤銷等)用戶接口庫(kù)函數(shù)接口系統(tǒng)調(diào)用接口(處理器、硬件
器、磁盤、、終端等)用戶態(tài)核心態(tài)系統(tǒng)調(diào)用分類(1)進(jìn)程和作業(yè)管理:
(2)文件操作:(3)設(shè)備管理:
(4)主存管理:(5)信息
:(6)通信:系統(tǒng)調(diào)用實(shí)現(xiàn)一.是編寫系統(tǒng)調(diào)用處理內(nèi)核函數(shù);二.是設(shè)計(jì)一張系統(tǒng)調(diào)用地址表,每個(gè)
地址都指向一個(gè)系統(tǒng)調(diào)用的處理內(nèi)核函數(shù),有的系統(tǒng)還包含系統(tǒng)調(diào)用自帶參數(shù)的個(gè)數(shù);三.是陷入處理機(jī)制需開辟現(xiàn)場(chǎng)保護(hù)區(qū),以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場(chǎng)。系統(tǒng)調(diào)用處理過(guò)程System
CallA0
SUB0SUBiSUBnA1
SUB1AiAn……系統(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)地址表系統(tǒng)調(diào)用參數(shù)傳遞一是由訪管指令或陷入指令自帶參數(shù),直接參數(shù)間接參數(shù)二是通過(guò)CPU的通用寄存器傳遞參數(shù),或在主存的一個(gè)塊或表中存放參數(shù),其首地址送入寄存器,實(shí)現(xiàn)參數(shù)傳遞。三是在主存中開辟
堆棧區(qū)域傳遞參數(shù)。系統(tǒng)調(diào)用與函數(shù)調(diào)用的區(qū)別調(diào)用形式 方式不同。被調(diào)用代碼的位置不同。提供方式不同。1.3.3操作接口與系統(tǒng)程序1.作業(yè)控制方式作業(yè)接口是操作系統(tǒng)為用戶操作控制計(jì)算機(jī)工作和提供服務(wù)
段集合,通??山柚僮骺刂泼睢D形操作界面(命令)、以及作業(yè)控制語(yǔ)言(命令)等來(lái)實(shí)現(xiàn)作業(yè)控制方式–聯(lián)機(jī)作業(yè)控制方式與作業(yè)控制語(yǔ)言–脫機(jī)作業(yè)控制方式與操作控制命令聯(lián)機(jī)作業(yè)控制接口--操作控制命令命令行方式批命令方式圖形化方式脫機(jī)?批作處理業(yè)接控口制:作接業(yè)口控制—語(yǔ)作言業(yè)JCL控(
J制ob語(yǔ)言Control
Language)。用戶使用JCL語(yǔ)句,把運(yùn)行意圖(需要對(duì)作業(yè)進(jìn)行的控制和干予)寫在作業(yè)說(shuō)明書上,將作業(yè)連同作業(yè)說(shuō)明書一起提交給系統(tǒng)。批處理作業(yè)的調(diào)度執(zhí)行過(guò)程,系統(tǒng)調(diào)用JCL語(yǔ)句處理程序或命令解釋程序。IBM370使用JCL處理批作業(yè)的例子······ARDS>··//
HAROLDJOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=B//COMP
EXECPGM=IEYFORT//
SYSPRINT
DD
SYSOUT=A//
SYSLIN
DDDSNAME=SYSL,DISP=OLD,VOLUME=SER=123//
SYSIN
DD*??<SOURCE
PROGRAM
CARDS>??/*//
GO
EXECPGM=FORTLINK//
SYSPRINT
DD
SYSOUT=A//
FTOTF001
DD
UNIT=SYSCP//
GO
SYSIN
DD*??<D??/*//2.
命令解釋程序命令命令解釋程序的實(shí)現(xiàn):一是自帶命令執(zhí)行代碼,收到命令后,便轉(zhuǎn)向相應(yīng)命令處理代碼執(zhí)行,可以使用“系統(tǒng)調(diào)用
”幫助完成任務(wù),由于用到終端進(jìn)程的地址空間,故這類命令不宜過(guò)多;二是由專門“實(shí)用程序”實(shí)現(xiàn),執(zhí)行時(shí)把命令對(duì)應(yīng)的處理文件裝入主存,完成命令功能。操作系統(tǒng)把兩者結(jié)合起來(lái),簡(jiǎn)單命令由命令解釋程序直接處理;復(fù)雜命令由獨(dú)立的實(shí)用程序完成。3.Linux命令解釋器s執(zhí)行流程id≠0無(wú)有讀命令行獲命令名,按exec()組織參數(shù)id=fork()終端進(jìn)程Id=0有”&”嗎Wait等子進(jìn)程結(jié)束顯示提示符”$”子進(jìn)程exec()替換進(jìn)程映象運(yùn)行命令文件exit()出讓處理器子進(jìn)程終止子進(jìn)程運(yùn)行4.系統(tǒng)程序(1)系統(tǒng)程序又稱實(shí)用程序或支撐程序(Utilities),雖非操作系統(tǒng)的,但卻必不可少,為用戶程序的開發(fā)、調(diào)試、執(zhí)行、和 解決帶有共性的問(wèn)題或執(zhí)行公共操作,操作系統(tǒng)以操作命令形式向用戶提供系統(tǒng)程序。它的功能和性能很大程度上反映了操作系統(tǒng)的功能和性能。支撐程系序統(tǒng)的程分序類(:2)文件管理狀態(tài)信息程序設(shè)計(jì)語(yǔ)言支持程序的裝入和執(zhí)行支持通信其它 工具.3.1實(shí)u
系調(diào)用及現(xiàn)機(jī)x)
u行流int
main(
){
…read(
…);…}int
read
{…int
$0x80;…}Entry
(system_call)push
%eaxSAVE_ALL…Call*SYS_NAME(sys_call_table)(,%eax;)…Entry
(
ret_from_sys_call)restore_all:RESTORE_ALLIret;}asmlinkage
longsys_read(
)
{…return;}用戶態(tài)內(nèi)核態(tài)應(yīng)用程序L
C庫(kù)封裝例程統(tǒng)異常處理程序內(nèi)核函數(shù)制(2)Linux系統(tǒng)調(diào)用實(shí)現(xiàn)機(jī)制1)系統(tǒng)調(diào)用初始化set_system_gate(0x80,&system_call)2)系統(tǒng)調(diào)用公共
system_call(
)是系統(tǒng)調(diào)用的公共
,功能是:保護(hù)現(xiàn)場(chǎng),進(jìn)行正確性檢查,根據(jù)系統(tǒng)調(diào)用號(hào)跳轉(zhuǎn)到具體內(nèi)核函數(shù),該內(nèi)核函數(shù)執(zhí)行完畢時(shí)轉(zhuǎn)向下一步。ret_from_sys_call(),完成返回用戶空間前的最后檢查,用RESTORE_ALL宏恢復(fù)現(xiàn)場(chǎng)并執(zhí)行iret指令返回用戶斷點(diǎn)。3)保護(hù)現(xiàn)場(chǎng)系統(tǒng)調(diào)用處理時(shí)的棧內(nèi)容硬件完成…SSESPEFLAGSCSEIP完成系統(tǒng)調(diào)用號(hào)ESDSEAXEBPEDIESIEDXECXEBX….4)參數(shù)傳遞系統(tǒng)調(diào)用參數(shù)在5個(gè)以下。依次存放在寄存器EBX、ECX、EDX、ESI及EDI中。系統(tǒng)調(diào)用返回值放在EAX中返回。系統(tǒng)調(diào)用參數(shù)超過(guò)5個(gè)時(shí),存放在內(nèi)存參數(shù)區(qū),其地址通過(guò)寄存器傳送。5)
系統(tǒng)調(diào)用號(hào)和系統(tǒng)調(diào)用表(1)#define_NR_exit#define
_NR_fork#define
_NR_read#define
_NR_write#define
_NR_open#define_NR_close…123456系統(tǒng)調(diào)用號(hào)和系統(tǒng)調(diào)用表(2).dataENTRY(sys_call_table).long
SYMBOL_NAME(sys_ni_syscall).long
SYMBOL_NAME(sys_exit).long
SYMBOL_NAME(sys_fork).long
SYMBOL_NAME(sys_re
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專職司機(jī)2024勞動(dòng)協(xié)議模板版
- 2025年廠區(qū)物業(yè)服務(wù)與設(shè)施更新改造合同4篇
- 2025年茶葉原料供應(yīng)長(zhǎng)期合作協(xié)議4篇
- 專業(yè)2024年注塑車間承包合同2篇
- 2025年度智能交通信號(hào)控制系統(tǒng)合同4篇
- 二零二五年度廠房租賃及環(huán)保設(shè)施升級(jí)合同3篇
- 2024鐵路危險(xiǎn)品運(yùn)輸協(xié)議模板版
- 專項(xiàng)采購(gòu)附加合同(2024修訂版)版B版
- 二零二四塔吊操作人員勞務(wù)承包高空作業(yè)服務(wù)協(xié)議3篇
- 二零二五年度新型環(huán)保材料研發(fā)與市場(chǎng)拓展合同3篇
- 工程項(xiàng)目采購(gòu)與供應(yīng)鏈管理研究
- 2024年吉林高考語(yǔ)文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
- 工程索賠真實(shí)案例范本
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報(bào)
- 個(gè)人股權(quán)證明書
- 醫(yī)院運(yùn)送工作介紹
- 重癥患者的容量管理
評(píng)論
0/150
提交評(píng)論