




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第七章 作業(yè)管理與OS接口 第七章 作業(yè)管理與OS接口 批處理批處理OSOS的作業(yè)管理的作業(yè)管理命令接口命令接口UNIXUNIX系統(tǒng)調(diào)用系統(tǒng)調(diào)用第七章 作業(yè)管理與OS接口 程序的啟動 程序開始執(zhí)行時必須滿足兩個前提條件: 程序已裝入內(nèi)存 程序計(jì)數(shù)器PC中已置入該程序在內(nèi)存的入口地址 五種啟動程序執(zhí)行的方式 第一種方式:命令方式 第二種方式:批處理方式 第三種方式:EXEC方式 第四種方式:由硬件裝入程序和啟動 程序執(zhí)行 第五種方式:自啟程序 開機(jī)開機(jī)命令提示符出現(xiàn)命令提示符出現(xiàn)打入命令打入命令打回車程序首指令執(zhí)行程序首指令執(zhí)行程序尾指令執(zhí)行程序尾指令執(zhí)行下一個命令提示符出現(xiàn)下一個命令提示符出現(xiàn)
2、(在前一個命令提示符的下一行首)(在前一個命令提示符的下一行首)第一種方式:命令方式第二種方式:批處理方式 .BAT BAT 文件文件例子:啟動中文環(huán)境需要多條命令: 裝入字庫 啟動主程序 裝入漢字輸入法 AUTOEXEC.BATAUTOEXEC.BAT 以命令方式啟動執(zhí)行批文件以命令方式啟動執(zhí)行批文件操作系統(tǒng)調(diào)入批文件,讀進(jìn)其中第一條命令操作系統(tǒng)調(diào)入批文件,讀進(jìn)其中第一條命令裝入并啟動該命令要執(zhí)行的程序裝入并啟動該命令要執(zhí)行的程序該程序執(zhí)行完畢該程序執(zhí)行完畢回到操作系統(tǒng),回到操作系統(tǒng),操作系統(tǒng)從該批文件中讀下一條命令操作系統(tǒng)從該批文件中讀下一條命令批方式下的裝入啟動過程批方式下的裝入啟動過程
3、第三種方式: EXEC方式 在一個程序中運(yùn)行另一個程序 返回原來的程序“父父”程序執(zhí)行程序執(zhí)行exec調(diào)用調(diào)用操作系統(tǒng)實(shí)現(xiàn)操作系統(tǒng)實(shí)現(xiàn)exec的裝入(建立進(jìn)程)、的裝入(建立進(jìn)程)、啟動(或轉(zhuǎn)調(diào)度子程序或返回)啟動(或轉(zhuǎn)調(diào)度子程序或返回)“子子”程序執(zhí)行程序執(zhí)行回到操作系統(tǒng),進(jìn)行子程序結(jié)果處理工回到操作系統(tǒng),進(jìn)行子程序結(jié)果處理工作,并將結(jié)果信息返回作,并將結(jié)果信息返回“父父”程序程序“父父”程序繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行EXEC方方式式的的過過程程執(zhí)行完畢執(zhí)行完畢第四種方式:由硬件裝入程序和啟動程序執(zhí)行第五種方式:自啟程序 自己裝入自己,并啟動自己開始執(zhí)行的程序 自啟程序由兩部分組成 引導(dǎo)程序和程序
4、主體用戶程序存放在外存上,其自含的引導(dǎo)程用戶程序存放在外存上,其自含的引導(dǎo)程序順序放在存儲介質(zhì)的開始位置序順序放在存儲介質(zhì)的開始位置將該存儲介質(zhì)放到相應(yīng)的聯(lián)機(jī)輸入裝置上將該存儲介質(zhì)放到相應(yīng)的聯(lián)機(jī)輸入裝置上以某種硬操作方法通知計(jì)算機(jī)需以某種硬操作方法通知計(jì)算機(jī)需執(zhí)行自啟程序執(zhí)行自啟程序硬件將上述引導(dǎo)程序讀入內(nèi)存并將控制硬件將上述引導(dǎo)程序讀入內(nèi)存并將控制權(quán)傳給它權(quán)傳給它引導(dǎo)程序?qū)⒂脩糁黧w程序讀入內(nèi)存并引導(dǎo)程序?qū)⒂脩糁黧w程序讀入內(nèi)存并將控制權(quán)傳給它將控制權(quán)傳給它自啟程序裝入與啟動的過程自啟程序裝入與啟動的過程引導(dǎo)程序 程序的結(jié)束 正常結(jié)束:程序按自身的邏輯有效地完成預(yù)定功能后結(jié)束(a)返回父程序并回
5、送結(jié)果信息。(b)釋放所用資源(空間、設(shè)備),記錄使用情況,記帳等 異常結(jié)束:發(fā)生了某些錯誤而導(dǎo)致程序在沒有完成預(yù)定功能時提前結(jié)束基本概念 程序接口(program interface)指由用戶程序和操作系統(tǒng)之間的接口。用戶程序可通過該接口取得操作系統(tǒng)的服務(wù)。該接口主要由一組系統(tǒng)調(diào)用組成。 命令接口(command interface)用戶與操作系統(tǒng)之間的接口,用戶通過該接口直接或間接控制作業(yè)的運(yùn)行,包括直接鍵入或作業(yè)說明書中,發(fā)出的一組命令。也就是用戶接口,又可分成聯(lián)機(jī)用戶接口與脫機(jī)用戶接口兩種。作業(yè)級接口(命令接口) 操作系統(tǒng)為用戶對作業(yè)運(yùn)行全過程控制提供的功能。(1) 聯(lián)機(jī)接口(交互式)
6、(操作命令)(2) 脫機(jī)接口(作業(yè)控制語言) 程序級接口 系統(tǒng)為用戶在程序一級提供有關(guān)服務(wù)而設(shè)置用戶與操作系統(tǒng)的接口由一組系統(tǒng)調(diào)用命令組成 負(fù)責(zé)管理和控制運(yùn)行的程序 并在這些程序與系統(tǒng)控制的資源和提供的服務(wù)間實(shí)現(xiàn)交互作用 用匯編語言:在程序中直接用系統(tǒng)調(diào)用命令 用高級語言:可在編程時使用過程調(diào)用語句程序級接口用戶接口與OS間的關(guān)系圖第七章 作業(yè)管理與OS接口批處理批處理OS的作業(yè)管理的作業(yè)管理1. 作業(yè)的基本概念 作業(yè) 用戶在一次計(jì)算過程中,或者一次事務(wù)處理過程中,要求計(jì)算機(jī)系統(tǒng)所做工作的總稱 作業(yè)步 一個作業(yè)可劃分成若干部分,稱為一個作業(yè)步 典型的作業(yè)控制過程: “編譯”、“連接裝配”、“運(yùn)
7、行”批處理批處理OS的作業(yè)管理的作業(yè)管理2. 典型的作業(yè)步編譯編譯連接裝配連接裝配運(yùn)行運(yùn)行目標(biāo)目標(biāo)程序程序段段目標(biāo)目標(biāo)程序程序源程序源程序輸入數(shù)據(jù)輸入數(shù)據(jù)子程序子程序庫函數(shù)庫函數(shù)動態(tài)庫函數(shù)動態(tài)庫函數(shù)計(jì)算結(jié)果計(jì)算結(jié)果編輯(輸入,修改)源程序編輯(輸入,修改)源程序編譯編譯連接連接運(yùn)行運(yùn)行成功成功編輯(輸入,修改)另一源程序編輯(輸入,修改)另一源程序是是否否典型的作業(yè)步一個作業(yè)另一個作業(yè)3. 批處理作業(yè)控制語言 用戶用于描述批處理作業(yè)處理過程控制意圖的一種特殊程序 書寫作業(yè)說明書的語言稱為作業(yè)控制語言(JCL) 作業(yè)控制語言的類別包括: I/O命令、編譯命令、操作命令以及條件命令等4. 作業(yè)說明
8、書表達(dá)用戶對作業(yè)的控制意圖內(nèi)容: 作業(yè)的基本描述 作業(yè)控制描述 資源要求描述5. 作業(yè)控制塊 作業(yè)控制塊(JCB:Job Control Block)是批處理作業(yè)存在的標(biāo)志其中保存有統(tǒng)對于作業(yè)進(jìn)行管理所需要的全部信息,它們被保存于磁盤區(qū)域中。 當(dāng)作業(yè)開始由輸入設(shè)備向磁盤的輸入井傳輸時,系統(tǒng)輸入程序?yàn)槠浣⒁粋€作業(yè)控制塊,進(jìn)行初始化,初始化的大部分信息取自作業(yè)說明書 需要訪問作業(yè)控制塊的程序:系統(tǒng)輸入程序;作業(yè)調(diào)度程序;作業(yè)控制程序;系統(tǒng)輸出程序等 作業(yè)控制塊的撤消:作業(yè)完成后,其作業(yè)控制塊由系統(tǒng)輸出程序撤消,作業(yè)控制塊被撤消后其作業(yè)也不復(fù)存在作業(yè)控制塊的內(nèi)容作業(yè)標(biāo)知作業(yè)標(biāo)知用戶名稱用戶名稱用戶
9、帳號用戶帳號調(diào)度信息調(diào)度信息資源需求資源需求作業(yè)狀態(tài)作業(yè)狀態(tài)作業(yè)類別作業(yè)類別輸入井地址輸入井地址輸出井地址輸出井地址進(jìn)入系統(tǒng)時間進(jìn)入系統(tǒng)時間開始處理時間開始處理時間作業(yè)完成時間作業(yè)完成時間作業(yè)退出時間作業(yè)退出時間資源使用情況資源使用情況6. 作業(yè)表(作業(yè)隊(duì)列)每個作業(yè)有個作業(yè)控制塊 所有作業(yè)JCB構(gòu)成一個作業(yè)表 作業(yè)表存放在外存固定區(qū)域中,長度是固定 限制了系統(tǒng)所能同時容納的作業(yè)數(shù)量 系統(tǒng)輸入程序、作業(yè)調(diào)度程序、系統(tǒng)輸出程序都需要訪問作業(yè)表因而存在互斥問題 7. 批處理作業(yè)的狀態(tài)及轉(zhuǎn)換 一個作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束經(jīng)歷四個不同的狀態(tài):“進(jìn)入”“后備”“運(yùn)行”“完成” 作業(yè)和進(jìn)程的狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)
10、數(shù)據(jù)進(jìn)入狀態(tài)進(jìn)入狀態(tài)退出狀態(tài)退出狀態(tài)后備狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)運(yùn)行狀態(tài)作業(yè)控制進(jìn)程作業(yè)控制進(jìn)程 輸入設(shè)備輸入設(shè)備數(shù)據(jù)數(shù)據(jù)源程序源程序輸出設(shè)備輸出設(shè)備作業(yè)說作業(yè)說明書明書輸輸入入井井運(yùn)行運(yùn)行等待等待就緒就緒輸輸出出井井輸輸入入程程序序輸輸出出程程序序作作業(yè)業(yè)調(diào)調(diào)度度進(jìn)程進(jìn)程調(diào)度調(diào)度1) 作業(yè)的建立 一個作業(yè)建立過程的兩個子過程: 作業(yè)的輸入 JCB的建立 作業(yè)控制塊JCB和作業(yè):一一對應(yīng)關(guān)系2) 作業(yè)的輸入方式 聯(lián)機(jī)輸入方式 脫機(jī)輸入方式 直接耦合方式 SPOOLing系統(tǒng)(1)聯(lián)機(jī)輸入方式 用戶和系統(tǒng)通過交互會話來輸入作業(yè) 外圍設(shè)備直接和主機(jī)連接(2)脫機(jī)輸入方式 為了解決單臺設(shè)備聯(lián)機(jī)輸入時的C
11、PU浪費(fèi)問題3) 直接耦合系統(tǒng) 把主機(jī)和外圍低檔機(jī)通過一個公用的大容量外存直接耦合起來8.SPOOLING系統(tǒng)示意圖JCB的建立 在系統(tǒng)把作業(yè)信息輸入到輸入井之后,根據(jù)作業(yè)說明書和有關(guān)作業(yè)信息在外存的位置等建立作業(yè)控制表JCB JCB包含對作業(yè)進(jìn)行管理所必須的信息 只有在獲得JCB表項(xiàng)和足夠輸入井空間后作業(yè)才可能創(chuàng)建成功9. 批處理作業(yè)的調(diào)度主要功能: 審查系統(tǒng)能否滿足用戶作業(yè)的資源要求 按照一定的算法從輸入井中的后備作業(yè)中選取作業(yè) 調(diào)度的關(guān)鍵在選擇恰當(dāng)?shù)乃惴ㄗ鳂I(yè)調(diào)度程序 作 業(yè) 調(diào)度程序的主要功能是審查系統(tǒng)能否滿足用戶作業(yè)的資源要求以及按照一定的算法選取作業(yè)。10. 調(diào)度算法評價(jià) 目標(biāo): 單
12、位時間內(nèi)運(yùn)行盡可能多的作業(yè) 使處理機(jī)盡可能保持“忙碌” 使各種I/O設(shè)備得以充分利用 對所有的作業(yè)都是公平合理的調(diào)度算法應(yīng)與系統(tǒng)設(shè)計(jì)目標(biāo)保持一致注意系統(tǒng)資源均衡使用保證提交的作業(yè)在截止時間內(nèi)完成設(shè)法縮短作業(yè)平均周轉(zhuǎn)時間設(shè)計(jì)調(diào)度算法時應(yīng)考慮的因素: 作業(yè)平均周轉(zhuǎn)時間 平均帶權(quán)周轉(zhuǎn)時間調(diào)度算法性能的衡量 11.常見的批處理作業(yè)調(diào)度算法(1)先來先服務(wù)算法(FCFS:First Come First Serve)(2)最短作業(yè)優(yōu)先算法 (SJF:Shortest Job First)(3)最高響應(yīng)比優(yōu)先算法 (HRN:Highest Response Ratio Next) (4)基于優(yōu)先數(shù)調(diào)度算法
13、 (HPF:Highest Priority First)(5)均衡調(diào)度算法(分類排隊(duì)算法) 作業(yè)調(diào)度算法應(yīng)用例子1 假設(shè)在單道批處理環(huán)境下有四個作業(yè),已知它們進(jìn)入系統(tǒng)的時間、估計(jì)運(yùn)行時間,應(yīng)用先來先服務(wù)、最短作業(yè)優(yōu)先和最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法,分別計(jì)算出作業(yè)的平均周轉(zhuǎn)時間和帶權(quán)的平均周轉(zhuǎn)時間。先來先服務(wù)調(diào)度算法計(jì)算結(jié)果作作 業(yè)業(yè)進(jìn)進(jìn) 入入 時時 間間估估 計(jì)計(jì) 運(yùn)運(yùn) 行行時時 間間( 分分 鐘鐘 )開開 始始 時時 間間結(jié)結(jié) 束束 時時 間間周周 轉(zhuǎn)轉(zhuǎn) 時時 間間( 分分 鐘鐘 )帶帶 權(quán)權(quán) 周周 轉(zhuǎn)轉(zhuǎn)時時 間間JOB18: 001208: 0010: 001201JOB28: 50501
14、0: 0010: 501202.4JOB39: 001010: 5011: 0012012JOB49: 502011: 0011: 20904.5作作 業(yè)業(yè) 平平 均均 周周 轉(zhuǎn)轉(zhuǎn) 時時 間間 T = 112.5作作 業(yè)業(yè) 帶帶 權(quán)權(quán) 平平 均均 周周 轉(zhuǎn)轉(zhuǎn) 時時 間間 W = 4.97545019.9最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果作作 業(yè)業(yè)進(jìn)進(jìn) 入入 時時 間間估估 計(jì)計(jì) 運(yùn)運(yùn) 行行時時 間間( 分分 鐘鐘 )開開 始始 時時 間間結(jié)結(jié) 束束 時時 間間周周 轉(zhuǎn)轉(zhuǎn) 時時 間間( 分分 鐘鐘 )帶帶 權(quán)權(quán) 周周 轉(zhuǎn)轉(zhuǎn)時時 間間JOB18: 001208: 0010: 001201JOB28: 5
15、05010: 3011: 201503JOB39: 001010: 0010: 10707JOB49: 502010: 1010: 30402作作 業(yè)業(yè) 平平 均均 周周 轉(zhuǎn)轉(zhuǎn) 時時 間間 T = 95作作 業(yè)業(yè) 帶帶 權(quán)權(quán) 平平 均均 周周 轉(zhuǎn)轉(zhuǎn) 時時 間間 W = 3.2538013最高響應(yīng)比優(yōu)先作業(yè)算法計(jì)算結(jié)果作作業(yè)業(yè)進(jìn)進(jìn)入入時時間間估估計(jì)計(jì)運(yùn)運(yùn)行行時時間間(分分鐘鐘)開開始始時時間間結(jié)結(jié)束束時時間間周周轉(zhuǎn)轉(zhuǎn)時時間間(分分鐘鐘)帶帶權(quán)權(quán)周周轉(zhuǎn)轉(zhuǎn)時時間間JOB18:001208:0010:001201JOB28:503010:1011:00701.4JOB39:001010:0010:10
16、707JOB49:502011:0011:20904.5作作業(yè)業(yè)平平均均周周轉(zhuǎn)轉(zhuǎn)時時間間 T = 87.5作作業(yè)業(yè)帶帶權(quán)權(quán)平平均均周周轉(zhuǎn)轉(zhuǎn)時時間間 W = 4.07535016.3 在兩道環(huán)境下有四個作業(yè),已知它們進(jìn)入系統(tǒng)的時間、估計(jì)運(yùn)行時間,系統(tǒng)采用短作業(yè)優(yōu)先作業(yè)調(diào)度算法,作業(yè)被調(diào)度運(yùn)行后不再退出,當(dāng)一新作業(yè)投入運(yùn)行后,可按照作業(yè)運(yùn)行時間長短調(diào)整作業(yè)執(zhí)行的次序。請給出這四個作業(yè)的執(zhí)行時間序列,并計(jì)算出平均周轉(zhuǎn)時間及帶權(quán)平均周轉(zhuǎn)時間 作業(yè)調(diào)度算法應(yīng)用例子2兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果作作業(yè)業(yè)進(jìn)進(jìn)入入時時間間估估計(jì)計(jì)運(yùn)運(yùn)行行時時間間(分分鐘鐘)開開始始時時間間結(jié)結(jié)束束時時間間周周
17、轉(zhuǎn)轉(zhuǎn)時時間間(分分鐘鐘)帶帶權(quán)權(quán)周周轉(zhuǎn)轉(zhuǎn)時時間間JOB110:003010:0011:05654.167JOB210:052010:0510:25201JOB310:10510:2510:30204JOB410:201010:3010:40202作作業(yè)業(yè)平平均均周周轉(zhuǎn)轉(zhuǎn)時時間間 T = 31.25作作業(yè)業(yè)帶帶權(quán)權(quán)平平均均周周轉(zhuǎn)轉(zhuǎn)時時間間 W = 2.7912511.167四個作業(yè)的執(zhí)行時間序列為:JOB1:10:0010:05,10:4011:05JOB2:10:0510:25JOB3:10:2510:30JOB4:10:3010:40兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果(續(xù)1)10:
18、00,JOB1進(jìn)入,只有一作業(yè),JOB1被調(diào)入執(zhí)行10:05,JOB2到達(dá),最多允許兩作業(yè)同時進(jìn)入 所以JOB2也被調(diào)入 內(nèi)存中有兩作業(yè),哪一個執(zhí)行?題目規(guī)定當(dāng)一新作業(yè)運(yùn)行后,可按作業(yè)運(yùn)行時間長短調(diào)整執(zhí)行次序 即基于優(yōu)先數(shù)可搶占式調(diào)度策略優(yōu)先數(shù)是根據(jù)作業(yè)估計(jì)運(yùn)行時間大小來決定的由于JOB2運(yùn)行時間(20分)比JOB1少(到10:05,JOB1還需25分鐘)所以JOB2運(yùn)行,而JOB1等待兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法分析過程10:10,JOB3到達(dá)輸入井,內(nèi)存已有兩作業(yè) JOB3不能馬上進(jìn)入內(nèi)存;10:20,JOB4也不能進(jìn)入內(nèi)存10:25,JOB2運(yùn)行結(jié)束,退出,內(nèi)存中剩下JOB1 輸
19、入井中有兩作業(yè)JOB3和JOB4,如何調(diào)度? 作業(yè)調(diào)度算法:最短作業(yè)優(yōu)先因此JOB3進(jìn)入內(nèi)存比較JOB1和JOB3運(yùn)行時間JOB3運(yùn)行時間短,故JOB3運(yùn)行同樣,JOB3退出后,下一個是JOB4JOB4結(jié)束后,JOB1才能繼續(xù)運(yùn)行兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法分析過程(續(xù)1) 多道程序?qū)ζ骄苻D(zhuǎn)時間的影響作業(yè)流在多道環(huán)境下運(yùn)行 平均周轉(zhuǎn)時間、帶權(quán)平均周轉(zhuǎn)時間 比單道環(huán)境下都有明顯改善 不是任意作業(yè)組合都能改善調(diào)度性能有時甚至可能變壞批處理作業(yè)的控制 當(dāng)作業(yè)為執(zhí)行態(tài)時,作業(yè)調(diào)度程序?yàn)槠浣⒁蛔鳂I(yè)控制進(jìn)程, 由該進(jìn)程控制作業(yè)運(yùn)行 作業(yè)控制進(jìn)程:主要負(fù)責(zé)控制作業(yè)的運(yùn)行,具體解釋執(zhí)行作業(yè)說明書的
20、每一個作業(yè)步,并創(chuàng)建子進(jìn)程來完成相應(yīng)步驟 一個作業(yè)步的處理:(1)建立子進(jìn)程(2)為其申請資源(3)訪問該作業(yè)的JCB (4)釋放占有資源(5)撤消子進(jìn)程等 作業(yè)控制程序只有一個,對應(yīng)每一處于執(zhí)行狀態(tài)的作業(yè)有一作業(yè)控制進(jìn)程第七章 作業(yè)管理與OS接口命令接口命令接口命令接口 命令接口在操作系統(tǒng)與計(jì)算機(jī)用戶之間提供易于理解的雙向通信機(jī)制 基本任務(wù):解釋命令,傳送命令以便執(zhí)行 接受系統(tǒng)信息,提交給用戶 交互式命令的接口復(fù)雜:含功能結(jié)構(gòu),可能問題的處理,如各種約定、前端處理、命令日志、命令注解、宏命令及命令組等 交互式控制靈活方便,可以隨時進(jìn)行各種處理,排除問題,方便調(diào)試;系統(tǒng)利用率低 命令接口類型:
21、作業(yè)控制語言, 鍵盤操作命令 接口包括:一組聯(lián)機(jī)命令,終端處理程序,命令解釋程序終端處理程序 交互式命令接口用戶同操作系統(tǒng)的通信是通過一個輸入/輸出裝置來實(shí)現(xiàn)的 I/O裝置一般是顯示終端 通過鍵盤或鼠標(biāo)輸入,系統(tǒng)輸入呈現(xiàn)在顯示屏幕上,一次顯示若干正文行,某些系統(tǒng)中,提供圖形顯示功能 不管哪種I/O方式,這個終端裝置是由一個終端處理程序來管理和控制的。 終端處理程序提供的輸入輸出方式對整個用戶命令接口有重大影響,也確定了用戶與其應(yīng)用程序之間的通信方式 終端處理程序必須作為用戶接口的一個組成部分來考慮,即,直接影響命令接口的一些問題須由終端處理程序解決直接影響命令接口的一些問題(a)回送顯示(Ec
22、hoing)(b)提前打入(Type ahead)(c)字符變換(d)行緩沖 行緩沖僅將某條正在編輯的記錄提取到內(nèi)存同時鎖定該記錄,表緩沖則對整個表做這一操作 (e)中斷字符(Break Characters)命令解釋程序 命令解釋程序有兩種處理方法:(a)由終端命令解釋程序直接處理 在沒有創(chuàng)建子進(jìn)程功能的系統(tǒng)中,終端命令通常由對應(yīng)的命令解釋程序處理(一個進(jìn)程對應(yīng)一個終端用戶)(b)由子進(jìn)程代為處理 在具有創(chuàng)建子進(jìn)程功能的系統(tǒng)中,對于較為單純的命令,由命令解釋程序直接處理 對較復(fù)雜命令,如對于PASCAL源程序進(jìn)行編譯,命令解釋程序本身不能處理,此時創(chuàng)建一個子進(jìn)程,并由該子進(jìn)程運(yùn)行PASCAL
23、編譯程序命令接口的結(jié)構(gòu)(a)作為OS的一個部分 如,OS/MVT或VAX/VMS(b)作為OS的一個獨(dú)特模塊,能方便地修改或替換 如,RT-11或CP/M(c)作為一易于被替換的普通程序 如,UNIX操作系統(tǒng) (d) 在某些系統(tǒng)中,可能用專門設(shè)計(jì)的命令接口替代標(biāo)準(zhǔn)的命令接口 如,多用戶UNIX,用戶可有不同命令接口命令接口結(jié)構(gòu)命令語言命令語言規(guī)定由OS執(zhí)行的一系列操作 在一般的命令語言中,用戶通過打入稱為命令行的一行指令來規(guī)定每一個動作 每一命令行以命令開始,它標(biāo)識所要執(zhí)行的操作 大多數(shù)命令是用運(yùn)行一個程序來執(zhí)行所請求的操作 命令的附加功能(參數(shù)與變量,通配符,重定向,管道與過濾器等) 命令結(jié)
24、構(gòu):(命令前綴)命令名(命令參數(shù))(命令選項(xiàng))(1)系統(tǒng)訪問命令登錄命令,如,login等撤離命令,如,logout等(2)文件管理命令(3)編輯、編譯和執(zhí)行命令(4)詢問命令(5)操作員專用命令命令語言的種類(1)UNIX系統(tǒng): who ls -l(2)DOS系統(tǒng) dir c:(3)VAX/VMS run mypro典型命令實(shí)例命令文件 提前寫出命令并存入文件,稱之為命令文件 命令文件提供了一種把一系列命令組裝成文件的方法,然后用文件名作為命令名執(zhí)行另外一系列命令。 特點(diǎn):(1)接受參數(shù)、變量,宏變量替換(2)允許嵌套形式調(diào)用其他命令文件(3)允許參數(shù)來自終端的命令文件本身(4)允許執(zhí)行顯示
25、到終端、存入文件或送入打印機(jī)(5)允許命令加入注釋(6)出錯時允許用戶干預(yù)(7)可把輸入傳給程序,可有循環(huán)、分支、轉(zhuǎn)移等交互式系統(tǒng)的歷史與展望 六十年代中期:問答式對話、文本菜單或命令語言,基于命令行界面的交互式系統(tǒng) 七十、八十年代:圖形用戶界面時代,形成WIMP標(biāo)準(zhǔn),以窗口(windows)、圖標(biāo)(icon)、菜單(menu)、指點(diǎn)裝置(pointing device)為基礎(chǔ)的交互式系統(tǒng),實(shí)際行動代替復(fù)雜語法 多媒體界面是WIMP另一種風(fēng)格,是單通道的 未來的交互式系統(tǒng)必將是多通道的 通過各種不同的人體通道,如語音、手勢、身體語言等交互,大大提高交互的自然性和高效性 遵循以人為中心的自然交互
26、特點(diǎn),實(shí)現(xiàn)人與系統(tǒng)的無障礙自然交互交互式系統(tǒng)實(shí)例分時系統(tǒng) 分時系統(tǒng)中的用戶控制作業(yè)的執(zhí)行大致有四個階段: 終端的連接 用戶登錄 控制作業(yè)執(zhí)行 用戶退出第七章 作業(yè)管理與OS接口系統(tǒng)調(diào)用概念 系統(tǒng)調(diào)用指系統(tǒng)為用戶程序調(diào)用操作系統(tǒng)所提供的子程序。它與一般的函數(shù)調(diào)用不同,系統(tǒng)調(diào)用是通過中斷方式轉(zhuǎn)向相應(yīng)子程序的,它工作在核心態(tài)(即特權(quán)方式),而一般函數(shù)調(diào)用,仍僅在用戶態(tài)下的地址轉(zhuǎn)移。 系統(tǒng)調(diào)用 系統(tǒng)調(diào)用,是用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能 這是特殊的過程調(diào)用,由特殊的機(jī)器指令實(shí)現(xiàn)這個指令還將系統(tǒng)轉(zhuǎn)入管態(tài) 系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口,利用系統(tǒng)調(diào)用,動態(tài)請求和釋放系統(tǒng)資源,完成與
27、硬件相關(guān)的工作以及控制程序的執(zhí)行等 每個操作系統(tǒng)都提供幾百種系統(tǒng)調(diào)用 實(shí)際上系統(tǒng)調(diào)用語句本身是硬件提供的(機(jī)器指令),但其所調(diào)用的功能是操作系統(tǒng)提供的 每種機(jī)器的機(jī)器指令集中都有一條系統(tǒng)調(diào)用指令(訪管指令) 系統(tǒng)調(diào)用方式(INT)與程序中一般的調(diào)用方式的相同點(diǎn): 改變指令流程 重復(fù)執(zhí)行和公用 改變指令流程后需要返回原處系統(tǒng)調(diào)用與過程調(diào)用的相同點(diǎn)系統(tǒng)調(diào)用與一般過程調(diào)用的區(qū)別運(yùn)行在不同的系統(tǒng)狀態(tài) 一般過程調(diào)用,其調(diào)用程序和被調(diào)用程序都運(yùn)行在相同狀態(tài):核心態(tài)或用戶態(tài) 系統(tǒng)調(diào)用:調(diào)用程序在用戶態(tài),被調(diào)用程序在系統(tǒng)態(tài)狀態(tài)的轉(zhuǎn)換 一般的過程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,可直接由調(diào)用過程轉(zhuǎn)向被調(diào)用過程 運(yùn)行系統(tǒng)
28、調(diào)用時,調(diào)用和被調(diào)用過程在不同系統(tǒng)狀態(tài),不允許由調(diào)用過程直接轉(zhuǎn)向被調(diào)用過程 通過軟中斷機(jī)制先由用戶態(tài)轉(zhuǎn)換為核心態(tài) 在OS核心分析后,轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理子程序 同一程序中不包含被調(diào)用代碼 系統(tǒng)調(diào)用是動態(tài)調(diào)用,程序中不包含被調(diào)用代碼,好處:(1)用戶程序長度縮短(2)當(dāng)OS升級時,調(diào)用方不必改變 系統(tǒng)調(diào)用方式的調(diào)用地址和返回地址都是不固定的(系統(tǒng)調(diào)用指令中不包含調(diào)用地址,只包含功能號;系統(tǒng)調(diào)用返回指令中不包括返回地址,通過棧保存和彈出返回地址,系統(tǒng)調(diào)用返回地址不固定)系統(tǒng)調(diào)用與過程調(diào)用的區(qū)別(續(xù))返回問題 一般過程調(diào)用在被調(diào)用過程執(zhí)行完后,回調(diào)用過程 搶占式調(diào)度的系統(tǒng)中,被調(diào)用過程執(zhí)行完后,系
29、統(tǒng)將對所有要求運(yùn)行的進(jìn)程進(jìn)行優(yōu)先級分析。如果調(diào)用進(jìn)程仍有最高優(yōu)先級,則返回到調(diào)用進(jìn)程執(zhí)行 否則,引起重新調(diào)度,讓優(yōu)先級最高的進(jìn)程優(yōu)先執(zhí)行。此時,系統(tǒng)把調(diào)用進(jìn)程放入就緒隊(duì)列嵌套調(diào)用 系統(tǒng)調(diào)用也允許嵌套調(diào)用,即在一被調(diào)用過程執(zhí)行期間,可再利用系統(tǒng)調(diào)用命令調(diào)用另一系統(tǒng)調(diào)用 一般每個系統(tǒng)對嵌套調(diào)用的深度有限制系統(tǒng)調(diào)用的返回與嵌套調(diào)用系統(tǒng)調(diào)用的分類將系統(tǒng)的功能分為兩部分: 系統(tǒng)自身所需要的 作為服務(wù)提供給用戶的OS的系統(tǒng)調(diào)用: 進(jìn)程控制類系統(tǒng)調(diào)用 文件操作類系統(tǒng)調(diào)用 進(jìn)程通信類系統(tǒng)調(diào)用 設(shè)備管理類系統(tǒng)調(diào)用 信息維護(hù)類系統(tǒng)調(diào)用“廣義指令”和“虛處理機(jī)” 系統(tǒng)調(diào)用命令擴(kuò)充機(jī)器指令,增強(qiáng)系統(tǒng)的功能,方便用戶使
30、用, 稱為“廣義指令”。 “廣義指令”和機(jī)器指令的不同: 機(jī)器指令是由硬件線路直接實(shí)現(xiàn)的 “廣義指令”由OS提供的多個子程序,軟件實(shí)現(xiàn)的 “虛處理機(jī)”:從用戶角度來看,“廣義指令”,擴(kuò)大了機(jī)器指令系統(tǒng),增強(qiáng)了處理機(jī)功能,提供了一臺功能更強(qiáng),使用更方便的處理機(jī),實(shí)現(xiàn)了處理機(jī)性能上的擴(kuò)充,為了區(qū)別于真實(shí)的物理處理機(jī),稱它為“虛處理機(jī)”。虛擬機(jī) 硬件:CPU、內(nèi)存、外設(shè) 裸機(jī):沒有配置任何軟件的計(jì)算機(jī) 虛擬機(jī):在邏輯上添加一層軟件來擴(kuò)充計(jì)算機(jī)功能,被改造后的計(jì)算機(jī),除了基本硬件指令外,又增加了許多新的命令,這些指令和命令的集合稱為擴(kuò)充后的機(jī)器指令系統(tǒng),從而形成了一臺比原來機(jī)器性能更好、功能更強(qiáng)的計(jì)算
31、機(jī),這種經(jīng)軟件改造后的計(jì)算機(jī)稱為虛擬機(jī)。微機(jī)OS中的系統(tǒng)調(diào)用 一般外設(shè)的輸入、輸出的系統(tǒng)調(diào)用 磁盤管理及磁盤輸入、輸出的系統(tǒng)調(diào)用 磁盤文件管理的系統(tǒng)調(diào)用 其它系統(tǒng)調(diào)用系統(tǒng)調(diào)用過程 為為執(zhí)行系統(tǒng)調(diào)用命令作準(zhǔn)備。其主要工作是把用戶程序的“現(xiàn)場”保留起來,并把系統(tǒng)調(diào)用命令的編號等參數(shù)放入約定的存儲單元。 根根據(jù)系統(tǒng)調(diào)用的編號,訪問系統(tǒng)調(diào)用入口表,找到相應(yīng)子程序的入口地址,然后轉(zhuǎn)去執(zhí)行。 系系統(tǒng)調(diào)用命令執(zhí)行完后的處理。這包括恢復(fù)“現(xiàn)場”,并把系統(tǒng)調(diào)用的返回參數(shù)或參數(shù)區(qū)首址放入指定的通用寄存器中,以供用戶程序使用。 必須為實(shí)現(xiàn)系統(tǒng)調(diào)用功能的子程序編造入口地址表 每個入口地址與相應(yīng)的系統(tǒng)程序名對應(yīng) 陷入處
32、理程序把陷入指令包含功能號與入口地址表有關(guān)項(xiàng)對應(yīng), 系統(tǒng)調(diào)用功能號驅(qū)動有關(guān)子程序執(zhí)行 在系統(tǒng)調(diào)用處理結(jié)束之后,用戶程序需利用系統(tǒng)調(diào)用返回結(jié)果繼續(xù)執(zhí)行保護(hù)現(xiàn)場: 在進(jìn)入系統(tǒng)調(diào)用處理之前,陷入處理機(jī)構(gòu)還需保存處理機(jī)現(xiàn)場 在系統(tǒng)調(diào)用處理結(jié)束之后,要恢復(fù)處理機(jī)現(xiàn)場,現(xiàn)場被保護(hù)在特定的內(nèi)存區(qū)或寄存器中系統(tǒng)調(diào)用過程(續(xù))系統(tǒng)調(diào)用過程(續(xù))作業(yè)的生活歷程第七章 作業(yè)管理與OS接口UNIX系統(tǒng)調(diào)用系統(tǒng)調(diào)用UNIX系統(tǒng)調(diào)用的類型進(jìn)程控制文件操縱 進(jìn)程間通信(通信軟件包:IPC)信息維護(hù)進(jìn)程控制創(chuàng)建進(jìn)程(fork)終止進(jìn)程(exit)等待子進(jìn)程結(jié)束(wait)執(zhí)行一個文件(exec)獲得進(jìn)程ID獲得用戶ID進(jìn)程暫停(pause) (3)例:fork系統(tǒng)調(diào)用的一個簡單例子 Main() int pid; Printf(“just 1 process nown”); Printf(“calling fork( )n”); Pid=fork( ); If(pid=0) Printf(“Im the childn”); Else if (pid0) Printf(“Im the parentn”); Else printf(“fork failed n”) Printf(“program endn”); 程序運(yùn)行的結(jié)果如下: Just 1 process now Calling fork( ) I
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級下冊數(shù)學(xué)教案-1.4《分草莓》北師大版
- 2025年合伙終止合同模板
- Unit 5 animal friends Lesson 5 教學(xué)設(shè)計(jì) 2024-2025學(xué)年冀教版(2024)七年級英語上冊
- 《山坡羊 潼關(guān)懷古》歷年中考古詩欣賞試題匯編(截至2022年)
- 2025年河南對外經(jīng)濟(jì)貿(mào)易職業(yè)學(xué)院單招職業(yè)技能測試題庫附答案
- 2024年兩系雜交水稻新組合項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 2025年貴陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫一套
- 2025年呼倫貝爾職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫新版
- 2025年哈爾濱傳媒職業(yè)學(xué)院單招職業(yè)技能測試題庫含答案
- 2025年度文化旅游景區(qū)門面房屋出售及文創(chuàng)產(chǎn)品開發(fā)合同
- Unit5 What day is it today?(教學(xué)設(shè)計(jì))-2023-2024學(xué)年教科版(廣州)英語四年級下冊
- 法院生活費(fèi)申請書
- 2025年益陽醫(yī)學(xué)高等專科學(xué)校高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 醫(yī)用氣體施工方案
- 2024 年陜西公務(wù)員考試行測試題(B 類)
- 【課件】學(xué)校后勤管理工作
- 2025-2030年中國聚丙烯酰胺(PAM)市場發(fā)展?fàn)顩r及未來投資戰(zhàn)略決策報(bào)告新版
- 幼兒園師德師風(fēng)培訓(xùn)內(nèi)容
- 課題申報(bào)書:產(chǎn)教融合背景下護(hù)理專業(yè)技能人才“崗課賽證”融通路徑研究
- 住宅小區(qū)消防設(shè)施檢查方案
- 《榜樣9》觀后感心得體會四
評論
0/150
提交評論