版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、9.1 9.1 用戶接口用戶接口 9.2 Shell9.2 Shell命令語(yǔ)言命令語(yǔ)言 9.3 9.3 聯(lián)機(jī)命令接口的實(shí)現(xiàn)聯(lián)機(jī)命令接口的實(shí)現(xiàn)9.4 9.4 系統(tǒng)調(diào)用的概念和類型系統(tǒng)調(diào)用的概念和類型9.5 UNIX9.5 UNIX系統(tǒng)調(diào)用系統(tǒng)調(diào)用9.6 9.6 系統(tǒng)調(diào)用的實(shí)現(xiàn)系統(tǒng)調(diào)用的實(shí)現(xiàn) 操作系統(tǒng)接口操作系統(tǒng)接口指的是計(jì)算機(jī)系統(tǒng)與用戶之間進(jìn)行交指的是計(jì)算機(jī)系統(tǒng)與用戶之間進(jìn)行交互作用和通信的通路。對(duì)絕大多數(shù)用戶而言,一個(gè)計(jì)算互作用和通信的通路。對(duì)絕大多數(shù)用戶而言,一個(gè)計(jì)算機(jī)系統(tǒng)的可接受性在很大程度上取決于這個(gè)接口。一般,機(jī)系統(tǒng)的可接受性在很大程度上取決于這個(gè)接口。一般,操作系統(tǒng)都向用戶提供兩類接
2、口:即操作系統(tǒng)都向用戶提供兩類接口:即用戶接口用戶接口和和程序接程序接口口, ,在在InternetInternet廣為流行的今天,以出現(xiàn)了一種面向網(wǎng)廣為流行的今天,以出現(xiàn)了一種面向網(wǎng)絡(luò)的絡(luò)的網(wǎng)絡(luò)用戶接口網(wǎng)絡(luò)用戶接口。 9.1 9.1 用戶接口用戶接口 一般地,用戶接口又可進(jìn)一步分成三種類型:一般地,用戶接口又可進(jìn)一步分成三種類型:* * 字符顯示式聯(lián)機(jī)用戶接口字符顯示式聯(lián)機(jī)用戶接口* * 圖形化聯(lián)機(jī)用戶接口圖形化聯(lián)機(jī)用戶接口* * 脫機(jī)用戶接口脫機(jī)用戶接口一、字符顯示式聯(lián)機(jī)用戶接口一、字符顯示式聯(lián)機(jī)用戶接口 不同的操作系統(tǒng)的聯(lián)機(jī)命令接口有所不同,不同的不同的操作系統(tǒng)的聯(lián)機(jī)命令接口有所不同,不
3、同的用法和形式構(gòu)成了不同的用戶界面,可分成以下兩種:用法和形式構(gòu)成了不同的用戶界面,可分成以下兩種:(1)字符顯示式聯(lián)機(jī)用戶接口)字符顯示式聯(lián)機(jī)用戶接口(2)圖形化聯(lián)機(jī)用戶接口)圖形化聯(lián)機(jī)用戶接口 字符顯示式聯(lián)機(jī)用戶接口字符顯示式聯(lián)機(jī)用戶接口也叫也叫聯(lián)機(jī)命令接口聯(lián)機(jī)命令接口或交互或交互式用戶接口,它用于聯(lián)機(jī)作業(yè)控制,它是由一組鍵盤操式用戶接口,它用于聯(lián)機(jī)作業(yè)控制,它是由一組鍵盤操作命令組成。作命令組成。 字符顯示式聯(lián)機(jī)用戶接口中,用戶主要通過(guò)命令語(yǔ)字符顯示式聯(lián)機(jī)用戶接口中,用戶主要通過(guò)命令語(yǔ)言來(lái)實(shí)現(xiàn)對(duì)作業(yè)的控制和取得操作系統(tǒng)的服務(wù)。言來(lái)實(shí)現(xiàn)對(duì)作業(yè)的控制和取得操作系統(tǒng)的服務(wù)。 一組聯(lián)機(jī)命令一組聯(lián)
4、機(jī)命令 聯(lián)機(jī)命令接口聯(lián)機(jī)命令接口 終端處理程序終端處理程序 顯示在終端屏幕顯示在終端屏幕 命令解釋程序命令解釋程序 執(zhí)行相應(yīng)命令的執(zhí)行相應(yīng)命令的 處理程序處理程序二、圖形化聯(lián)機(jī)用戶接口二、圖形化聯(lián)機(jī)用戶接口命令語(yǔ)言一般分為兩種方式:命令語(yǔ)言一般分為兩種方式:(1)命令行方式)命令行方式(2)批命令方式)批命令方式三、聯(lián)機(jī)命令的類型三、聯(lián)機(jī)命令的類型1.1.系統(tǒng)訪問(wèn)類系統(tǒng)訪問(wèn)類 即注冊(cè)命令即注冊(cè)命令LoginLogin,用戶在每次開(kāi)始使用某終端時(shí),用戶在每次開(kāi)始使用某終端時(shí),都須使用該命令,使系統(tǒng)能識(shí)別該用戶。都須使用該命令,使系統(tǒng)能識(shí)別該用戶。2.2.文件操作命令文件操作命令(1 1)顯示文件
5、命令)顯示文件命令type type (2 2)拷貝文件命令)拷貝文件命令copycopy(3 3)文件比較命令)文件比較命令comp comp (4 4)刪除文件命令)刪除文件命令eraseerase(5 5)重新命名命令)重新命名命令RenameRename3.3.目錄操作命令目錄操作命令(1)建立子目錄命令)建立子目錄命令mkdir(2)顯示目錄命令)顯示目錄命令dir(3)刪除子目錄命令)刪除子目錄命令rmdir (4)顯示目錄結(jié)構(gòu)命令)顯示目錄結(jié)構(gòu)命令tree(5)改變當(dāng)前目錄命令)改變當(dāng)前目錄命令chdir4.4.其它命令其它命令(1)輸入輸出重定向命令)輸入輸出重定向命令 以輸出
6、重定向以輸出重定向“”,后接文件名或設(shè)備名,表示,后接文件名或設(shè)備名,表示該命令的輸出改向,送到指定文件或設(shè)備上。在輸入重該命令的輸出改向,送到指定文件或設(shè)備上。在輸入重定向定向“”左邊設(shè)定參數(shù),表示不再是從鍵盤而是從指左邊設(shè)定參數(shù),表示不再是從鍵盤而是從指定的文件或設(shè)備上,取得輸入?yún)?shù)。定的文件或設(shè)備上,取得輸入?yún)?shù)。(2 2)管道連接)管道連接 由兩個(gè)(含兩條)以上的命令形成一條管道,用由兩個(gè)(含兩條)以上的命令形成一條管道,用“”作為管道符號(hào),把前一條命令的輸出信息作為作為管道符號(hào),把前一條命令的輸出信息作為后一條命令的輸入信息。后一條命令的輸入信息。(3 3)過(guò)濾命令)過(guò)濾命令 用于讀
7、取指定文件或標(biāo)準(zhǔn)輸入,從中找出由參數(shù)用于讀取指定文件或標(biāo)準(zhǔn)輸入,從中找出由參數(shù)指定的模式,然后把所有包含該模式的行都打印出來(lái)。指定的模式,然后把所有包含該模式的行都打印出來(lái)。(4 4)批命令)批命令 利用一些鍵盤命令構(gòu)成一個(gè)程序,一次建立供多利用一些鍵盤命令構(gòu)成一個(gè)程序,一次建立供多次使用。次使用。9.2 Shell9.2 Shell命令語(yǔ)言命令語(yǔ)言 Linux的的Shell是作為操作系統(tǒng)的最外層,也稱為是作為操作系統(tǒng)的最外層,也稱為外殼外殼。 Shell可以作為命令語(yǔ)言,也是一種程序設(shè)計(jì)語(yǔ)言,可以作為命令語(yǔ)言,也是一種程序設(shè)計(jì)語(yǔ)言,還包括了還包括了Shell命令解釋程序。命令解釋程序。一、簡(jiǎn)
8、單命令簡(jiǎn)介一、簡(jiǎn)單命令簡(jiǎn)介 一條簡(jiǎn)單命令實(shí)際上就是一個(gè)能完成某種功能的目一條簡(jiǎn)單命令實(shí)際上就是一個(gè)能完成某種功能的目標(biāo)程序的名字。標(biāo)程序的名字。二、簡(jiǎn)單命令的類型二、簡(jiǎn)單命令的類型1.1.進(jìn)入與退出系統(tǒng)進(jìn)入與退出系統(tǒng) 進(jìn)入:進(jìn)入:Login 退出:退出:Control-D2.2.文件操作命令文件操作命令(1)顯示文件內(nèi)容命令)顯示文件內(nèi)容命令cat(2)復(fù)制文件副本的命令)復(fù)制文件副本的命令cp(3)對(duì)已有文件改名的命令)對(duì)已有文件改名的命令mv(4)撤消文件的命令)撤消文件的命令rm(5)確定文件類型的命令)確定文件類型的命令file3.3.目錄操作命令目錄操作命令(1)建立目錄的命令)建立
9、目錄的命令mkdir(2)撤消目錄的命令)撤消目錄的命令rmdir(3)改變工作目錄的命令)改變工作目錄的命令cd(4)改變對(duì)文件的存取方式的命令)改變對(duì)文件的存取方式的命令chmod4.4.系統(tǒng)詢問(wèn)命令系統(tǒng)詢問(wèn)命令(1)訪問(wèn)當(dāng)前日期和時(shí)間命令)訪問(wèn)當(dāng)前日期和時(shí)間命令date(2)詢問(wèn)系統(tǒng)當(dāng)前用戶的命令)詢問(wèn)系統(tǒng)當(dāng)前用戶的命令who(3)顯示當(dāng)前目錄名的命令)顯示當(dāng)前目錄名的命令pwd三、重定向與管道命令三、重定向與管道命令1.1.重定向命令重定向命令 用重定向符用重定向符“”和和“”分別表示輸入轉(zhuǎn)向和輸出分別表示輸入轉(zhuǎn)向和輸出轉(zhuǎn)向。轉(zhuǎn)向。2.2.管道命令管道命令 用符號(hào)用符號(hào)“”來(lái)連接兩條命
10、令,使其前一條命令的來(lái)連接兩條命令,使其前一條命令的輸出作為后一條命令的輸入。輸出作為后一條命令的輸入。 在用管道線所連接的命令之間,實(shí)現(xiàn)單向、同步運(yùn)在用管道線所連接的命令之間,實(shí)現(xiàn)單向、同步運(yùn)行。行。四、通信命令四、通信命令1.1.信箱通信命令信箱通信命令mailmail 作為在作為在UNIX的各用戶之間,進(jìn)行非交互式通信的的各用戶之間,進(jìn)行非交互式通信的工具。工具。 Mail命令可用于發(fā)送信件,也可用于讀取信件,命令可用于發(fā)送信件,也可用于讀取信件,命令后可使用選項(xiàng)。命令后可使用選項(xiàng)。2.2.對(duì)話通信命令對(duì)話通信命令writewrite 用此命令可以使用戶與當(dāng)前在系統(tǒng)中的其他用戶直用此命令
11、可以使用戶與當(dāng)前在系統(tǒng)中的其他用戶直接進(jìn)行聯(lián)機(jī)通信。接進(jìn)行聯(lián)機(jī)通信。3.3.允許或拒絕接收消息的允許或拒絕接收消息的mesgmesg命令命令五、后臺(tái)命令五、后臺(tái)命令 對(duì)所有在后臺(tái)運(yùn)行的命令的標(biāo)準(zhǔn)輸入,都必須加以對(duì)所有在后臺(tái)運(yùn)行的命令的標(biāo)準(zhǔn)輸入,都必須加以重定向,從而使從終端鍵入的所有字符,都被送到重定向,從而使從終端鍵入的所有字符,都被送到Shell進(jìn)程。進(jìn)程。9.3 9.3 聯(lián)機(jī)命令接口的實(shí)現(xiàn)聯(lián)機(jī)命令接口的實(shí)現(xiàn)一、鍵盤終端處理程序一、鍵盤終端處理程序具有以下功能:具有以下功能:1.1.字符接收功能字符接收功能 有兩種實(shí)現(xiàn)方式:有兩種實(shí)現(xiàn)方式: 面向字符方式面向字符方式 面向行方式面向行方式2
12、.2.字符緩沖功能字符緩沖功能 可采用兩種方式實(shí)現(xiàn)可采用兩種方式實(shí)現(xiàn) 專用緩沖方式專用緩沖方式 公用緩沖方式公用緩沖方式圖圖 9-1 9-1 兩種緩沖方式兩種緩沖方式 終端專用緩沖區(qū)主機(jī)終端(a) 專用緩沖區(qū)方式終端主機(jī)(b) 公用緩沖池方式公用緩沖池3.3.回送顯示回送顯示 多用軟件實(shí)現(xiàn)多用軟件實(shí)現(xiàn)4.4.屏幕編輯屏幕編輯 對(duì)從鍵盤打入的數(shù)據(jù)(字符)進(jìn)行修改。對(duì)從鍵盤打入的數(shù)據(jù)(字符)進(jìn)行修改。5.5.特殊字符處理特殊字符處理(1)中斷字符)中斷字符 (2)停止上卷字符)停止上卷字符(3)恢復(fù)上卷字符)恢復(fù)上卷字符二、二、MS-DOSMS-DOS命令解釋程序命令解釋程序 在所有的操作系統(tǒng)中,
13、都是把命令解釋程序放在在所有的操作系統(tǒng)中,都是把命令解釋程序放在OS的最高層,以便能與用戶交互。的最高層,以便能與用戶交互。1.1.命令解釋程序的作用命令解釋程序的作用 在屏幕上給出提示符,請(qǐng)用戶鍵入命令,然后讀入在屏幕上給出提示符,請(qǐng)用戶鍵入命令,然后讀入該命令,識(shí)別命令,再轉(zhuǎn)到相應(yīng)命令處理程序的入口地該命令,識(shí)別命令,再轉(zhuǎn)到相應(yīng)命令處理程序的入口地址,把控制權(quán)交給該處理程序去執(zhí)行。址,把控制權(quán)交給該處理程序去執(zhí)行。2.2.命令解釋程序的組成命令解釋程序的組成(1)常駐部分)常駐部分(2)初始化部分)初始化部分(3)暫存部分)暫存部分3.3.命令解釋程序的工作流程命令解釋程序的工作流程輸入命
14、令行輸入命令行從外存調(diào)入從外存調(diào)入外部命令執(zhí)行外部命令執(zhí)行顯示提示符顯示提示符命令合法否?命令合法否?是內(nèi)部命令?是內(nèi)部命令?二、二、ShellShell解釋程序解釋程序1. Shell1. Shell命令的特點(diǎn)命令的特點(diǎn)2. 2. 二叉樹(shù)結(jié)構(gòu)的命令行樹(shù)二叉樹(shù)結(jié)構(gòu)的命令行樹(shù)3. Linux3. Linux命令解釋程序的工作流程命令解釋程序的工作流程9.4 9.4 系統(tǒng)調(diào)用的概念和類型系統(tǒng)調(diào)用的概念和類型 程序接口程序接口是是OSOS為正要運(yùn)行的程序提供服務(wù)并與之通為正要運(yùn)行的程序提供服務(wù)并與之通信的一個(gè)設(shè)施,它供所有的用戶程序使用,也供信的一個(gè)設(shè)施,它供所有的用戶程序使用,也供OSOS的的其它
15、組成部分,特別是命令處理程序使用。這個(gè)程序接其它組成部分,特別是命令處理程序使用。這個(gè)程序接口主要由系統(tǒng)調(diào)用組成??谥饕上到y(tǒng)調(diào)用組成。一、系統(tǒng)調(diào)用的基本概念一、系統(tǒng)調(diào)用的基本概念 系統(tǒng)調(diào)用系統(tǒng)調(diào)用是用戶在程序一級(jí)請(qǐng)求操作系統(tǒng)為之服是用戶在程序一級(jí)請(qǐng)求操作系統(tǒng)為之服務(wù)的一種手段,當(dāng)外層程序需要操作系統(tǒng)為之服務(wù)時(shí),務(wù)的一種手段,當(dāng)外層程序需要操作系統(tǒng)為之服務(wù)時(shí),可以在程序中安排一條類似機(jī)器指令形式的代碼,這一可以在程序中安排一條類似機(jī)器指令形式的代碼,這一代碼的執(zhí)行將導(dǎo)致一次對(duì)操作系統(tǒng)程序的代碼的執(zhí)行將導(dǎo)致一次對(duì)操作系統(tǒng)程序的“調(diào)用調(diào)用”,它,它調(diào)用的是調(diào)用的是OSOS核心中設(shè)置的一組用于實(shí)現(xiàn)各
16、種系統(tǒng)功能核心中設(shè)置的一組用于實(shí)現(xiàn)各種系統(tǒng)功能的子程序功能模塊。的子程序功能模塊。1.1.系統(tǒng)態(tài)和用戶態(tài)系統(tǒng)態(tài)和用戶態(tài) 在計(jì)算機(jī)系統(tǒng)中,通常運(yùn)行著兩類程序:系統(tǒng)程在計(jì)算機(jī)系統(tǒng)中,通常運(yùn)行著兩類程序:系統(tǒng)程序和應(yīng)用程序;同時(shí)計(jì)算機(jī)也設(shè)置了兩種狀態(tài):系統(tǒng)序和應(yīng)用程序;同時(shí)計(jì)算機(jī)也設(shè)置了兩種狀態(tài):系統(tǒng)態(tài)和用戶態(tài)。操作系統(tǒng)在系統(tǒng)態(tài)運(yùn)行,而應(yīng)用程序只態(tài)和用戶態(tài)。操作系統(tǒng)在系統(tǒng)態(tài)運(yùn)行,而應(yīng)用程序只能在用戶態(tài)運(yùn)行。在實(shí)際運(yùn)行過(guò)程中,處理機(jī)會(huì)在系能在用戶態(tài)運(yùn)行。在實(shí)際運(yùn)行過(guò)程中,處理機(jī)會(huì)在系統(tǒng)態(tài)和用戶態(tài)間切換。相應(yīng)地,現(xiàn)代操作系統(tǒng)將統(tǒng)態(tài)和用戶態(tài)間切換。相應(yīng)地,現(xiàn)代操作系統(tǒng)將CPUCPU的的指令分為特權(quán)指令和非
17、特權(quán)指令兩類。指令分為特權(quán)指令和非特權(quán)指令兩類。1) 1) 特權(quán)指令特權(quán)指令 就是在系統(tǒng)態(tài)時(shí)運(yùn)行的指令,是關(guān)系到系統(tǒng)全局就是在系統(tǒng)態(tài)時(shí)運(yùn)行的指令,是關(guān)系到系統(tǒng)全局的指令。特權(quán)指令只允許操作系統(tǒng)使用,不允許應(yīng)用的指令。特權(quán)指令只允許操作系統(tǒng)使用,不允許應(yīng)用程序使用。程序使用。2) 2) 非特權(quán)指令非特權(quán)指令 是在用戶態(tài)時(shí)運(yùn)行的指令。一般應(yīng)用程序所使用是在用戶態(tài)時(shí)運(yùn)行的指令。一般應(yīng)用程序所使用的都是非特權(quán)指令,它只能完成一般性的操作和任務(wù)。的都是非特權(quán)指令,它只能完成一般性的操作和任務(wù)。2.2.系統(tǒng)調(diào)用系統(tǒng)調(diào)用 用戶程序運(yùn)行在用戶態(tài)下,當(dāng)它需要操作系統(tǒng)提供用戶程序運(yùn)行在用戶態(tài)下,當(dāng)它需要操作系統(tǒng)提
18、供服務(wù)時(shí),它必須通過(guò)軟件中斷進(jìn)入核心,這時(shí)服務(wù)時(shí),它必須通過(guò)軟件中斷進(jìn)入核心,這時(shí)CPUCPU的狀的狀態(tài)從用戶態(tài)轉(zhuǎn)換到系統(tǒng)態(tài),然后調(diào)用系統(tǒng)過(guò)程(子模態(tài)從用戶態(tài)轉(zhuǎn)換到系統(tǒng)態(tài),然后調(diào)用系統(tǒng)過(guò)程(子模塊)。執(zhí)行完成后,系統(tǒng)又將塊)。執(zhí)行完成后,系統(tǒng)又將CPUCPU狀態(tài)從系統(tǒng)態(tài)轉(zhuǎn)換到狀態(tài)從系統(tǒng)態(tài)轉(zhuǎn)換到用戶態(tài),再繼續(xù)執(zhí)行應(yīng)用程序。用戶態(tài),再繼續(xù)執(zhí)行應(yīng)用程序。 所以,系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請(qǐng)求所以,系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請(qǐng)求OSOS內(nèi)核完內(nèi)核完成某功能時(shí)的一種過(guò)程調(diào)用,但它與一般的過(guò)程調(diào)用有成某功能時(shí)的一種過(guò)程調(diào)用,但它與一般的過(guò)程調(diào)用有下述明顯差別:下述明顯差別:(1 1)運(yùn)行在不同的系統(tǒng)狀態(tài))
19、運(yùn)行在不同的系統(tǒng)狀態(tài)(2 2)狀態(tài)的轉(zhuǎn)換通過(guò)軟中斷進(jìn)入)狀態(tài)的轉(zhuǎn)換通過(guò)軟中斷進(jìn)入(3 3)返回問(wèn)題)返回問(wèn)題(4 4)嵌套調(diào)用)嵌套調(diào)用圖圖 9-6 9-6 系統(tǒng)功能的調(diào)用系統(tǒng)功能的調(diào)用 系統(tǒng)調(diào)用命令調(diào)用返回系統(tǒng)功能用戶程序(a) 系統(tǒng)調(diào)用與返回系統(tǒng)調(diào)用命令調(diào)用系統(tǒng)功能系統(tǒng)調(diào)用命令返回系統(tǒng)子功能(b) 程序之間的嵌套調(diào)用3.3.中斷機(jī)制中斷機(jī)制 系統(tǒng)調(diào)用是通過(guò)中斷機(jī)制實(shí)現(xiàn)的,并且一個(gè)操作系統(tǒng)調(diào)用是通過(guò)中斷機(jī)制實(shí)現(xiàn)的,并且一個(gè)操作系統(tǒng)的所有系統(tǒng)調(diào)用都通過(guò)同一個(gè)中斷入口來(lái)實(shí)現(xiàn)。系統(tǒng)的所有系統(tǒng)調(diào)用都通過(guò)同一個(gè)中斷入口來(lái)實(shí)現(xiàn)。 對(duì)于擁有保護(hù)機(jī)制的操作系統(tǒng)來(lái)說(shuō),中斷機(jī)制本對(duì)于擁有保護(hù)機(jī)制的操作系統(tǒng)來(lái)說(shuō),
20、中斷機(jī)制本身也是受保護(hù)的。身也是受保護(hù)的。二、系統(tǒng)調(diào)用的類型二、系統(tǒng)調(diào)用的類型1.1.進(jìn)程控制類系統(tǒng)調(diào)用進(jìn)程控制類系統(tǒng)調(diào)用(1 1)創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用)創(chuàng)建和終止進(jìn)程的系統(tǒng)調(diào)用(2 2)獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用)獲得和設(shè)置進(jìn)程屬性的系統(tǒng)調(diào)用(3 3)等待某事件出現(xiàn)的系統(tǒng)調(diào)用)等待某事件出現(xiàn)的系統(tǒng)調(diào)用2.2.文件操縱類系統(tǒng)調(diào)用文件操縱類系統(tǒng)調(diào)用(1 1)創(chuàng)建和刪除文件創(chuàng)建和刪除文件 (2 2)打開(kāi)和關(guān)閉文件打開(kāi)和關(guān)閉文件(3 3)讀和寫文件讀和寫文件3.3.進(jìn)程通信類系統(tǒng)調(diào)用進(jìn)程通信類系統(tǒng)調(diào)用(1 1)消息傳遞方式消息傳遞方式 在通信前,必須先打開(kāi)一個(gè)連接,然后,在源進(jìn)程在通信前,必須
21、先打開(kāi)一個(gè)連接,然后,在源進(jìn)程和目標(biāo)進(jìn)程之間便可開(kāi)始通信。和目標(biāo)進(jìn)程之間便可開(kāi)始通信。(2 2)共享存儲(chǔ)區(qū)方式共享存儲(chǔ)區(qū)方式 利用相關(guān)的系統(tǒng)調(diào)用,建立一個(gè)共享存儲(chǔ)區(qū),并將利用相關(guān)的系統(tǒng)調(diào)用,建立一個(gè)共享存儲(chǔ)區(qū),并將該存儲(chǔ)區(qū)連接到進(jìn)程自身的虛地址空間,然后實(shí)現(xiàn)相互該存儲(chǔ)區(qū)連接到進(jìn)程自身的虛地址空間,然后實(shí)現(xiàn)相互通信。通信。三、三、POSIXPOSIX標(biāo)準(zhǔn)標(biāo)準(zhǔn) 目前許多操作系統(tǒng)都提供了上面所介紹的各種類目前許多操作系統(tǒng)都提供了上面所介紹的各種類型的系統(tǒng)調(diào)用,但在實(shí)現(xiàn)的細(xì)節(jié)和形式方面卻相差很型的系統(tǒng)調(diào)用,但在實(shí)現(xiàn)的細(xì)節(jié)和形式方面卻相差很大。為此,國(guó)際標(biāo)準(zhǔn)化組織大。為此,國(guó)際標(biāo)準(zhǔn)化組織ISOISO給出
22、有關(guān)系統(tǒng)調(diào)用的國(guó)給出有關(guān)系統(tǒng)調(diào)用的國(guó)際標(biāo)準(zhǔn)際標(biāo)準(zhǔn)POSIX1003.1POSIX1003.1,也稱為,也稱為“基于基于UNIXUNIX的可移植操作的可移植操作系統(tǒng)接口系統(tǒng)接口”。 POSIXPOSIX定義了標(biāo)準(zhǔn)應(yīng)用程序接口(定義了標(biāo)準(zhǔn)應(yīng)用程序接口(APIAPI),用于保),用于保證編制的應(yīng)用程序可以在源代碼一級(jí)上在多種操作系證編制的應(yīng)用程序可以在源代碼一級(jí)上在多種操作系統(tǒng)上移植運(yùn)行。統(tǒng)上移植運(yùn)行。 POSIXPOSIX定義了一組過(guò)程,這組過(guò)程是構(gòu)造系統(tǒng)調(diào)用定義了一組過(guò)程,這組過(guò)程是構(gòu)造系統(tǒng)調(diào)用所必須的。通過(guò)調(diào)用這些過(guò)程所提供的服務(wù),確定了所必須的。通過(guò)調(diào)用這些過(guò)程所提供的服務(wù),確定了一系列系統(tǒng)
23、調(diào)用的功能。一系列系統(tǒng)調(diào)用的功能。9.5 UNIX9.5 UNIX系統(tǒng)調(diào)用系統(tǒng)調(diào)用一、進(jìn)程控制一、進(jìn)程控制 1. 1.創(chuàng)建進(jìn)程創(chuàng)建進(jìn)程(fork)(fork)和終止(和終止(exitexit) 2. 2.改變進(jìn)程映像(改變進(jìn)程映像(execexec)和等待)和等待 (wait) (wait) 3. 3.其它進(jìn)程調(diào)用其它進(jìn)程調(diào)用 (1 1)獲得進(jìn)程)獲得進(jìn)程IDID(2 2)獲得用戶)獲得用戶IDID(3 3)進(jìn)程暫停()進(jìn)程暫停(pausepause)二、文件操縱二、文件操縱1.1.文件創(chuàng)建文件創(chuàng)建(creat)(creat)和刪除和刪除 2.2.文件打開(kāi)文件打開(kāi)(open)(open)和關(guān)閉
24、和關(guān)閉(close) (close) 3.3.文件讀文件讀(read)(read)和寫和寫(write)(write)4.4.建立與文件的連接建立與文件的連接(link)(link)和去連接和去連接(unlink)(unlink)三三、進(jìn)程通信和信息保護(hù)、進(jìn)程通信和信息保護(hù) UNIX系統(tǒng)中提供了一個(gè)用于進(jìn)程間通信的軟件包,系統(tǒng)中提供了一個(gè)用于進(jìn)程間通信的軟件包,簡(jiǎn)稱簡(jiǎn)稱IPC,由消息機(jī)制、共享存儲(chǔ)器機(jī)制和信號(hào)量機(jī)制,由消息機(jī)制、共享存儲(chǔ)器機(jī)制和信號(hào)量機(jī)制三部分組成。三部分組成。用于信息維護(hù)的系統(tǒng)調(diào)用用于信息維護(hù)的系統(tǒng)調(diào)用: (1)設(shè)置和獲得時(shí)間)設(shè)置和獲得時(shí)間(2)獲得進(jìn)程和子進(jìn)程時(shí)間()獲得
25、進(jìn)程和子進(jìn)程時(shí)間(times)(3)設(shè)置文件訪問(wèn)和修改時(shí)間)設(shè)置文件訪問(wèn)和修改時(shí)間(utime)(4)獲得當(dāng)前)獲得當(dāng)前UNIX系統(tǒng)的名稱(系統(tǒng)的名稱(uname)9.6 9.6 系統(tǒng)調(diào)用的實(shí)現(xiàn)系統(tǒng)調(diào)用的實(shí)現(xiàn) 實(shí)現(xiàn)系統(tǒng)調(diào)用,控制是由原來(lái)的用戶態(tài)轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)用,控制是由原來(lái)的用戶態(tài)轉(zhuǎn)換為系統(tǒng)態(tài),需要借助于中斷和陷入機(jī)制來(lái)完成,在該機(jī)制中包態(tài),需要借助于中斷和陷入機(jī)制來(lái)完成,在該機(jī)制中包括括中斷和陷入硬件機(jī)構(gòu)中斷和陷入硬件機(jī)構(gòu)及及中斷與陷入處理程序中斷與陷入處理程序兩部分。兩部分。一、系統(tǒng)調(diào)用的實(shí)現(xiàn)方法一、系統(tǒng)調(diào)用的實(shí)現(xiàn)方法1.1.系統(tǒng)調(diào)用號(hào)和參數(shù)的設(shè)置系統(tǒng)調(diào)用號(hào)和參數(shù)的設(shè)置 在一個(gè)系統(tǒng)中
26、設(shè)置了許多條系統(tǒng)調(diào)用,并賦予每在一個(gè)系統(tǒng)中設(shè)置了許多條系統(tǒng)調(diào)用,并賦予每條系統(tǒng)調(diào)用一個(gè)唯一的系統(tǒng)調(diào)用號(hào),不同的系統(tǒng)設(shè)置系條系統(tǒng)調(diào)用一個(gè)唯一的系統(tǒng)調(diào)用號(hào),不同的系統(tǒng)設(shè)置系統(tǒng)調(diào)用號(hào)的方法不同。統(tǒng)調(diào)用號(hào)的方法不同。 每一條系統(tǒng)調(diào)用都含有若干個(gè)參數(shù),設(shè)置參數(shù)也有每一條系統(tǒng)調(diào)用都含有若干個(gè)參數(shù),設(shè)置參數(shù)也有幾種方法:幾種方法:(1)陷入命令自帶方式)陷入命令自帶方式 自帶的只能是少量的、有限的參數(shù)自帶的只能是少量的、有限的參數(shù)(2)直接將參數(shù)送入相應(yīng)的寄存器中)直接將參數(shù)送入相應(yīng)的寄存器中 系統(tǒng)調(diào)用通過(guò)系統(tǒng)內(nèi)部的寄存器系統(tǒng)調(diào)用通過(guò)系統(tǒng)內(nèi)部的寄存器R0、R1來(lái)傳遞參來(lái)傳遞參數(shù),數(shù), R0、R1既可保存輸入
27、參數(shù)又可存放返回值。既可保存輸入?yún)?shù)又可存放返回值。(3)參數(shù)表方式)參數(shù)表方式n(a)(a)直接參數(shù)方式直接參數(shù)方式 (b)(b)間接參數(shù)方式間接參數(shù)方式trap XX參數(shù)參數(shù)1參數(shù)參數(shù)2返回處返回處trap 00指針指針?lè)祷靥幏祷靥巘rap XX參數(shù)參數(shù)1參數(shù)參數(shù)2系統(tǒng)調(diào)用的參數(shù)形式2.2.系統(tǒng)調(diào)用的處理步驟系統(tǒng)調(diào)用的處理步驟k 將處理機(jī)狀態(tài)由用戶態(tài)轉(zhuǎn)為系統(tǒng)態(tài),保護(hù)中斷環(huán)境,將處理機(jī)狀態(tài)由用戶態(tài)轉(zhuǎn)為系統(tǒng)態(tài),保護(hù)中斷環(huán)境,傳送參數(shù)到指定地方保存起來(lái)。傳送參數(shù)到指定地方保存起來(lái)。k 分析系統(tǒng)調(diào)用類型,轉(zhuǎn)入相應(yīng)的分析系統(tǒng)調(diào)用類型,轉(zhuǎn)入相應(yīng)的系統(tǒng)調(diào)用處理子程系統(tǒng)調(diào)用處理子程序序。k 在系統(tǒng)調(diào)用處理
28、子程序執(zhí)行完后,應(yīng)恢復(fù)被中斷的在系統(tǒng)調(diào)用處理子程序執(zhí)行完后,應(yīng)恢復(fù)被中斷的或設(shè)置新進(jìn)程的或設(shè)置新進(jìn)程的CPU現(xiàn)場(chǎng),然后返回被中斷進(jìn)程或新進(jìn)現(xiàn)場(chǎng),然后返回被中斷進(jìn)程或新進(jìn)程,繼續(xù)往下執(zhí)行。程,繼續(xù)往下執(zhí)行。3.3.系統(tǒng)調(diào)用處理子程序的處理過(guò)程系統(tǒng)調(diào)用處理子程序的處理過(guò)程 系統(tǒng)調(diào)用的功能主要是由系統(tǒng)調(diào)用子程序來(lái)完成。系統(tǒng)調(diào)用的功能主要是由系統(tǒng)調(diào)用子程序來(lái)完成。對(duì)于不同的系統(tǒng)調(diào)用,其處理程序?qū)?zhí)行不同的功能。對(duì)于不同的系統(tǒng)調(diào)用,其處理程序?qū)?zhí)行不同的功能。An系統(tǒng)調(diào)用入口表系統(tǒng)調(diào)用入口表A0A1AiAnA0A1Ai(1)保護(hù))保護(hù)處理現(xiàn)場(chǎng)處理現(xiàn)場(chǎng)(2)取系)取系統(tǒng)調(diào)用號(hào)并統(tǒng)調(diào)用號(hào)并尋找子程序?qū)ふ易映?/p>
29、序入口入口(3)返回)返回 . . .Systemcall . . .Sub0Sub1SubiSubn陷入處理機(jī)構(gòu)陷入處理機(jī)構(gòu)系統(tǒng)調(diào)用處理系統(tǒng)調(diào)用處理子程序子程序用戶程序用戶程序系統(tǒng)調(diào)用的處理過(guò)程系統(tǒng)調(diào)用的處理過(guò)程An1.CPU1.CPU環(huán)境保護(hù)環(huán)境保護(hù)(1)提供系統(tǒng)調(diào)用所需的參數(shù)表,并將該參數(shù)表的地)提供系統(tǒng)調(diào)用所需的參數(shù)表,并將該參數(shù)表的地址送入址送入R0寄存器。寄存器。 用戶程序處在用戶態(tài)用戶程序處在用戶態(tài)(2)執(zhí)行系統(tǒng)調(diào)用命令)執(zhí)行系統(tǒng)調(diào)用命令CHMK 處理機(jī)由用戶態(tài)轉(zhuǎn)處理機(jī)由用戶態(tài)轉(zhuǎn)為核心態(tài)為核心態(tài)(3)硬件自動(dòng)保護(hù)中斷現(xiàn)場(chǎng))硬件自動(dòng)保護(hù)中斷現(xiàn)場(chǎng) (4)從中斷和陷入向量表中取出)從中斷和陷入向量表中取出trap.S的入口地址的入口地址(5)轉(zhuǎn)入中斷和陷入總控程序)轉(zhuǎn)入中斷和陷入總控程序trap.S中執(zhí)行中執(zhí)行(6)繼續(xù)保護(hù)現(xiàn)場(chǎng))繼續(xù)保護(hù)現(xiàn)場(chǎng)二、二、UNIXUNIX系統(tǒng)調(diào)用的實(shí)現(xiàn)系統(tǒng)調(diào)用的實(shí)現(xiàn) 在在UNIX系統(tǒng)系統(tǒng)V的內(nèi)核程序中,有一個(gè)的內(nèi)核程序中,有一個(gè)trap.S文件,文件,它是中斷和陷入總控程序,每當(dāng)系統(tǒng)發(fā)生了中斷和陷入
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年三輪手推式帶桶噴霧機(jī)項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年跆拳道計(jì)時(shí)記分牌項(xiàng)目可行性研究報(bào)告
- 2025年細(xì)紋棉麻油畫布項(xiàng)目可行性研究報(bào)告
- 2025年中國(guó)個(gè)人衛(wèi)星定位導(dǎo)航儀手持機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 2025年玻璃填充柱項(xiàng)目可行性研究報(bào)告
- 2025年往復(fù)纏繞打包鋼帶項(xiàng)目可行性研究報(bào)告
- 2025年四點(diǎn)接觸軸承項(xiàng)目可行性研究報(bào)告
- 2025年光學(xué)柱面鏡項(xiàng)目可行性研究報(bào)告
- 二零二五年度煤炭?jī)r(jià)格指數(shù)編制與應(yīng)用協(xié)議
- 2025至2030年野菊花營(yíng)養(yǎng)霜項(xiàng)目投資價(jià)值分析報(bào)告
- 微整培訓(xùn)課件
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 第19章 一次函數(shù) 單元整體教學(xué)設(shè)計(jì) 【 學(xué)情分析指導(dǎo) 】 人教版八年級(jí)數(shù)學(xué)下冊(cè)
- 電梯結(jié)構(gòu)與原理-第2版-全套課件
- IEC-62368-1-差異分享解讀
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語(yǔ)試卷
- 節(jié)后復(fù)工培訓(xùn)內(nèi)容五篇
- GB/T 33322-2016橡膠增塑劑芳香基礦物油
- GA 1051-2013槍支彈藥專用保險(xiǎn)柜
- 某水毀公路維修工程施工方案
- 建設(shè)工程監(jiān)理合同示范文本GF-2018-0202
評(píng)論
0/150
提交評(píng)論