




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、9.1 9.1 用戶接口用戶接口 9.2 Shell9.2 Shell命令語言命令語言 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)行交互作用和通信的通路。對絕大多數(shù)用戶而言,一個計(jì)算互作用和通信的通路。對絕大多數(shù)用戶而言,一個計(jì)算機(jī)系統(tǒng)的可接受性在很大程度上取決于這個接口。一般,機(jī)系統(tǒng)的可接受性在很大程度上取決于這個接口。一般,操作系統(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ī)用戶接口中,用戶主要通過命令語字符顯示式聯(lián)機(jī)用戶接口中,用戶主要通過命令語言來實(shí)現(xiàn)對作業(yè)的控制和取得操作系統(tǒng)的服務(wù)。言來實(shí)現(xiàn)對作業(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ī)用戶接口命令語言一般分為兩種方式:命令語言一般分為兩種方式:(1)命令行方式)命令行方式(2)批命令方式)批命令方式三、聯(lián)機(jī)命令的類型三、聯(lián)機(jī)命令的類型1.1.系統(tǒng)訪問類系統(tǒng)訪問類 即注冊命令即注冊命令LoginLogin,用戶在每次開始使用某終端時,用戶在每次開始使用某終端時,都須使用該命令,使系統(tǒng)能識別該用戶。都須使用該命令,使系統(tǒng)能識別該用戶。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)管道連接)管道連接 由兩個(含兩條)以上的命令形成一條管道,用由兩個(含兩條)以上的命令形成一條管道,用“”作為管道符號,把前一條命令的輸出信息作為作為管道符號,把前一條命令的輸出信息作為后一條命令的輸入信息。后一條命令的輸入信息。(3 3)過濾命令)過濾命令 用于讀
7、取指定文件或標(biāo)準(zhǔn)輸入,從中找出由參數(shù)用于讀取指定文件或標(biāo)準(zhǔn)輸入,從中找出由參數(shù)指定的模式,然后把所有包含該模式的行都打印出來。指定的模式,然后把所有包含該模式的行都打印出來。(4 4)批命令)批命令 利用一些鍵盤命令構(gòu)成一個程序,一次建立供多利用一些鍵盤命令構(gòu)成一個程序,一次建立供多次使用。次使用。9.2 Shell9.2 Shell命令語言命令語言 Linux的的Shell是作為操作系統(tǒng)的最外層,也稱為是作為操作系統(tǒng)的最外層,也稱為外殼外殼。 Shell可以作為命令語言,也是一種程序設(shè)計(jì)語言,可以作為命令語言,也是一種程序設(shè)計(jì)語言,還包括了還包括了Shell命令解釋程序。命令解釋程序。一、簡
8、單命令簡介一、簡單命令簡介 一條簡單命令實(shí)際上就是一個能完成某種功能的目一條簡單命令實(shí)際上就是一個能完成某種功能的目標(biāo)程序的名字。標(biāo)程序的名字。二、簡單命令的類型二、簡單命令的類型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)對已有文件改名的命令)對已有文件改名的命令mv(4)撤消文件的命令)撤消文件的命令rm(5)確定文件類型的命令)確定文件類型的命令file3.3.目錄操作命令目錄操作命令(1)建立目錄的命令)建立
9、目錄的命令mkdir(2)撤消目錄的命令)撤消目錄的命令rmdir(3)改變工作目錄的命令)改變工作目錄的命令cd(4)改變對文件的存取方式的命令)改變對文件的存取方式的命令chmod4.4.系統(tǒng)詢問命令系統(tǒng)詢問命令(1)訪問當(dāng)前日期和時間命令)訪問當(dāng)前日期和時間命令date(2)詢問系統(tǒng)當(dāng)前用戶的命令)詢問系統(tǒng)當(dāng)前用戶的命令who(3)顯示當(dāng)前目錄名的命令)顯示當(dāng)前目錄名的命令pwd三、重定向與管道命令三、重定向與管道命令1.1.重定向命令重定向命令 用重定向符用重定向符“”和和“”分別表示輸入轉(zhuǎn)向和輸出分別表示輸入轉(zhuǎn)向和輸出轉(zhuǎn)向。轉(zhuǎn)向。2.2.管道命令管道命令 用符號用符號“”來連接兩條命
10、令,使其前一條命令的來連接兩條命令,使其前一條命令的輸出作為后一條命令的輸入。輸出作為后一條命令的輸入。 在用管道線所連接的命令之間,實(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.對話通信命令對話通信命令writewrite 用此命令可以使用戶與當(dāng)前在系統(tǒng)中的其他用戶直用此命令
11、可以使用戶與當(dāng)前在系統(tǒng)中的其他用戶直接進(jìn)行聯(lián)機(jī)通信。接進(jìn)行聯(lián)機(jī)通信。3.3.允許或拒絕接收消息的允許或拒絕接收消息的mesgmesg命令命令五、后臺命令五、后臺命令 對所有在后臺運(yùn)行的命令的標(biāo)準(zhǔn)輸入,都必須加以對所有在后臺運(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.屏幕編輯屏幕編輯 對從鍵盤打入的數(shù)據(jù)(字符)進(jìn)行修改。對從鍵盤打入的數(shù)據(jù)(字符)進(jìn)行修改。5.5.特殊字符處理特殊字符處理(1)中斷字符)中斷字符 (2)停止上卷字符)停止上卷字符(3)恢復(fù)上卷字符)恢復(fù)上卷字符二、二、MS-DOSMS-DOS命令解釋程序命令解釋程序 在所有的操作系統(tǒng)中,
13、都是把命令解釋程序放在在所有的操作系統(tǒng)中,都是把命令解釋程序放在OS的最高層,以便能與用戶交互。的最高層,以便能與用戶交互。1.1.命令解釋程序的作用命令解釋程序的作用 在屏幕上給出提示符,請用戶鍵入命令,然后讀入在屏幕上給出提示符,請用戶鍵入命令,然后讀入該命令,識別命令,再轉(zhuǎn)到相應(yīng)命令處理程序的入口地該命令,識別命令,再轉(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. 二叉樹結(jié)構(gòu)的命令行樹二叉樹結(jié)構(gòu)的命令行樹3. Linux3. Linux命令解釋程序的工作流程命令解釋程序的工作流程9.4 9.4 系統(tǒng)調(diào)用的概念和類型系統(tǒng)調(diào)用的概念和類型 程序接口程序接口是是OSOS為正要運(yùn)行的程序提供服務(wù)并與之通為正要運(yùn)行的程序提供服務(wù)并與之通信的一個設(shè)施,它供所有的用戶程序使用,也供信的一個設(shè)施,它供所有的用戶程序使用,也供OSOS的的其它
15、組成部分,特別是命令處理程序使用。這個程序接其它組成部分,特別是命令處理程序使用。這個程序接口主要由系統(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)用是用戶在程序一級請求操作系統(tǒng)為之服是用戶在程序一級請求操作系統(tǒng)為之服務(wù)的一種手段,當(dāng)外層程序需要操作系統(tǒng)為之服務(wù)時,務(wù)的一種手段,當(dāng)外層程序需要操作系統(tǒng)為之服務(wù)時,可以在程序中安排一條類似機(jī)器指令形式的代碼,這一可以在程序中安排一條類似機(jī)器指令形式的代碼,這一代碼的執(zhí)行將導(dǎo)致一次對操作系統(tǒng)程序的代碼的執(zhí)行將導(dǎo)致一次對操作系統(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)用程序;同時計(jì)算機(jī)也設(shè)置了兩種狀態(tài):系統(tǒng)序和應(yīng)用程序;同時計(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)行過程中,處理機(jī)會在系能在用戶態(tài)運(yùn)行。在實(shí)際運(yùn)行過程中,處理機(jī)會在系統(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)時運(yùn)行的指令,是關(guān)系到系統(tǒng)全局就是在系統(tǒng)態(tài)時運(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)時運(yùn)行的指令。一般應(yīng)用程序所使用是在用戶態(tài)時運(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ù)時,它必須通過軟件中斷進(jìn)入核心,這時服務(wù)時,它必須通過軟件中斷進(jìn)入核心,這時CPUCPU的狀的狀態(tài)從用戶態(tài)轉(zhuǎn)換到系統(tǒng)態(tài),然后調(diào)用系統(tǒng)過程(子模態(tài)從用戶態(tài)轉(zhuǎn)換到系統(tǒng)態(tài),然后調(diào)用系統(tǒng)過程(子模塊)。執(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)用程序請求所以,系統(tǒng)調(diào)用在本質(zhì)上是應(yīng)用程序請求OSOS內(nèi)核完內(nèi)核完成某功能時的一種過程調(diào)用,但它與一般的過程調(diào)用有成某功能時的一種過程調(diào)用,但它與一般的過程調(diào)用有下述明顯差別:下述明顯差別:(1 1)運(yùn)行在不同的系統(tǒng)狀態(tài))
19、運(yùn)行在不同的系統(tǒng)狀態(tài)(2 2)狀態(tài)的轉(zhuǎn)換通過軟中斷進(jìn)入)狀態(tài)的轉(zhuǎn)換通過軟中斷進(jìn)入(3 3)返回問題)返回問題(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)用是通過中斷機(jī)制實(shí)現(xiàn)的,并且一個操作系統(tǒng)調(diào)用是通過中斷機(jī)制實(shí)現(xiàn)的,并且一個操作系統(tǒng)的所有系統(tǒng)調(diào)用都通過同一個中斷入口來實(shí)現(xiàn)。系統(tǒng)的所有系統(tǒng)調(diào)用都通過同一個中斷入口來實(shí)現(xiàn)。 對于擁有保護(hù)機(jī)制的操作系統(tǒng)來說,中斷機(jī)制本對于擁有保護(hù)機(jī)制的操作系統(tǒng)來說,
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)打開和關(guān)閉文件打開和關(guān)閉文件(3 3)讀和寫文件讀和寫文件3.3.進(jìn)程通信類系統(tǒng)調(diào)用進(jìn)程通信類系統(tǒng)調(diào)用(1 1)消息傳遞方式消息傳遞方式 在通信前,必須先打開一個連接,然后,在源進(jìn)程在通信前,必須
21、先打開一個連接,然后,在源進(jìn)程和目標(biāo)進(jìn)程之間便可開始通信。和目標(biāo)進(jìn)程之間便可開始通信。(2 2)共享存儲區(qū)方式共享存儲區(qū)方式 利用相關(guān)的系統(tǒng)調(diào)用,建立一個共享存儲區(qū),并將利用相關(guān)的系統(tǒng)調(diào)用,建立一個共享存儲區(qū),并將該存儲區(qū)連接到進(jìn)程自身的虛地址空間,然后實(shí)現(xiàn)相互該存儲區(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é)和形式方面卻相差很大。為此,國際標(biāo)準(zhǔn)化組織大。為此,國際標(biāo)準(zhǔn)化組織ISOISO給出
22、有關(guān)系統(tǒng)調(diào)用的國給出有關(guān)系統(tǒng)調(diào)用的國際標(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)用程序可以在源代碼一級上在多種操作系證編制的應(yīng)用程序可以在源代碼一級上在多種操作系統(tǒng)上移植運(yùn)行。統(tǒng)上移植運(yùn)行。 POSIXPOSIX定義了一組過程,這組過程是構(gòu)造系統(tǒng)調(diào)用定義了一組過程,這組過程是構(gòu)造系統(tǒng)調(diào)用所必須的。通過調(diào)用這些過程所提供的服務(wù),確定了所必須的。通過調(diào)用這些過程所提供的服務(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.文件打開文件打開(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)中提供了一個用于進(jìn)程間通信的軟件包,系統(tǒng)中提供了一個用于進(jìn)程間通信的軟件包,簡稱簡稱IPC,由消息機(jī)制、共享存儲器機(jī)制和信號量機(jī)制,由消息機(jī)制、共享存儲器機(jī)制和信號量機(jī)制三部分組成。三部分組成。用于信息維護(hù)的系統(tǒng)調(diào)用用于信息維護(hù)的系統(tǒng)調(diào)用: (1)設(shè)置和獲得時間)設(shè)置和獲得時間(2)獲得進(jìn)程和子進(jìn)程時間()獲得
25、進(jìn)程和子進(jìn)程時間(times)(3)設(shè)置文件訪問和修改時間)設(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)用,控制是由原來的用戶態(tài)轉(zhuǎn)換為系統(tǒng)實(shí)現(xiàn)系統(tǒng)調(diào)用,控制是由原來的用戶態(tài)轉(zhuǎn)換為系統(tǒng)態(tài),需要借助于中斷和陷入機(jī)制來完成,在該機(jī)制中包態(tài),需要借助于中斷和陷入機(jī)制來完成,在該機(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)用號和參數(shù)的設(shè)置系統(tǒng)調(diào)用號和參數(shù)的設(shè)置 在一個系統(tǒng)中
26、設(shè)置了許多條系統(tǒng)調(diào)用,并賦予每在一個系統(tǒng)中設(shè)置了許多條系統(tǒng)調(diào)用,并賦予每條系統(tǒng)調(diào)用一個唯一的系統(tǒng)調(diào)用號,不同的系統(tǒng)設(shè)置系條系統(tǒng)調(diào)用一個唯一的系統(tǒng)調(diào)用號,不同的系統(tǒng)設(shè)置系統(tǒng)調(diào)用號的方法不同。統(tǒng)調(diào)用號的方法不同。 每一條系統(tǒng)調(diào)用都含有若干個參數(shù),設(shè)置參數(shù)也有每一條系統(tǒng)調(diào)用都含有若干個參數(shù),設(shè)置參數(shù)也有幾種方法:幾種方法:(1)陷入命令自帶方式)陷入命令自帶方式 自帶的只能是少量的、有限的參數(shù)自帶的只能是少量的、有限的參數(shù)(2)直接將參數(shù)送入相應(yīng)的寄存器中)直接將參數(shù)送入相應(yīng)的寄存器中 系統(tǒng)調(diào)用通過系統(tǒng)內(nèi)部的寄存器系統(tǒng)調(diào)用通過系統(tǒng)內(nèi)部的寄存器R0、R1來傳遞參來傳遞參數(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指針指針返回處返回處trap 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ù)到指定地方保存起來。傳送參數(shù)到指定地方保存起來。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)場,然后返回被中斷進(jìn)程或新進(jìn)現(xiàn)場,然后返回被中斷進(jìn)程或新進(jìn)程,繼續(xù)往下執(zhí)行。程,繼續(xù)往下執(zhí)行。3.3.系統(tǒng)調(diào)用處理子程序的處理過程系統(tǒng)調(diào)用處理子程序的處理過程 系統(tǒng)調(diào)用的功能主要是由系統(tǒng)調(diào)用子程序來完成。系統(tǒng)調(diào)用的功能主要是由系統(tǒng)調(diào)用子程序來完成。對于不同的系統(tǒng)調(diào)用,其處理程序?qū)?zhí)行不同的功能。對于不同的系統(tǒng)調(diào)用,其處理程序?qū)?zhí)行不同的功能。An系統(tǒng)調(diào)用入口表系統(tǒng)調(diào)用入口表A0A1AiAnA0A1Ai(1)保護(hù))保護(hù)處理現(xiàn)場處理現(xiàn)場(2)取系)取系統(tǒng)調(diào)用號并統(tǒng)調(dià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)用的處理過程系統(tǒng)調(diào)用的處理過程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)硬件自動保護(hù)中斷現(xiàn)場)硬件自動保護(hù)中斷現(xiàn)場 (4)從中斷和陷入向量表中取出)從中斷和陷入向量表中取出trap.S的入口地址的入口地址(5)轉(zhuǎn)入中斷和陷入總控程序)轉(zhuǎn)入中斷和陷入總控程序trap.S中執(zhí)行中執(zhí)行(6)繼續(xù)保護(hù)現(xiàn)場)繼續(xù)保護(hù)現(xiàn)場二、二、UNIXUNIX系統(tǒng)調(diào)用的實(shí)現(xiàn)系統(tǒng)調(diào)用的實(shí)現(xiàn) 在在UNIX系統(tǒng)系統(tǒng)V的內(nèi)核程序中,有一個的內(nèi)核程序中,有一個trap.S文件,文件,它是中斷和陷入總控程序,每當(dāng)系統(tǒng)發(fā)生了中斷和陷入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出售私有住房合同標(biāo)準(zhǔn)文本
- 出口酒水合同標(biāo)準(zhǔn)文本
- 農(nóng)村買宅子合同標(biāo)準(zhǔn)文本
- 書法購銷合同樣本
- 人工挖孔樁合同樣本
- 公司整體轉(zhuǎn)讓協(xié)議合同標(biāo)準(zhǔn)文本
- 鄉(xiāng)鎮(zhèn)化糞池清理合同樣本
- bt項(xiàng)目施工合同范例
- 出口包裝購銷合同標(biāo)準(zhǔn)文本
- 中天置地合同標(biāo)準(zhǔn)文本
- 新人教版高中數(shù)學(xué)必修第二冊第八章立體幾何初步課件
- 《石壕吏》課件(共17張PPT)
- DB11-T 1832.13-2022建筑工程施工工藝規(guī)程 第13部分:給水與排水工程
- 機(jī)場現(xiàn)場運(yùn)行指揮員(教材章節(jié))
- 推動粵港澳大灣區(qū)綠色金融標(biāo)準(zhǔn)和服務(wù)互認(rèn)共認(rèn)實(shí)施方案
- 路遙《人生》(課堂PPT)
- 仁愛初中英語單詞匯總按字母順序排頁
- 2019外研社高中英語必修二課文翻譯
- 小學(xué)三年級上冊綜合實(shí)踐活動.來之不易的糧食----(22張)ppt
- 一年級上冊科學(xué)課件-1.3 觀察葉(3) l 教科版 (共14張PPT)
- 課間操評分辦法及評分表(共4頁)
評論
0/150
提交評論