




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主要內(nèi)容:操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)提供的用戶接口程序接口與系統(tǒng)調(diào)用操作接口與操作命令1.3操作系統(tǒng)的基本服務(wù)和用戶接口1創(chuàng)建程序和執(zhí)行程序數(shù)據(jù)I/O和信息存?。何募僮魍ㄐ欧?wù):進(jìn)程通信差錯(cuò)檢測(cè)和處理還具有另外一些功能:1.資源分配2.統(tǒng)計(jì)3.保護(hù)2一、操作系統(tǒng)提供的基本服務(wù)操作系統(tǒng)為用戶提供兩種調(diào)用其服務(wù)和功能的接口:程序接口:允許運(yùn)行程序調(diào)用操作系統(tǒng)的服務(wù)和功能。
許多操作系統(tǒng)的程序接口由一組系統(tǒng)調(diào)用(SystemCall))組成,用戶程序使用“系統(tǒng)調(diào)用”就可獲得操作系統(tǒng)的底層服務(wù),使用或訪問(wèn)系統(tǒng)的各種軟硬件資源。操作接口:又稱作業(yè)級(jí)接口,操作系統(tǒng)為用戶提供的操作 控制計(jì)算機(jī)工作和提供服務(wù)手段的集合,通常有操作控制 命令、圖形操作界面(命令)、以及批處理系統(tǒng)提供的作業(yè) 控制語(yǔ)言(命令)等實(shí)現(xiàn)手段。3二、操作系統(tǒng)提供的用戶接口(1)
用戶和操作系統(tǒng)間的兩種接口二、操作系統(tǒng)提供的用戶接口(2)系統(tǒng)調(diào)用操作命令或JCL操作系統(tǒng)裸
機(jī)(操作接口)(程序接口)4系統(tǒng)調(diào)用:內(nèi)核提供一系列具有預(yù)定功能的內(nèi)核函數(shù),通過(guò)一組接口(系統(tǒng)調(diào)用)提供給用戶。
系統(tǒng)調(diào)用把應(yīng)用程序的請(qǐng)求傳送至內(nèi)核,調(diào)用相應(yīng)的內(nèi)核函數(shù)完成所需要的處理,把處理結(jié)果返回給應(yīng)用程序。
內(nèi)核的主體是系統(tǒng)調(diào)用的集合,可以把內(nèi)核看作特殊的公共子程序。
系統(tǒng)調(diào)用是一種中介,把用戶和硬件隔離開,程序只有通過(guò)系統(tǒng)調(diào)用才能請(qǐng)求系統(tǒng)服務(wù)并且使用系統(tǒng)資源。系統(tǒng)調(diào)用的作用:
內(nèi)核可以基于權(quán)限和規(guī)則對(duì)資源訪問(wèn)進(jìn)行裁決,可以保證系統(tǒng)的安全性;
系統(tǒng)調(diào)用對(duì)資源進(jìn)行抽象,提供一致性接口,避免用戶在使用資源時(shí)發(fā)生錯(cuò)誤,并且使編程效率提高。注意:系統(tǒng)調(diào)用是應(yīng)用程序獲得操作系統(tǒng)服務(wù)的唯一途徑!52.API、庫(kù)函數(shù)和系統(tǒng)調(diào)用
直接使用系統(tǒng)調(diào)用存在兩個(gè)困難:第一,接口復(fù)雜、使用困難第二,應(yīng)用程序的跨平臺(tái)可移植性受到很大限制。
POSIX標(biāo)準(zhǔn):規(guī)定內(nèi)核的系統(tǒng)調(diào)用接口標(biāo)準(zhǔn),應(yīng)用程序在遵循此標(biāo)準(zhǔn)的不同操作系統(tǒng)之間具有可移植性。
UNIX/Linux在標(biāo)準(zhǔn)C函數(shù)庫(kù)中為每個(gè)系統(tǒng)調(diào)用構(gòu)造一個(gè)同名的封裝函數(shù),屏蔽其下層的復(fù)雜性,負(fù)責(zé)把操作系統(tǒng)所提供的服務(wù)接口——系統(tǒng)調(diào)用封裝成應(yīng)用程序能夠直接調(diào)用API(應(yīng)用編程接口)。一個(gè)庫(kù)函數(shù)就是一個(gè)API,它介于操作系統(tǒng)和應(yīng)用程序之間。6一個(gè)API可能使用一個(gè)系統(tǒng)調(diào)用,也可能使用多個(gè)系統(tǒng)調(diào)用;也可能若干API封裝相同的系統(tǒng)調(diào)用。有的庫(kù)函數(shù)可能與系統(tǒng)調(diào)用無(wú)關(guān)。1.系統(tǒng)調(diào)用
直接使用系統(tǒng)調(diào)用存在兩個(gè)困難:第一,接口復(fù)雜、使用困難第二,應(yīng)用程序的跨平臺(tái)可移植性受到很大限制。
POSIX標(biāo)準(zhǔn):規(guī)定內(nèi)核的系統(tǒng)調(diào)用接口標(biāo)準(zhǔn),應(yīng)用程序在遵循此標(biāo)準(zhǔn)的不同操作系統(tǒng)之間具有可移植性。
UNIX/Linux在標(biāo)準(zhǔn)C函數(shù)庫(kù)中為每個(gè)系統(tǒng)調(diào)用構(gòu)造一個(gè)同名的封裝函數(shù),屏蔽其下層的復(fù)雜性,負(fù)責(zé)把操作系統(tǒng)所提供的服務(wù)接口——系統(tǒng)調(diào)用封裝成應(yīng)用程序能夠直接調(diào)用API(應(yīng)用編程接口)。一個(gè)庫(kù)函數(shù)就是一個(gè)API,它介于操作系統(tǒng)和應(yīng)用程序之間。7一個(gè)API可能使用一個(gè)系統(tǒng)調(diào)用,也可能使用多個(gè)系統(tǒng)調(diào)用;也可能若干API封裝相同的系統(tǒng)調(diào)用。有的庫(kù)函數(shù)可能與系統(tǒng)調(diào)用無(wú)關(guān)。Windows操作系統(tǒng)也提供與POSIX兼容的子系統(tǒng)。
Windows不公開系統(tǒng)調(diào)用,僅提供以庫(kù)函數(shù)形式定義的API,叫做Win32API。
在用戶程序角度看,庫(kù)函數(shù)和系統(tǒng)調(diào)用之間差別不大,但是在操作系統(tǒng)實(shí)現(xiàn)的角度看,兩者存在重要差別:
使用庫(kù)函數(shù)可以隱藏訪管指令的細(xì)節(jié),使系統(tǒng)調(diào)用形式上類似函數(shù)調(diào)用;
對(duì)用戶隱藏系統(tǒng)調(diào)用,可以在操作系統(tǒng)內(nèi)核改動(dòng)時(shí),應(yīng)用程序不需要改動(dòng)。
庫(kù)函數(shù)屬于用戶程序,在CPU用戶態(tài)工作,系統(tǒng)調(diào)用屬于系統(tǒng)程序(操作系統(tǒng)),在核心態(tài)運(yùn)行。用戶可以替換庫(kù)函數(shù),但是不能替換系統(tǒng)調(diào)用。83.系統(tǒng)調(diào)用的分類
(1)進(jìn)程管理:進(jìn)程的創(chuàng)建、裝入、執(zhí)行、撤銷、終止,進(jìn)程屬性的獲取和設(shè)置。
(2)文件操作:文件的建立、打開、讀寫、關(guān)閉、刪除,文件屬性的獲取和設(shè)置。
(3)設(shè)備管理:設(shè)備的申請(qǐng)、輸入輸出、釋放、重定向,設(shè)備屬性的獲取和設(shè)置。(4)內(nèi)存管理:內(nèi)存的申請(qǐng)和釋放。
(5)進(jìn)程通信:通信連接的建立、連接和斷開、信息的發(fā)送和接受;傳遞狀態(tài)信息;連接和斷開遠(yuǎn)程設(shè)備。
(6)信息維護(hù):日期、時(shí)間及系統(tǒng)數(shù)據(jù)的獲取和設(shè)置;獲取和設(shè)置信息;生成診斷和統(tǒng)計(jì)數(shù)據(jù)。9三、程序接口與系統(tǒng)調(diào)用
(3)實(shí)例:Windows支持API(應(yīng)用編程接口)的三個(gè)組件:?Kernel包含了多數(shù)操作系統(tǒng)函數(shù),如內(nèi)存管理、進(jìn)程管理;10?User集中了窗口管理函數(shù),如窗口創(chuàng)建、撤銷、移動(dòng)、對(duì)話等相關(guān)函數(shù);?GDI提供畫圖函數(shù)、打印函數(shù)。Windows將三個(gè)組件置于動(dòng)態(tài)鏈接庫(kù)DLL中。三、程序接口與系統(tǒng)調(diào)用
(4)Windows和UNIX/Linux的部分系統(tǒng)調(diào)用:三、程序接口與系統(tǒng)調(diào)用
(5)Win32CreatProcessWaitForSingleObject說(shuō)明創(chuàng)建進(jìn)程等待進(jìn)程終止CreatFile/CloseHandle創(chuàng)建或打開/關(guān)閉文件ReadFile/WriteFileSetFilePointer讀/寫文件
移動(dòng)文件指針UNIX/Linuxforkwaitpidopen/closeread/writelseekmkdir/rmdirstatCreat/Remove
Directory
建立/刪除目錄GetFileAttributesEx 獲得文件屬性11■12■■■■■■3.系統(tǒng)調(diào)用的實(shí)現(xiàn)要點(diǎn)
(1)有關(guān)概念陷阱或異常處理機(jī)制------在操作系統(tǒng)中,實(shí)現(xiàn)系統(tǒng)調(diào)用功能的機(jī)制稱為陷阱或異常處理機(jī)制。訪管指令(陷阱指令或異常中斷指令)----由于系統(tǒng)調(diào)用而引起處理器中斷的機(jī)器指令稱為訪管指令(陷入指令或異常中斷指令)。(2)系統(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ī)制需開辟現(xiàn)場(chǎng)保護(hù)區(qū),以保存發(fā)生系統(tǒng)調(diào)用時(shí)的處理器現(xiàn)場(chǎng)。三、程序接口與系統(tǒng)調(diào)用
(7)System
Call
Ai用戶程序A0
SUB0SUBnAnA1
SUB1…Ai
SUBi…系統(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)陷入指令(3)系統(tǒng)調(diào)用的處理過(guò)程系統(tǒng)調(diào)用陷入機(jī)構(gòu)13入口地址表■14■■■■(4)系統(tǒng)調(diào)用的參數(shù)傳遞不同的系統(tǒng)調(diào)用需傳遞給系統(tǒng)調(diào)用處理程序不同的參數(shù),系統(tǒng)調(diào)用執(zhí)行的結(jié)果也要以參數(shù)形式返回給用戶程序。實(shí)現(xiàn)用戶程序和系統(tǒng)調(diào)用之間的參數(shù)傳遞可用以下方法:一是由訪管指令或陷入指令自帶參數(shù),可以規(guī)定指令之后的若干個(gè)單元存放的是參數(shù),這稱為直接參數(shù);或者在指令之后緊靠的單元中存放參數(shù)的地址,這稱為間接參數(shù)。二是通過(guò)CPU的通用寄存器傳遞參數(shù),或在內(nèi)存的一個(gè)塊或表中存放參數(shù),其首地址送入寄存器,實(shí)現(xiàn)參數(shù)傳遞。三是在內(nèi)存中開辟專用堆棧區(qū)域傳遞參數(shù)?!?5■4.系統(tǒng)調(diào)用與過(guò)程(函數(shù))調(diào)用的區(qū)別調(diào)用形式和實(shí)現(xiàn)方式不同。過(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)用中,調(diào)用程序和被調(diào)用代碼在同一程序內(nèi),經(jīng)過(guò)連接編譯后作為目標(biāo)代碼的一部分。當(dāng)過(guò)程(函數(shù))升級(jí)或修改時(shí),必須重新編譯連接。系統(tǒng)調(diào)用的處理代碼在調(diào)用程序之外(在操作系統(tǒng)中),系統(tǒng)調(diào)用處理代碼升級(jí)或修改時(shí),與調(diào)用程序無(wú)關(guān)。
(3)提供方式不同。過(guò)程(函數(shù))往往由編譯系統(tǒng)提供,不同編譯系統(tǒng)提供的過(guò)程(函數(shù))可以不同;系統(tǒng)調(diào)用由操作系統(tǒng)提供,一旦操作系統(tǒng)設(shè)計(jì)好,系統(tǒng)調(diào)用的功能、種類與數(shù)量就固定不變了。四、操作接口與系統(tǒng)程序(1)161.作業(yè)控制方式用戶如何來(lái)向操作系統(tǒng)提交作業(yè)和說(shuō)明運(yùn)行意圖?操作系統(tǒng)提供了聯(lián)機(jī)作業(yè)控制方式和脫機(jī)作業(yè)控制方式兩個(gè)作業(yè)級(jí)的接口,這兩個(gè)接口的使用手段為:操作控制命令和作業(yè)控制語(yǔ)言(命令)。(1)聯(lián)機(jī)用戶接口-----操作控制命令這是為聯(lián)機(jī)用戶提供的調(diào)用操作系統(tǒng)功能,請(qǐng)求操作系統(tǒng)為其服務(wù)的手段,它由一組命令及命令解釋程序組成,也稱為命令接口。其工作方式為:用戶在鍵盤上鍵入一條命令后,系統(tǒng)立即轉(zhuǎn)入命令解釋程序,對(duì)該命令進(jìn)行處理和執(zhí)行。四、操作接口與系統(tǒng)程序(2)17常用的用戶界面有以下幾種:1)字符顯示用戶界面主要通過(guò)命令語(yǔ)言來(lái)實(shí)現(xiàn),又可分成兩種方式:①命令行方式它以命令為基本單位來(lái)完成預(yù)定的工作任務(wù)。每個(gè)命令以命令行的形式輸入并提交給系統(tǒng)。一個(gè)命令行由命令動(dòng)詞和一組參數(shù)構(gòu)成,其一般形式如下:Command
arg1
arg2
.
.
.
ArgnCommand-----命令名,又稱命令動(dòng)詞。arg1
arg2...argn-----命令參數(shù)。Linux常用的五大類命令:第一類文件管理類:cd、chmod、chgrp、comm、cp、crypt、diff、file、find、ln、ls、mkdir、mv、od、pr、pwd、rm、rmdir。四、操作接口與系統(tǒng)程序(3)18第二類進(jìn)程管理類:at、kill、mail、nice、nohup、ps、tiwrite、mesg。第三類文本加工類:cat、crypt、grep、norff、uniq、wc、spell、tail、troff。第四類軟件開發(fā)類:cc、f77、login、logout、size、yacc、emacs、dbs、lex、make、lint、ld。第五類系統(tǒng)維護(hù)類:date、man、passwd、stty、tty、who。②批命令方式思想:規(guī)定一種特別的文件稱批命令文件,通常該類文件具有特殊的文件擴(kuò)展名(如MS-DOS約定為BAT),用戶可預(yù)先把一系列命令組織在該類文件中,一次建立,多次執(zhí)行。操作系統(tǒng)還支持命令文件使用一套控制子命令,可寫出帶形式參數(shù)的批命令文件。這樣的批命令文件可執(zhí)行不同的命令序列,增強(qiáng)命令接口的處理能力。UNIX和Linux的Shell不但是一種交互型命令解釋程序,也是命令級(jí)程序設(shè)計(jì)語(yǔ)言解釋系統(tǒng)。圖形化用戶界面圖形化用戶接口GUI(Graphics
User
Interface)使用口、圖標(biāo)、菜單和鼠標(biāo)等技術(shù),將系統(tǒng)的功能、各種應(yīng)用程序和文件用圖形符號(hào)直觀、逼真地表示出來(lái),用戶可通過(guò)選擇窗口、菜單、對(duì)話框和滾動(dòng)條完成對(duì)它們的作業(yè)的各種控制和操作。新一代用戶界面虛擬現(xiàn)實(shí)技術(shù)的研究和應(yīng)用,多感知通道用戶接口,自然化用戶接口,智能化用戶接口的研究。19(2)脫機(jī)用戶接口-----作業(yè)控制語(yǔ)言(命令)這種接口是專為批處理作業(yè)用戶提供的,也稱批處理用戶接口。操作系統(tǒng)提供了一個(gè)作業(yè)控制語(yǔ)言JCL(Job
Control
Language),它由一組作業(yè)控制卡,或作業(yè)控制語(yǔ)句或作業(yè)控制操作命令組成。其工作方式如下:用戶使用JCL語(yǔ)句,把運(yùn)行意圖(需要對(duì)作業(yè)進(jìn)行的控制和干予)寫在作業(yè)說(shuō)明書上,將作業(yè)連同作業(yè)說(shuō)明書一起提交給系統(tǒng)。批處理作業(yè)被調(diào)度執(zhí)行時(shí),系統(tǒng)調(diào)用JCL語(yǔ)句處理程序或命令解釋程序?qū)ψ鳂I(yè)說(shuō)明書進(jìn)行解釋處理,完成對(duì)作業(yè)的運(yùn)行和控制。20實(shí)例:一個(gè)需要編譯、連結(jié)編輯的作業(yè),源程序和數(shù)據(jù)穿在卡片上,編譯、連結(jié)編輯的結(jié)果需在行式打印機(jī)上輸出,編譯結(jié)果要存盤,連結(jié)編輯結(jié)果還要從穿孔機(jī)輸出,此作業(yè)用JCL語(yǔ)句組織如下://
HAROLDJOB,WILSON,MSGLEVEL=(2,0),PRTY=6,CLASS=b//
COMP
EXEC
PGM=IEYFORT//
SYSPRINT
DD
SYSOUT=A//
SYSIN
DD*21???.<Source
Program
Card>./*//
GO
EXEC
PGM=FORTLINK//
SYSPRINT
DD
SYSOUT=A//
FTOTF001
DD
UNIT=SYSCP//
GO
SYSIN
DD*22???.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)開發(fā)合作協(xié)議合同
- 三農(nóng)田改造方案設(shè)計(jì)指南
- 建筑木工分包合同
- 上海聲屏障施工方案
- 防水安全生產(chǎn)施工方案
- pvc地板膠施工方案
- 燜渣坑施工方案
- 余姚耐磨地坪施工方案
- 自建房水泥欄桿施工方案
- 青島市eps線條施工方案
- 煙草專賣法知識(shí)考試題庫(kù)500題(含答案)
- 旅游政策法規(guī)教案
- 《動(dòng)物王國(guó)開大會(huì)》預(yù)學(xué)單
- 鋼結(jié)構(gòu)安全交底
- 中國(guó)移動(dòng)《下一代全光骨干傳送網(wǎng)白皮書》
- 川教版六年級(jí)《生命.生態(tài).安全》下冊(cè)第1課《我們的閑暇時(shí)光》課件
- 2024年社區(qū)工作者考試必背1000題題庫(kù)含必背答案
- 心理危機(jī)干預(yù)指導(dǎo)手冊(cè)
- 抖音:短視頻與直播運(yùn)營(yíng)全套教學(xué)課件
- 部編小學(xué)語(yǔ)文單元作業(yè)設(shè)計(jì)二年級(jí)下冊(cè)第七單元
- 2024成人肥胖食養(yǎng)指南(完整版)
評(píng)論
0/150
提交評(píng)論