版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)OperatingSystem1第三章用戶接口與作業(yè)管理用戶與操作系統(tǒng)的接口批處理操作系統(tǒng)的作業(yè)管理作業(yè)的基本概念:作業(yè)、作業(yè)步、作業(yè)流交互式系統(tǒng)作業(yè)管理系統(tǒng)調(diào)用用戶程序提出服務(wù)請(qǐng)求的手段,基本思想,實(shí)現(xiàn)方法操作系統(tǒng)安裝與啟動(dòng)21、作業(yè)級(jí)接口操作系統(tǒng)為用戶對(duì)作業(yè)運(yùn)行全過(guò)程控制提供的功能(1)聯(lián)機(jī)接口(交互式)(2)脫機(jī)接口一、用戶與操作系統(tǒng)的接口(P71)作業(yè)級(jí)接口程序級(jí)接口32.程序級(jí)接口系統(tǒng)為用戶在程序一級(jí)提供有關(guān)服務(wù)而設(shè)置由一組系統(tǒng)調(diào)用命令組成負(fù)責(zé)管理和控制運(yùn)行的程序并在這些程序與系統(tǒng)控制的資源和提供的服務(wù)間實(shí)現(xiàn)交互作用用匯編語(yǔ)言:在程序中直接用系統(tǒng)調(diào)用命令用高級(jí)語(yǔ)言:可在編程時(shí)使用過(guò)程調(diào)用語(yǔ)句4二、批處理系統(tǒng)作業(yè)處理1、作業(yè)的基本概念(P72)(1)作業(yè)
用戶在一次計(jì)算過(guò)程中,或者一次事務(wù)處理過(guò)程中,要求計(jì)算機(jī)系統(tǒng)所做工作的總稱(2)作業(yè)步
一個(gè)作業(yè)可劃分成若干部分,稱為一個(gè)作業(yè)步典型的作業(yè)控制過(guò)程:“編譯”、“連接裝配”、“運(yùn)行”(3)作業(yè)流5(4)典型的作業(yè)步(P72)編譯連接裝配運(yùn)行目標(biāo)程序段目標(biāo)程序源程序輸入數(shù)據(jù)子程序庫(kù)函數(shù)動(dòng)態(tài)庫(kù)函數(shù)計(jì)算結(jié)果作業(yè)的基本概念(續(xù)1)62、批處理作業(yè)控制語(yǔ)言與作業(yè)說(shuō)明書(shū)(1)作業(yè)控制語(yǔ)言用戶用于描述批處理作業(yè)處理過(guò)程控制意圖的一種特殊程序書(shū)寫(xiě)作業(yè)說(shuō)明書(shū)的語(yǔ)言稱為作業(yè)控制語(yǔ)言(JCL)(2)作業(yè)控制語(yǔ)言的類別包括:I/O命令、編譯命令、操作命令以及條件命令等7(3)作業(yè)說(shuō)明書(shū)表達(dá)用戶對(duì)作業(yè)的控制意圖內(nèi)容:作業(yè)的基本描述作業(yè)控制描述資源要求描述批處理作業(yè)控制語(yǔ)言與作業(yè)說(shuō)明書(shū)(續(xù))83、作業(yè)控制塊與作業(yè)表(1)作業(yè)控制塊(P73)
(JCB:JobControlBlock)作業(yè)控制塊是批處理作業(yè)存在的標(biāo)志保存有系統(tǒng)對(duì)于作業(yè)進(jìn)行管理所需要的全部信息位于磁盤區(qū)域中9(2)作業(yè)控制塊的內(nèi)容(P73)
作業(yè)控制塊中所包含的信息數(shù)量及內(nèi)容因系統(tǒng)而異較簡(jiǎn)單的系統(tǒng)較復(fù)雜的系統(tǒng)作業(yè)控制塊與作業(yè)表(續(xù)1)10作業(yè)標(biāo)知用戶名稱用戶帳號(hào)調(diào)度信息資源需求作業(yè)狀態(tài)作業(yè)類別輸入井地址輸出井地址進(jìn)入系統(tǒng)時(shí)間開(kāi)始處理時(shí)間作業(yè)完成時(shí)間作業(yè)退出時(shí)間資源使用情況作業(yè)控制塊JCB作業(yè)控制塊與作業(yè)表(續(xù)2)11(3)作業(yè)控制塊的建立當(dāng)作業(yè)開(kāi)始由輸入設(shè)備向磁盤的輸入井傳輸時(shí)系統(tǒng)輸入程序?yàn)槠浣⒁粋€(gè)作業(yè)控制塊進(jìn)行初始化初始化的大部分信息取自作業(yè)說(shuō)明書(shū)
作業(yè)控制塊與作業(yè)表(續(xù)3)12(4)作業(yè)控制塊的使用需要訪問(wèn)作業(yè)控制塊的程序系統(tǒng)輸入程序作業(yè)調(diào)度程序作業(yè)控制程序系統(tǒng)輸出程序等作業(yè)控制塊與作業(yè)表(續(xù)4)13(5)作業(yè)控制塊的撤消作業(yè)完成后,其作業(yè)控制塊由系統(tǒng)輸出程序撤消作業(yè)控制塊被撤消后其作業(yè)也不復(fù)存在作業(yè)控制塊與作業(yè)表(續(xù)5)14(6)作業(yè)表每個(gè)作業(yè)有個(gè)作業(yè)控制塊所有作業(yè)JCB構(gòu)成一個(gè)作業(yè)表作業(yè)表存放在外存固定區(qū)域中,長(zhǎng)度是固定限制了系統(tǒng)所能同時(shí)容納的作業(yè)數(shù)量系統(tǒng)輸入程序、作業(yè)調(diào)度程序、系統(tǒng)輸出程序都需要訪問(wèn)作業(yè)表因而存在互斥問(wèn)題JCB1JCB2……JCBi……JCBn
作業(yè)表作業(yè)控制塊與作業(yè)表(續(xù)6)154、批處理作業(yè)的狀態(tài)及轉(zhuǎn)換一個(gè)作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束經(jīng)歷四個(gè)不同的狀態(tài): “進(jìn)入” “后備” “運(yùn)行” “完成”16作業(yè)和進(jìn)程的狀態(tài)轉(zhuǎn)換圖(P75)數(shù)據(jù)進(jìn)入狀態(tài)退出狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)作業(yè)控制進(jìn)程…輸入設(shè)備數(shù)據(jù)源程序輸出設(shè)備作業(yè)說(shuō)明書(shū)輸入井運(yùn)行等待就緒輸出井輸入程序輸出程序作業(yè)調(diào)度進(jìn)程調(diào)度批處理作業(yè)的狀態(tài)及轉(zhuǎn)換(續(xù)1)17(1)運(yùn)行狀態(tài)的作業(yè)三種狀態(tài):就緒狀態(tài)執(zhí)行狀態(tài)等待狀態(tài)批處理作業(yè)的狀態(tài)及轉(zhuǎn)換(續(xù)2)185、作業(yè)的建立(P76)一個(gè)作業(yè)建立過(guò)程的兩個(gè)子過(guò)程: 作業(yè)的輸入
JCB的建立作業(yè)控制塊JCB和作業(yè):一一對(duì)應(yīng)關(guān)系19(1)作業(yè)的輸入將作業(yè)程序、數(shù)據(jù)和作業(yè)說(shuō)明書(shū)從輸入設(shè)備(例如鍵盤)輸入到外存,并形成初始信息典型作業(yè)輸入方式
SPOOLing系統(tǒng)作業(yè)的建立(續(xù)1)20(2)JCB的建立在系統(tǒng)把作業(yè)信息輸入到輸入井之后根據(jù)作業(yè)說(shuō)明書(shū)和有關(guān)作業(yè)信息在外存的位置等建立作業(yè)控制表JCBJCB包含對(duì)作業(yè)進(jìn)行管理所必須的信息JCB表的數(shù)量是一個(gè)常數(shù)外存輸入井的大小有限
只有在獲得JCB表項(xiàng)和足夠輸入井空間后作業(yè)才可能創(chuàng)建成功作業(yè)的建立(續(xù)3)216、批處理作業(yè)的調(diào)度(P76)主要功能:審查系統(tǒng)能否滿足用戶作業(yè)的資源要求只要通過(guò)調(diào)用相應(yīng)的資源管理程序的有關(guān)部分審核其表中是否能滿足作業(yè)說(shuō)明書(shū)中的要求即可作業(yè)調(diào)度:按照一定的算法從輸入井中的后備作業(yè)中選取作業(yè)將其投入內(nèi)存運(yùn)行
調(diào)度的關(guān)鍵在于選擇恰當(dāng)?shù)乃惴?2(1)調(diào)度算法評(píng)價(jià)(P77)調(diào)度實(shí)質(zhì)上是一個(gè)策略問(wèn)題設(shè)定的目標(biāo)往往是相互沖突的
目標(biāo):?jiǎn)挝粫r(shí)間內(nèi)運(yùn)行盡可能多的作業(yè)使處理機(jī)盡可能保持“忙碌”使各種I/O設(shè)備得以充分利用對(duì)所有的作業(yè)都是公平合理的批處理作業(yè)的調(diào)度(續(xù)1)23要設(shè)計(jì)一個(gè)理想的調(diào)度算法是一件十分困難的事在實(shí)際系統(tǒng)中,調(diào)度算法往往折衷考慮設(shè)計(jì)調(diào)度算法時(shí)應(yīng)考慮的因素:調(diào)度算法應(yīng)與系統(tǒng)設(shè)計(jì)目標(biāo)保持一致注意系統(tǒng)資源均衡使用保證提交的作業(yè)在截止時(shí)間內(nèi)完成設(shè)法縮短作業(yè)平均周轉(zhuǎn)時(shí)間大多數(shù)操作系統(tǒng)都采用比較簡(jiǎn)單的調(diào)度算法批處理作業(yè)的調(diào)度(續(xù)2)24作業(yè)平均周轉(zhuǎn)時(shí)間假定某一作業(yè)進(jìn)入“輸入井”的時(shí)間為Si,它被選中執(zhí)行,得到計(jì)算結(jié)果的時(shí)間為Ei
它的周轉(zhuǎn)時(shí)間為Ti=Ei–Si
則作業(yè)平均周轉(zhuǎn)時(shí)間為:
T=(
)×
n為被測(cè)定作業(yè)流中的作業(yè)數(shù)(2)調(diào)度算法性能的衡量(P77)批處理作業(yè)的調(diào)度(續(xù)3)25平均帶權(quán)周轉(zhuǎn)時(shí)間
W=()×
ri
為某作業(yè)i的實(shí)際執(zhí)行時(shí)間
T:衡量不同調(diào)度算法對(duì)同一個(gè)作業(yè)流的性能
W:同一調(diào)度算法對(duì)不同作業(yè)流的性能衡量批處理作業(yè)的調(diào)度(續(xù)4)26(3)常見(jiàn)的批處理作業(yè)調(diào)度算法(P78)先來(lái)先服務(wù)算法(FCFS:FirstComeFirstServe)最短作業(yè)優(yōu)先算法(SJF:ShortestJobFirst)最高響應(yīng)比優(yōu)先算法(HRN:HighestResponseRatioNext)
響應(yīng)比R=作業(yè)周轉(zhuǎn)時(shí)間/作業(yè)處理時(shí)間
=(作業(yè)處理時(shí)間+作業(yè)等待時(shí)間)/作業(yè)處理時(shí)間
=1+(作業(yè)等待時(shí)間/作業(yè)處理時(shí)間)批處理作業(yè)的調(diào)度(續(xù)5)27基于優(yōu)先數(shù)調(diào)度算法(HPF:HighestPriorityFirst)(a)由用戶規(guī)定優(yōu)先數(shù)(外部?jī)?yōu)先數(shù))用戶提交作業(yè)時(shí),根據(jù)急迫程度規(guī)定適當(dāng)?shù)膬?yōu)先數(shù)作業(yè)調(diào)度程序根據(jù)JCB優(yōu)先數(shù)決定進(jìn)入內(nèi)存的次序(b)由系統(tǒng)計(jì)算優(yōu)先數(shù)(內(nèi)部?jī)?yōu)先數(shù))例:可按如下公式計(jì)算作業(yè)的優(yōu)先數(shù):優(yōu)先數(shù)=用戶規(guī)定優(yōu)先數(shù)–作業(yè)處理時(shí)間+作業(yè)等待時(shí)間–輸出量批處理作業(yè)的調(diào)度(續(xù)6)28均衡調(diào)度算法(分類排隊(duì)算法)基本思想:根據(jù)系統(tǒng)運(yùn)行情況和作業(yè)屬性將作業(yè)分類輪流從不同的作業(yè)類中挑選作業(yè)目標(biāo):力求均衡地利用各種系統(tǒng)資源,發(fā)揮資源使用效率力求使用戶滿意批處理作業(yè)的調(diào)度(續(xù)7)29例1:將待處理作業(yè)分成如下隊(duì)列:隊(duì)列1:計(jì)算量大的作業(yè)隊(duì)列2:I/O量大的作業(yè)隊(duì)列3:計(jì)算量與I/O量均衡的作業(yè)調(diào)度時(shí),在三個(gè)隊(duì)列中各取一些作業(yè) 在內(nèi)存中的作業(yè)有的使用處理機(jī) 有的使用外部設(shè)備使得系統(tǒng)的各種資源能得到充分利用批處理作業(yè)的調(diào)度(續(xù)8)30例2:將待處理作業(yè)分成如下三個(gè)隊(duì)列:隊(duì)列1:長(zhǎng)作業(yè)隊(duì)列2:中等長(zhǎng)度作業(yè)隊(duì)列3:短作業(yè)調(diào)度時(shí) 取隊(duì)列1一作業(yè),隊(duì)列2一作業(yè),隊(duì)列3一作業(yè)長(zhǎng)作業(yè)用戶和短作業(yè)用戶均比較滿意批處理作業(yè)的調(diào)度(續(xù)9)31(5)作業(yè)調(diào)度算法應(yīng)用例子1(P80)假設(shè)在單道批處理環(huán)境下有四個(gè)作業(yè),已知它們進(jìn)入系統(tǒng)的時(shí)間、估計(jì)運(yùn)行時(shí)間應(yīng)用先來(lái)先服務(wù)、最短作業(yè)優(yōu)先和最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法,分別計(jì)算出作業(yè)的平均周轉(zhuǎn)時(shí)間和帶權(quán)的平均周轉(zhuǎn)時(shí)間批處理作業(yè)的調(diào)度(續(xù)10)32先來(lái)先服務(wù)調(diào)度算法計(jì)算結(jié)果批處理作業(yè)的調(diào)度(續(xù)11)33最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果批處理作業(yè)的調(diào)度(續(xù)12)34最高響應(yīng)比優(yōu)先作業(yè)算法計(jì)算結(jié)果批處理作業(yè)的調(diào)度(續(xù)13)35在兩道環(huán)境下有四個(gè)作業(yè)已知它們進(jìn)入系統(tǒng)的時(shí)間、估計(jì)運(yùn)行時(shí)間系統(tǒng)采用短作業(yè)優(yōu)先作業(yè)調(diào)度算法,作業(yè)被調(diào)度運(yùn)行后不再退出當(dāng)一新作業(yè)投入運(yùn)行后,可按照作業(yè)運(yùn)行時(shí)間長(zhǎng)短調(diào)整作業(yè)執(zhí)行的次序請(qǐng)給出這四個(gè)作業(yè)的執(zhí)行時(shí)間序列,并計(jì)算出平均周轉(zhuǎn)時(shí)間及帶權(quán)平均周轉(zhuǎn)時(shí)間(6)作業(yè)調(diào)度算法應(yīng)用例子2批處理作業(yè)的調(diào)度(續(xù)14)36兩道批處理系統(tǒng)中
最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果批處理作業(yè)的調(diào)度(續(xù)15)37四個(gè)作業(yè)的執(zhí)行時(shí)間序列為:JOB1:10:00—10:05,10:40—11:05JOB2:10:05—10:25JOB3:10:25—10:30JOB4:10:30—10:40兩道批處理系統(tǒng)中
最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果(續(xù)1)批處理作業(yè)的調(diào)度(續(xù)16)3810:00,JOB1進(jìn)入,只有一作業(yè),JOB1被調(diào)入執(zhí)行10:05,JOB2到達(dá),最多允許兩作業(yè)同時(shí)進(jìn)入所以JOB2也被調(diào)入內(nèi)存中有兩作業(yè),哪一個(gè)執(zhí)行?題目規(guī)定當(dāng)一新作業(yè)運(yùn)行后,可按作業(yè)運(yùn)行時(shí)間長(zhǎng)短調(diào)整執(zhí)行次序即基于優(yōu)先數(shù)可搶占式調(diào)度策略 優(yōu)先數(shù)是根據(jù)作業(yè)估計(jì)運(yùn)行時(shí)間大小來(lái)決定的 由于JOB2運(yùn)行時(shí)間(20分)比JOB1少 (到10:05,JOB1還需25分鐘) 所以JOB2運(yùn)行,而JOB1等待兩道批處理系統(tǒng)中
最短作業(yè)優(yōu)先作業(yè)算法分析過(guò)程批處理作業(yè)的調(diào)度(續(xù)17)3910: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
輸入井中有兩作業(yè)JOB3和JOB4,如何調(diào)度?作業(yè)調(diào)度算法:最短作業(yè)優(yōu)先 因此JOB3進(jìn)入內(nèi)存 比較JOB1和JOB3運(yùn)行時(shí)間
JOB3運(yùn)行時(shí)間短,故JOB3運(yùn)行 同樣,JOB3退出后,下一個(gè)是JOB4 JOB4結(jié)束后,JOB1才能繼續(xù)運(yùn)行兩道批處理系統(tǒng)中
最短作業(yè)優(yōu)先作業(yè)算法分析過(guò)程(續(xù)1)批處理作業(yè)的調(diào)度(續(xù)18)407、作業(yè)調(diào)度與進(jìn)程調(diào)度作業(yè)能否占用處理器?什么時(shí)間能夠占用處理器?由進(jìn)程調(diào)度來(lái)決定進(jìn)程的初始狀態(tài)為就緒狀態(tài)進(jìn)程調(diào)度選擇當(dāng)前可占用CPU處理進(jìn)程,當(dāng)它讓出處理器時(shí),進(jìn)程調(diào)度就再選另一作業(yè)的進(jìn)程作業(yè)調(diào)度與進(jìn)程調(diào)度相互配合,實(shí)現(xiàn)作業(yè)的并行41作業(yè)調(diào)度與進(jìn)程調(diào)度的例子某系統(tǒng)采用不能移動(dòng)已在內(nèi)存中作業(yè)的可變分區(qū)方案管理內(nèi)存供用戶使用的內(nèi)存空間為100K,系統(tǒng)配有4臺(tái)磁帶機(jī)一批作業(yè)如下圖:作業(yè)
進(jìn)入時(shí)間
估計(jì)內(nèi)存需要
磁帶機(jī)需要運(yùn)行時(shí)間JOB110:0025分鐘
15K2臺(tái)JOB210:2030分鐘
60K1臺(tái)JOB310:3010分鐘
50K3臺(tái)JOB410:3520分鐘
10K2臺(tái)JOB510:4015分鐘
30K2臺(tái)作業(yè)調(diào)度與進(jìn)程調(diào)度(續(xù)1)42該系統(tǒng)采用多道程序設(shè)計(jì)技術(shù),對(duì)磁帶機(jī)采用靜態(tài)分配,忽略設(shè)備工作時(shí)間和系統(tǒng)進(jìn)行調(diào)度所共花的時(shí)間,請(qǐng)分別給出采用“先來(lái)先服務(wù)調(diào)度算法”和“短作業(yè)優(yōu)先算法”選中作業(yè)執(zhí)行的次序以及它們的平均周轉(zhuǎn)時(shí)間。若允許移動(dòng)已在主存儲(chǔ)器中的作業(yè),則作業(yè)被選中的次序又是怎樣的呢?它們的平均周轉(zhuǎn)時(shí)間又如何?小結(jié):作業(yè)調(diào)度前提:并行道數(shù)、資源滿足進(jìn)程調(diào)度作業(yè)調(diào)度與進(jìn)程調(diào)度(續(xù)2)438、批處理作業(yè)的控制(P82)當(dāng)作業(yè)為執(zhí)行態(tài)時(shí),作業(yè)調(diào)度程序?yàn)槠浣⒁蛔鳂I(yè)控制進(jìn)程,由該進(jìn)程控制作業(yè)運(yùn)行作業(yè)控制進(jìn)程:主要負(fù)責(zé)控制作業(yè)的運(yùn)行,具體解釋執(zhí)行作業(yè)說(shuō)明書(shū)的每一個(gè)作業(yè)步,并創(chuàng)建子進(jìn)程來(lái)完成相應(yīng)步驟一個(gè)作業(yè)步的處理:(1)建立子進(jìn)程 (2)為其申請(qǐng)資源(3)訪問(wèn)該作業(yè)的JCB (4)釋放占有資源(5)撤消子進(jìn)程等作業(yè)控制程序只有一個(gè)對(duì)應(yīng)每一處于執(zhí)行狀態(tài)的作業(yè)有一作業(yè)控制進(jìn)程449、作業(yè)退出把輸出結(jié)果送到輸出設(shè)備上(啟動(dòng)緩輸出進(jìn)程完成)回收各種資源4510、SPOOLing系統(tǒng)工作原理(P83)全稱:SimultaneousPeripheralOperationsOn-Line含義: 同時(shí)的外圍設(shè)備聯(lián)機(jī)操作(假脫機(jī)技術(shù))包括:輸入程序模塊輸出程序模塊作業(yè)調(diào)度程序46作業(yè)和進(jìn)程的狀態(tài)轉(zhuǎn)換圖數(shù)據(jù)進(jìn)入狀態(tài)退出狀態(tài)后備狀態(tài)運(yùn)行狀態(tài)作業(yè)控制進(jìn)程…輸入設(shè)備數(shù)據(jù)源程序輸出設(shè)備作業(yè)說(shuō)明書(shū)輸入井運(yùn)行等待就緒輸出井輸入程序輸出程序作業(yè)調(diào)度進(jìn)程調(diào)度SPOOLing系統(tǒng)工作原理(續(xù)1)47作業(yè)執(zhí)行前用慢速設(shè)備將作業(yè)預(yù)先輸入到后援存儲(chǔ)器(如磁盤、磁鼓,稱為輸入井)中,稱為預(yù)輸入作業(yè)運(yùn)行后,使用數(shù)據(jù)時(shí),從輸入井中取出作業(yè)執(zhí)行不必直接啟動(dòng)外設(shè)輸出數(shù)據(jù),只需將這些數(shù)據(jù)寫(xiě)入輸出井中作業(yè)全部運(yùn)行完畢,再由外設(shè)輸出全部數(shù)據(jù)和信息,稱為緩輸出實(shí)現(xiàn)了對(duì)作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理使外設(shè)在CPU直接控制下,與CPU并行工作(稱為假脫機(jī))SPOOLing系統(tǒng)工作原理(續(xù)2)48輸入裝置輸出裝置通道通道輸出裝置輸出裝置通道
主機(jī)系統(tǒng)輸入管輸出管理模塊理模塊外設(shè)輸入井輸出井SPOOLing系統(tǒng)SPOOLing系統(tǒng)工作原理(續(xù)3)49三、交互式系統(tǒng)的作業(yè)管理(P83)1、概述(1)命令接口
在操作系統(tǒng)與計(jì)算機(jī)用戶之間提供易于理解的雙向通信機(jī)制基本任務(wù):解釋命令,傳送命令以便執(zhí)行接受系統(tǒng)信息,提交給用戶(以響應(yīng)語(yǔ)言的形式)50交互式命令的接口復(fù)雜含功能結(jié)構(gòu),可能問(wèn)題的處理,如各種約定、前端處理、命令日志、命令注解、宏命令及命令組等交互式控制靈活方便,可以隨時(shí)進(jìn)行各種處理,排除問(wèn)題,方便調(diào)試;系統(tǒng)利用率低接口包括:一組聯(lián)機(jī)命令,終端處理程序,命令解釋程序概述(續(xù)1)51(2)終端處理程序交互式命令接口:用戶同操作系統(tǒng)的通信通過(guò)一個(gè)輸入/輸出裝置來(lái)實(shí)現(xiàn)I/O裝置一般是顯示終端輸入通過(guò)鍵盤:在有的系統(tǒng)中,可通過(guò)指示裝置(例如鼠標(biāo))輸入系統(tǒng)輸入呈現(xiàn)在顯示屏幕上,一次顯示若干正文行某些系統(tǒng)中,提供圖形顯示功能不管哪種I/O方式,這個(gè)終端裝置是由一個(gè)終端處理程序管理和控制概述(續(xù)2)52終端處理程序提供的輸入輸出方式對(duì)整個(gè)用戶命令接口有重大影響也確定了用戶與其應(yīng)用程序之間的通信方式終端處理程序必須作為用戶接口的一個(gè)組成部分來(lái)考慮即,直接影響命令接口的一些問(wèn)題須由終端處理程序解決概述(續(xù)3)53(3)直接影響命令接口的一些問(wèn)題(a)回送顯示(Echoing)通常,每從鍵盤打入一個(gè)字符,終端處理程序回送響應(yīng)的字符到顯示屏上有時(shí)用戶要求其顯示一個(gè)不同的字符或不顯示(例如,用戶鍵入口令時(shí))對(duì)于通過(guò)遠(yuǎn)程通信線路訪問(wèn)的終端,可能需要抑制這種回送回送顯示委托給遠(yuǎn)程終端來(lái)實(shí)現(xiàn)概述(續(xù)4)54(b)提前打入(Typeahead)假定輸入字符在一程序準(zhǔn)備處理它們之前打入,則由“提前打入進(jìn)程”把它們保存在緩沖區(qū)中緩沖區(qū)容量是有限,當(dāng)其存滿后,再有輸入時(shí),或者漏掉,或者將破壞緩沖區(qū)原有的內(nèi)容(c)字符變換有些情況下,需要對(duì)打入的字符進(jìn)行代碼變換如,把小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,或者反之(d)行緩沖打入的字符在送到程序前,由終端接口保存,直到整個(gè)命令行打入為止為用戶提供了校驗(yàn)、編輯,甚至取消命令的機(jī)會(huì)(3)直接影響命令接口的一些問(wèn)題(續(xù)1)概述(續(xù)5)55(e)中斷字符(BreakCharacters)多數(shù)交互式命令接口可以接受一些稱為中斷字符的特殊字符,并立即采取相應(yīng)的行動(dòng)如,在許多系統(tǒng)中,同時(shí)打入CTRL—C字符鍵,立即終止當(dāng)前程序執(zhí)行,并使命令處理程序重新初始化(3)直接影響命令接口的一些問(wèn)題(續(xù)2)概述(續(xù)6)562、命令解釋程序命令解釋程序有兩種處理方法:(a)由終端命令解釋程序直接處理在沒(méi)有創(chuàng)建子進(jìn)程功能的系統(tǒng)中終端命令通常由對(duì)應(yīng)的命令解釋程序處理在這樣系統(tǒng)中,僅有一個(gè)進(jìn)程對(duì)應(yīng)一個(gè)終端用戶(b)由子進(jìn)程代為處理在具有創(chuàng)建子進(jìn)程功能的系統(tǒng)中,對(duì)于較為單純的命令,如列目錄,拷貝文件等,命令解釋程序本身便能完成,此時(shí)由命令解釋程序直接處理對(duì)較復(fù)雜命令,如對(duì)于C源程序進(jìn)行編譯,命令解釋程序本身不能處理,此時(shí)創(chuàng)建一個(gè)子進(jìn)程,并由該子進(jìn)程運(yùn)行C編譯程序573、命令接口的結(jié)構(gòu)命令接口由命令處理器來(lái)實(shí)現(xiàn)命令處理器的實(shí)現(xiàn)方式:(a)作為OS的一個(gè)部分如,OS/MVT或VAX/VMS(b)作為OS的一個(gè)獨(dú)特模塊,能方便地修改或替換如,RT-11或CP/M(c)作為一易于被替換的普通程序如,UNIX操作系統(tǒng)
(d)在某些系統(tǒng)中,可能用專門設(shè)計(jì)的命令接口替代標(biāo)準(zhǔn)的命令接口如,多用戶UNIX,用戶可有不同命令接口584、命令語(yǔ)言命令語(yǔ)言規(guī)定由OS執(zhí)行的一系列操作在一般的命令語(yǔ)言中,用戶通過(guò)打入稱為命令行的一行指令來(lái)規(guī)定每一個(gè)動(dòng)作每一命令行以命令開(kāi)始,它標(biāo)識(shí)所要執(zhí)行的操作大多數(shù)命令是用運(yùn)行一個(gè)程序來(lái)執(zhí)行所請(qǐng)求的操作多數(shù)命令行中要給出一些參數(shù),每一命令語(yǔ)句實(shí)際上是帶有參數(shù)的一個(gè)過(guò)程調(diào)用59一個(gè)命令語(yǔ)言通常提供下列幾組命令:(1)系統(tǒng)訪問(wèn)命令 登錄命令,如,login等 撤離命令,如,logout等(2)文件管理命令(3)編輯、編譯和執(zhí)行命令(4)詢問(wèn)命令(5)操作員專用命令命令語(yǔ)言(續(xù)1)60命令行:規(guī)定由操作系統(tǒng)執(zhí)行的一系列操作命令行:一行可有一個(gè)或多個(gè)命令,每次一行,包含一個(gè)或多個(gè)命令。shell給出提示符時(shí)可輸入,以回車鍵提交。如:“l(fā)s-a-l”列出當(dāng)前目錄文件列表;"gunzipmp1.tar.gz;tar-xvfmp1.tar;\rm-r-fmp1.tar"為解壓縮后再展開(kāi)。命令格式:一個(gè)命令可有命令參數(shù),格式包括選項(xiàng)/開(kāi)關(guān)(option/switch)或參數(shù)(argument)。如UNIX系統(tǒng):cp-rdoc/tmp--argv[0],argv[1],...(含子目錄的文件復(fù)制:/tmp為目標(biāo)地址)命令語(yǔ)言(續(xù)2)61命令分類:內(nèi)部命令和外部命令內(nèi)部命令:直接由shell本身完成,功能簡(jiǎn)單、使用頻繁;如:DOS的copy命令。外部命令:運(yùn)行相應(yīng)的可執(zhí)行文件,在使用時(shí)加載。如:DOS的xcopy命令命令簡(jiǎn)化:利用參數(shù)替換可簡(jiǎn)化命令輸入,通配符(?,*)用于匹配一組文件名如:UNIX的cp命令:當(dāng)前目錄上有兩個(gè)"1.tar"和"2.tar"時(shí),"cp*.tar/tmp"等同于"cp1.tar/tmp;cp2.tar/tmp"命令語(yǔ)言(續(xù)3)62命令的附加功能命令的附加功能用以擴(kuò)大命令的功能性、選擇性、適應(yīng)性。包括:(1)參數(shù)與變量位置變量關(guān)鍵字變量(2)命令通配符(3)重定向(4)管道與過(guò)濾器命令語(yǔ)言(續(xù)4)63批處理命令:針對(duì)脫機(jī)用戶操作和大量順序操作功能而設(shè)計(jì)批處理命令可以是專門的命令,也可是系統(tǒng)的基本命令;還有有關(guān)的語(yǔ)法結(jié)構(gòu),循環(huán)、分支、轉(zhuǎn)移、判別等,構(gòu)成一套特殊的命令語(yǔ)言5、命令文件64命令文件(續(xù))提前寫(xiě)出命令并存入文件,稱之為命令文件命令文件提供了一種把一系列命令組裝成文件的方法,然后用文件名作為命令名執(zhí)行另外一系列命令特點(diǎn):(1)接受參數(shù)、變量,宏變量替換(2)允許嵌套形式調(diào)用其他命令文件(3)允許參數(shù)來(lái)自終端的命令文件本身(4)允許執(zhí)行顯示到終端、存入文件或送入打印機(jī)(5)允許命令加入注釋(6)出錯(cuò)時(shí)允許用戶干預(yù)(7)可把輸入傳給程序,可有循環(huán)、分支、轉(zhuǎn)移等65四、系統(tǒng)調(diào)用(P87)系統(tǒng)調(diào)用:用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能這是特殊的過(guò)程調(diào)用,由特殊的機(jī)器指令實(shí)現(xiàn)(每種機(jī)器的機(jī)器指令集中都有一條系統(tǒng)調(diào)用指令——訪管指令)這個(gè)指令還將系統(tǒng)轉(zhuǎn)入管態(tài)系統(tǒng)調(diào)用是一個(gè)低級(jí)過(guò)程,只能由匯編語(yǔ)言直接訪問(wèn)系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口利用系統(tǒng)調(diào)用,動(dòng)態(tài)請(qǐng)求和釋放系統(tǒng)資源完成與硬件相關(guān)的工作以及控制程序的執(zhí)行等每個(gè)操作系統(tǒng)都提供幾百種系統(tǒng)調(diào)用66系統(tǒng)調(diào)用的例子1、系統(tǒng)調(diào)用簡(jiǎn)介
高級(jí)語(yǔ)言例子:打印5個(gè)字符
charbuff[4]=“abcde”;for(i=4;i>=0;i--)print(buff[i]);高級(jí)語(yǔ)言例子:讀硬盤文件f1的第10到20個(gè)字節(jié)
seek(fd,10,0);read(fd,buff,11);67......A=A+1printf(...)B=B+A(1)源程序段系統(tǒng)調(diào)用簡(jiǎn)介(續(xù)1)68(2)printf目標(biāo)代碼(3)程序段編譯產(chǎn)生的可執(zhí)行代碼(4)操作系統(tǒng)內(nèi)部代碼INT......INTA=A+1B=B+A............INOUT...嵌入后該系統(tǒng)調(diào)用的操作系統(tǒng)內(nèi)部實(shí)現(xiàn)代碼系統(tǒng)調(diào)用簡(jiǎn)介(續(xù)2)69用戶程序函數(shù)操作系統(tǒng)凡是與硬件相關(guān)、與應(yīng)用無(wú)關(guān)的工作,都通過(guò)操作系統(tǒng)程序來(lái)完成系統(tǒng)調(diào)用簡(jiǎn)介(續(xù)3)702、系統(tǒng)調(diào)用的處理過(guò)程為了保證OS不被用戶程序破壞不允許用戶程序訪問(wèn)OS的系統(tǒng)程序和數(shù)據(jù)那么,怎樣得到系統(tǒng)服務(wù)的呢?需要有一個(gè)類似于硬件中斷處理的處理機(jī)構(gòu)當(dāng)用戶使用操作系統(tǒng)調(diào)用時(shí),產(chǎn)生一條相應(yīng)的指令處理機(jī)在執(zhí)行到該指令時(shí)發(fā)生相應(yīng)的中斷,并發(fā)出有關(guān)的信號(hào)給該處理機(jī)構(gòu)該處理機(jī)構(gòu)在收到了處理機(jī)發(fā)來(lái)的信號(hào)后,啟動(dòng)相關(guān)的處理程序去完成該系統(tǒng)調(diào)用所要求的功能71
systemcall
入口地址表
(1)保護(hù)處理現(xiàn)場(chǎng)(2)取系統(tǒng)調(diào)用功能號(hào)并尋找子程序入口(3)返回A0A1Ai
AnA0A1AiAnSub0Sub1SubiSubn
用戶程序陷入處理機(jī)構(gòu)系統(tǒng)子程序系統(tǒng)調(diào)用的處理過(guò)程(P90)72參數(shù)傳遞過(guò)程問(wèn)題怎樣實(shí)現(xiàn)用戶程序和系統(tǒng)程序間的參數(shù)傳遞?常用的3種實(shí)現(xiàn)方法:由陷入指令自帶參數(shù):陷入指令的長(zhǎng)度有限的,且還要攜帶系統(tǒng)調(diào)用功能號(hào),只能自帶有限的參數(shù)通過(guò)有關(guān)通用寄存器來(lái)傳遞參數(shù):這些寄存器應(yīng)是系統(tǒng)程序和用戶程序都能訪問(wèn),由于寄存器長(zhǎng)度較短,從法傳遞較多的參數(shù)大多在內(nèi)存中開(kāi)辟專用堆棧區(qū)來(lái)傳遞參數(shù)73系統(tǒng)調(diào)用處理過(guò)程(P91)read(fd,buffer,nbytes)743、系統(tǒng)調(diào)用的分類(P88)將系統(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)用75文件管理76目錄管理77其他78
系統(tǒng)調(diào)用方式(INT)與程序中一般的調(diào)用方式的相同點(diǎn):改變指令流程重復(fù)執(zhí)行和公用改變指令流程后需要返回原處4、系統(tǒng)調(diào)用與一般過(guò)程調(diào)用比較(P88)系統(tǒng)調(diào)用方式(INT)與程序中一般的調(diào)用方式的不同點(diǎn):79運(yùn)行在不同的系統(tǒng)狀態(tài)
一般過(guò)程調(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)換一般的過(guò)程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,可直接由調(diào)用過(guò)程轉(zhuǎn)向被調(diào)用過(guò)程運(yùn)行系統(tǒng)調(diào)用時(shí),調(diào)用和被調(diào)用過(guò)程在不同系統(tǒng)狀態(tài),不允許由調(diào)用過(guò)程直接轉(zhuǎn)向被調(diào)用過(guò)程通過(guò)軟中斷機(jī)制先由用戶態(tài)轉(zhuǎn)換為核心態(tài)在OS核心分析后,轉(zhuǎn)向相應(yīng)的系統(tǒng)調(diào)用處理子程序系統(tǒng)調(diào)用與一般過(guò)程調(diào)用比較(續(xù)1)80返回問(wèn)題一般過(guò)程調(diào)用在被調(diào)用過(guò)程執(zhí)行完后,回調(diào)用過(guò)程搶占式調(diào)度的系統(tǒng)中,被調(diào)用過(guò)程執(zhí)行完后,系統(tǒng)將對(duì)所有要求運(yùn)行的進(jìn)程進(jìn)行優(yōu)先級(jí)分析。如果調(diào)用進(jìn)程仍有最高優(yōu)先級(jí),則返回到調(diào)用進(jìn)程執(zhí)行否則,引起重新調(diào)度,讓優(yōu)先級(jí)最高的進(jìn)程優(yōu)先執(zhí)行。此時(shí),系統(tǒng)把調(diào)用進(jìn)程放入就緒隊(duì)列系統(tǒng)調(diào)用與一般過(guò)程調(diào)用比較(續(xù)2)81
進(jìn)入方式不同利用int或trap指令進(jìn)行系統(tǒng)調(diào)用;利用call或jmp
指令進(jìn)入普通的過(guò)程調(diào)用系統(tǒng)調(diào)用是動(dòng)態(tài)調(diào)用,而CALL調(diào)用方式是靜態(tài)調(diào)用系統(tǒng)調(diào)用與一般過(guò)程調(diào)用比較(續(xù)3)825、Win32應(yīng)用程序接口(P91)在Windows中,定義了一系列程序(應(yīng)用程序接口Win32API),提供OS服務(wù)這個(gè)接口(部分)支持Win95以后的Windows版本W(wǎng)in32API調(diào)用的種類非常多,以千計(jì)算在Windows中不可能分辨出哪些是系統(tǒng)調(diào)用(被內(nèi)核執(zhí)行),哪些是用戶空間的庫(kù)調(diào)用事實(shí)上,一個(gè)Windows版本中的系統(tǒng)調(diào)用也許在另一個(gè)Windows版本中會(huì)在用戶空間執(zhí)行由于圖形子系統(tǒng)在內(nèi)核中運(yùn)行(在某些Windows版本中),它們也是系統(tǒng)調(diào)用,否則是庫(kù)調(diào)用8384操作系統(tǒng)怎樣開(kāi)始運(yùn)行怎樣形成系統(tǒng)操作環(huán)境怎樣從程序的順序執(zhí)行轉(zhuǎn)換到支持程序的并發(fā)執(zhí)行五、操作系統(tǒng)的安裝與啟動(dòng)(P96)85操作系統(tǒng)的引導(dǎo)有兩種方式:獨(dú)立引導(dǎo)(bootup)輔助下裝(download)1、操作系統(tǒng)的引導(dǎo)和裝入86(1)獨(dú)立引導(dǎo)方式大多數(shù)系統(tǒng)采用OS核心文件存儲(chǔ)在系統(tǒng)本身的存儲(chǔ)設(shè)備中由系統(tǒng)自己將OS核心程序讀入內(nèi)存并運(yùn)行最后建立一個(gè)操作環(huán)境操作系統(tǒng)的引導(dǎo)和裝入(續(xù)1)87獨(dú)立引導(dǎo)方式步驟(1)系統(tǒng)加電,執(zhí)行系統(tǒng)初啟程序(2)執(zhí)行初啟程序,對(duì)系統(tǒng)硬件和配置進(jìn)行自檢,保證系統(tǒng)沒(méi)有硬件錯(cuò)誤(3)從硬盤中讀入操作系統(tǒng)初啟文件,并將控制權(quán)交給該程序模塊(4)執(zhí)行操作系統(tǒng)初啟程序,完成系統(tǒng)環(huán)境配置和操作系統(tǒng)初始化工作(5)繼續(xù)讀入其余的OS文件,逐個(gè)執(zhí)行相應(yīng)的系統(tǒng)程序,完成OS各種功能模塊的裝入,完善OS的操作環(huán)境,做好程序并發(fā)執(zhí)行的準(zhǔn)備(6
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年電子商務(wù)平臺(tái)運(yùn)營(yíng)合同詳細(xì)條款及服務(wù)內(nèi)容
- 搶救儀器使用流程及管理制度
- 2024年綠色建筑泥水作業(yè)班組環(huán)保承包合同3篇
- 二零二五年床墊產(chǎn)品售后服務(wù)與客戶關(guān)系管理合同3篇
- 2024年06月江西九江銀行贛州分行實(shí)習(xí)生招考筆試歷年參考題庫(kù)附帶答案詳解
- 二零二五年度辦公場(chǎng)所租賃及設(shè)備配置合同3篇
- 2025年度展會(huì)期間交通保障合同3篇
- 2024年長(zhǎng)途貨運(yùn)裝卸服務(wù)合同3篇
- 二零二五年度中央空調(diào)系統(tǒng)安裝勞務(wù)合同樣本3篇
- 2025年度外專局外籍教師招聘及培養(yǎng)項(xiàng)目合同范本3篇
- 張家爺爺?shù)男』ü?
- 高中思想政治-高三一輪復(fù)習(xí)講評(píng)課教學(xué)課件設(shè)計(jì)
- 自動(dòng)噴水滅火系統(tǒng)的設(shè)計(jì)計(jì)算
- 教師評(píng)職稱個(gè)人綜述
- 旅游景區(qū)組織機(jī)構(gòu)
- LSI-陣列卡操作手冊(cè)
- 漢字文化解密(華中師范大學(xué))超星爾雅學(xué)習(xí)通網(wǎng)課章節(jié)測(cè)試答案
- 黑龍江省哈爾濱市八年級(jí)上學(xué)期物理期末考試試卷及答案
- 商業(yè)綜合體設(shè)計(jì)說(shuō)明書(shū)
- GB/T 19587-2017氣體吸附BET法測(cè)定固態(tài)物質(zhì)比表面積
- 比賽車門凹陷修復(fù)
評(píng)論
0/150
提交評(píng)論