用戶接口與作業(yè)管理_第1頁(yè)
已閱讀1頁(yè),還剩68頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第6章 用戶接口與作業(yè)管理,用戶與操作系統(tǒng)的接口批處理系統(tǒng)的作業(yè)管理交互式系統(tǒng)作業(yè)管理,1、作業(yè)級(jí)接口,操作系統(tǒng)通過(guò)作業(yè)級(jí)接口為用戶提供對(duì)作業(yè)運(yùn)行全過(guò)程控制的功能(1) 聯(lián)機(jī)接口(交互式)(2) 脫機(jī)接口,6.1 用戶與操作系統(tǒng)的接口,作業(yè)級(jí)接口程序級(jí)接口,2. 程序級(jí)接口,操作系統(tǒng)為用戶在程序一級(jí)提供有關(guān)服務(wù)而設(shè)置的由一組系統(tǒng)調(diào)用命令組成負(fù)責(zé)管理和控制運(yùn)行的程序。并在這些程序與系統(tǒng)控制的資源和提供的服務(wù)之間實(shí)現(xiàn)交互作用。

2、用匯編語(yǔ)言:在程序中直接用系統(tǒng)調(diào)用命令,例如,DOS中的軟終端INT 21H。用高級(jí)語(yǔ)言:可在編程時(shí)使用過(guò)程調(diào)用語(yǔ)句。,6.2 批處理系統(tǒng)作業(yè)處理,1、作業(yè)的基本概念(1)作業(yè) 用戶在一次計(jì)算過(guò)程中,或者一次事務(wù)處理過(guò)程中,要求計(jì)算機(jī)系統(tǒng)所做工作的總稱(2)作業(yè)步 一個(gè)作業(yè)運(yùn)行過(guò)程可劃分成若干階段,每一個(gè)階段均稱為一個(gè)作業(yè)步。典型的作業(yè)控制過(guò)程: “編譯”、“連接裝配”、“運(yùn)行”等等。,,,,(3)作業(yè)流:多個(gè)作業(yè)

3、排隊(duì)進(jìn)行依次處理的集合。(4)典型的作業(yè)步。,2、批處理作業(yè)控制語(yǔ)言與作業(yè)說(shuō)明書(shū)(1)作業(yè)控制語(yǔ)言作業(yè)說(shuō)明書(shū)---用戶用于描述批處理作業(yè)處理過(guò)程控制意圖的一種特殊程序作業(yè)控制語(yǔ)言---書(shū)寫(xiě)作業(yè)說(shuō)明書(shū)的語(yǔ)言(JCL)(2)作業(yè)控制語(yǔ)言的類型 包括:I/O命令、編譯命令、操作命令以及條件命令等等。,(3)作業(yè)說(shuō)明書(shū)表達(dá)用戶對(duì)作業(yè)的控制意圖內(nèi)容:作業(yè)的基本描述作業(yè)控制描述資源要求描述3、作業(yè)控制塊(JCB-Job C

4、ontrol Block)作業(yè)控制塊是批處理作業(yè)存在的標(biāo)志保存系統(tǒng)對(duì)于作業(yè)進(jìn)行管理所需要的全部信息位于磁盤(pán)區(qū)域中,(1)作業(yè)控制塊的內(nèi)容作業(yè)控制塊中所包含的信息數(shù)量及內(nèi)容因系統(tǒng)而異。較簡(jiǎn)單的系統(tǒng)較復(fù)雜的系統(tǒng) 作業(yè)控制塊的內(nèi)容如下:,作業(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,(3)作

5、業(yè)控制塊的建立當(dāng)作業(yè)開(kāi)始由輸入設(shè)備向磁盤(pán)的輸入井傳輸時(shí)系統(tǒng)輸入程序?yàn)槠浣⒁粋€(gè)作業(yè)控制塊并進(jìn)行初始化。初始化的大部分信息取自作業(yè)說(shuō)明書(shū)。(4)作業(yè)控制塊的使用需要訪問(wèn)作業(yè)控制塊的程序系統(tǒng)輸入程序作業(yè)調(diào)度程序作業(yè)控制程序系統(tǒng)輸出程序等,(5)作業(yè)控制塊的撤消作業(yè)完成后,其作業(yè)控制塊由系統(tǒng)輸出程序撤消。作業(yè)控制塊被撤消后其作業(yè)也不復(fù)存在。(6)作業(yè)表每個(gè)作業(yè)有個(gè)作業(yè)控制塊所有作業(yè)JCB構(gòu)成一個(gè)作業(yè)表作業(yè)表存放在外

6、存固定區(qū)域中,長(zhǎng)度是固定,限制了系統(tǒng)所能同時(shí)容納的作業(yè)數(shù)量系統(tǒng)輸入程序、作業(yè)調(diào)度程序、系統(tǒng)輸出程序都需要訪問(wèn)作業(yè)表因而存在互斥問(wèn)題,作業(yè)表,4、 批處理作業(yè)的狀態(tài)及轉(zhuǎn)換 一個(gè)作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行結(jié)束經(jīng)歷四個(gè)不同的狀態(tài):“進(jìn)入”“后備”“運(yùn)行”“完成”,作業(yè)和進(jìn)程的狀態(tài)轉(zhuǎn)換圖,(1)運(yùn)行狀態(tài)的作業(yè)三種狀態(tài):就緒狀態(tài)執(zhí)行狀態(tài)等待狀態(tài),5、作業(yè)的建立一個(gè)作業(yè)建立過(guò)程的兩個(gè)子過(guò)程:作業(yè)的輸入JC

7、B的建立作業(yè)控制塊JCB和作業(yè):一一對(duì)應(yīng)關(guān)系(1)作業(yè)的輸入將作業(yè)程序、數(shù)據(jù)和作業(yè)說(shuō)明書(shū)從輸入設(shè)備(例如鍵盤(pán))輸入到外存,并形成初始信息。典型作業(yè)輸入方式---SPOOLing系統(tǒng),(2)JCB的建立在系統(tǒng)把作業(yè)信息輸入到輸入井之后,根據(jù)作業(yè)說(shuō)明書(shū)和有關(guān)作業(yè)信息在外存的位置等建立作業(yè)控制塊JCB。JCB包含對(duì)作業(yè)進(jìn)行管理所必須的信息。JCB表的數(shù)量是一個(gè)常數(shù)。外存輸入井的大小有限。 只有在獲得JCB表項(xiàng)和足夠輸入井

8、空間后作業(yè)才可能創(chuàng)建成功。,6、批處理作業(yè)的調(diào)度調(diào)度前工作:審查系統(tǒng)能否滿足用戶作業(yè)的資源要求調(diào)用相應(yīng)資源管理程序的有關(guān)部分來(lái)審核其表中是否能滿足作業(yè)說(shuō)明書(shū)中的要求即可作業(yè)調(diào)度:按照一定的算法從輸入井中的后備作業(yè)中選取作業(yè)將其投入內(nèi)存運(yùn)行。 調(diào)度的關(guān)鍵在于選擇恰當(dāng)?shù)乃惴?(1)調(diào)度算法評(píng)價(jià)調(diào)度實(shí)質(zhì)上是一個(gè)策略問(wèn)題設(shè)定的調(diào)度目標(biāo)往往是相互沖突的調(diào)度目標(biāo):?jiǎn)挝粫r(shí)間內(nèi)運(yùn)行盡可能多的作業(yè)使處理機(jī)盡可能保持“忙碌”使各

9、種I/O設(shè)備得以充分利用對(duì)所有的作業(yè)都是公平合理的,要設(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)完成縮短作業(yè)平均周轉(zhuǎn)時(shí)間大多數(shù)操作系統(tǒng)都采用比較簡(jiǎn)單的調(diào)度算法,(2)調(diào)度算法性能的衡量作業(yè)平均周轉(zhuǎn)時(shí)間假定某一作業(yè)進(jìn)入“輸入井”的時(shí)間為Si它被選中執(zhí)行,得到計(jì)算結(jié)果的時(shí)間為Ei

10、它的周轉(zhuǎn)時(shí)間為T(mén)i=Ei–Si則作業(yè)平均周轉(zhuǎn)時(shí)間為: T=( )× n為被測(cè)定作業(yè)流中的作業(yè)數(shù),平均帶權(quán)周轉(zhuǎn)時(shí)間 W=( )× ri 為某作業(yè)i的實(shí)際執(zhí)行時(shí)間:,T:衡量不同調(diào)度算法對(duì)同一個(gè)作業(yè)流的性能 W:同一調(diào)度算法對(duì)不同作業(yè)流的性能衡量,(3)系統(tǒng)進(jìn)行作業(yè)調(diào)度的決策因素,作業(yè)到達(dá)時(shí)間預(yù)先為作業(yè)確定的優(yōu)先級(jí)系統(tǒng)可測(cè)定的其他因素:作業(yè)所需的

11、CPU時(shí)間C存儲(chǔ)要求M打印輸出的行數(shù)L其他的資源要求,(4)常見(jiàn)的批處理作業(yè)調(diào)度算法先來(lái)先服務(wù)算法(FCFS:First Come First Serve)最短作業(yè)優(yōu)先算法(SJF:Shortest Job First)最高響應(yīng)比優(yōu)先算法(HRN:Highest Response Ratio Next) 響應(yīng)比R = 作業(yè)周轉(zhuǎn)時(shí)間 / 作業(yè)處理時(shí)間=(作業(yè)處理時(shí)間+作業(yè)等待時(shí)間)/ 作業(yè)處理時(shí)間= 1 +(作業(yè)等待時(shí)間

12、/ 作業(yè)處理時(shí)間),基于優(yōu)先數(shù)調(diào)度算法 (HPF:Highest Priority First) (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í)間 – 輸出量,均衡調(diào)度算法(分類排隊(duì)算

13、法)基本思想:根據(jù)系統(tǒng)運(yùn)行情況和作業(yè)屬性將作業(yè)分類輪流從不同的作業(yè)類中挑選作業(yè)目標(biāo):力求均衡地利用各種系統(tǒng)資源,發(fā)揮資源使用效率力求使用戶滿意,例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)的各種資源能得到充分利用。例2:將待處理作業(yè)分

14、成如下三個(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è)用戶均比較滿意(5)作業(yè)調(diào)度算法應(yīng)用例子1:假設(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í)間。,先來(lái)先服務(wù)調(diào)度算法計(jì)算結(jié)果,最短作業(yè)優(yōu)先作業(yè)算法

15、計(jì)算結(jié)果,最高響應(yīng)比優(yōu)先作業(yè)算法計(jì)算結(jié)果,在兩道環(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,兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果,四個(gè)作業(yè)的執(zhí)行時(shí)間序列為:JOB1:10:00—10:05,1

16、0:40—11:05JOB2:10:05—10:25JOB3:10:25—10:30JOB4:10:30—10:40,兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法計(jì)算結(jié)果,10: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í)行次序。由于JOB2運(yùn)行時(shí)間(20分)比JOB1少(到10

17、:05,JOB1還需25分鐘)所以,JOB2先開(kāi)始運(yùn)行,而JOB1必須等待。,兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法分析過(guò)程,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,輸入井中有兩作業(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í)間短

18、,故JOB3運(yùn)行,同樣,JOB3退出后,JOB4進(jìn)入內(nèi)存, JOB4的運(yùn)行時(shí)間為10,而JOB1剩余時(shí)間為25,短作業(yè)優(yōu)先, JOB4先運(yùn)行,JOB4結(jié)束后,JOB1才能繼續(xù)運(yùn)行。,(7)多道程序?qū)ζ骄苻D(zhuǎn)時(shí)間的影響,作業(yè)流在多道環(huán)境下運(yùn)行時(shí):平均周轉(zhuǎn)時(shí)間、帶權(quán)平均周轉(zhuǎn)時(shí)間比單道環(huán)境下均有明顯改善。不是任意作業(yè)組合都能改善調(diào)度性能有時(shí)甚至可能變壞。例:四個(gè)各需兩小時(shí)作業(yè)同時(shí)投入運(yùn)行,I/O等待時(shí)間均占25%,即占CPU時(shí)間各為1.

19、5小時(shí)。,根據(jù)計(jì)算公式,CPU的空轉(zhuǎn)率為0。采用簡(jiǎn)單輪轉(zhuǎn)法調(diào)度,每小時(shí)各作業(yè)分別占用25%的CPU時(shí)間,算得該作業(yè)組合的平均周轉(zhuǎn)時(shí)間約為6小時(shí),而平均帶權(quán)周轉(zhuǎn)時(shí)間約為3。但是,若以單道程序方式運(yùn)行:平均周轉(zhuǎn)時(shí)間T=(2+4+6+8)/4=5小時(shí)平均帶權(quán)周轉(zhuǎn)時(shí)間W=(1+2+3+4)/4=2.5多道程序比單道程序的平均周轉(zhuǎn)率要差一些。,7、作業(yè)調(diào)度與進(jìn)程調(diào)度作業(yè)能否占用處理器?什么時(shí)間能夠占用處理器?由進(jìn)程調(diào)度來(lái)決定,進(jìn)程的初始

20、狀態(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è)的并行。,8、批處理作業(yè)的控制,當(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

21、(4)釋放占有資源(5)撤消子進(jìn)程等作業(yè)控制程序只有一個(gè) 對(duì)應(yīng)每一處于執(zhí)行狀態(tài)的作業(yè)有一作業(yè)控制進(jìn)程,,9、作業(yè)退出把輸出結(jié)果送到輸出設(shè)備上(啟動(dòng)緩輸出進(jìn)程完成)回收各種資源,10、SPOOLing系統(tǒng)工作原理全稱:Simultaneous Peripheral Operations On-Line含義:同時(shí)的外圍設(shè)備聯(lián)機(jī)操作(假脫機(jī)技術(shù))包括:輸入程序模塊輸出程序模塊作業(yè)調(diào)度程序,作業(yè)和進(jìn)程的狀態(tài)轉(zhuǎn)換圖,

22、作業(yè)執(zhí)行前用慢速設(shè)備將作業(yè)預(yù)先輸入到后援存儲(chǔ)器(如磁盤(pán)、磁鼓,稱為輸入井)中,稱為預(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),三、 交互式系統(tǒng)的作業(yè)管理,1、概述(1)命令接口 在操作系

23、統(tǒng)與計(jì)算機(jī)用戶之間提供易于理解的雙向通信機(jī)制?;救蝿?wù):解釋命令,傳送命令以便執(zhí)行接收系統(tǒng)信息,提交給用戶(以響應(yīng)語(yǔ)言的形式)包括:一組聯(lián)機(jī)命令,終端處理程序,命令解釋程序交互式命令的接口復(fù)雜 含功能結(jié)構(gòu),可能問(wèn)題的處理,如各種約定、前端處理、命令日志、命令注解、宏命令及命令組等,2、終端處理程序用戶與操作系統(tǒng)的通信通過(guò)一個(gè)輸入/輸出裝置來(lái)實(shí)現(xiàn)I/O裝置是顯示終端和鍵盤(pán) 輸入通過(guò)鍵盤(pán):在有的系統(tǒng)中,可通過(guò)指示裝置(

24、例如鼠標(biāo))輸入,系統(tǒng)輸入呈現(xiàn)在顯示屏幕上,一次顯示若干正文行(某些系統(tǒng)中,提供圖形顯示功能)不管哪種I/O方式,終端裝置是由終端處理程序管理和控制,,終端處理程序提供的輸入輸出方式對(duì)整個(gè)用戶命令接口有重大影響,也確定了用戶與其應(yīng)用程序之間的通信方式終端處理程序必須作為用戶接口的一個(gè)組成部分來(lái)考慮,即直接影響命令接口的一些問(wèn)題須由終端處理程序解決直接影響命令接口的一些問(wèn)題(a)回送顯示(Echoing)通常,每從鍵盤(pán)打入一個(gè)字符

25、,終端處理程序回送響應(yīng)的字符到顯示屏上,有時(shí)用戶要求其顯示一個(gè)不同的字符或不顯示(例如,用戶鍵入口令時(shí))對(duì)于通過(guò)遠(yuǎn)程通信線路訪問(wèn)的終端,可能需要抑制這種回送委托給遠(yuǎn)程終端實(shí)現(xiàn)回送顯示(b)提前打入(Type ahead)假定輸入字符在一程序準(zhǔn)備處理它們之前打入,則由“提前打入進(jìn)程”把它們保存在緩沖區(qū)中緩沖區(qū)容量是有限,當(dāng)其存滿后,再有輸入時(shí),或者漏掉,或者將破壞緩沖區(qū)原有的內(nèi)容,(c)字符變換 有些情況下,需要對(duì)打入的字符

26、進(jìn)行代碼變換例如把小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母,或者反之(d)行緩沖 打入的字符在送到程序前,由終端接口保存,直到整個(gè)命令行打入為止為用戶提供了校驗(yàn)、編輯,甚至取消命令的機(jī)會(huì)(e)中斷字符(Break Characters) 大多數(shù)交互式命令接口可以接受一些稱為中斷字符的特殊字符,并立即采取相應(yīng)的行動(dòng),如,在許多系統(tǒng)中,同時(shí)打入CTRL-C鍵,立即終止當(dāng)前程序執(zhí)行,并使命令處理程序重新初始化,,3、命令解釋程序?qū)γ钣袃煞N處理方

27、法:(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編譯程序。,4、命令接口命令接口

28、由命令處理器來(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)中,可能用專門(mén)設(shè)計(jì)的命令接口替代標(biāo)準(zhǔn)的命令接口,例如多用戶UNIX,用戶可有不同命令接口。,5、命令語(yǔ)言命令語(yǔ)言規(guī)定由OS執(zhí)行的一系列操作在一般的命令語(yǔ)言中,用戶通過(guò)打入稱為命令行的一

29、行指令來(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)用,一種命令語(yǔ)言通常提供幾類命令:(1)系統(tǒng)訪問(wèn)命令登錄命令,如,login等撤離命令,如,logout等(2)文件管理命令(3)編輯、編譯和執(zhí)行命令(4)詢問(wèn)命令(5)操作員專用命令 命令行:規(guī)定由操作系統(tǒng)執(zhí)行的一系列操作,命令行

30、:一行可有一個(gè)或多個(gè)命令,每次一行,包含一個(gè)或多個(gè)命令。shell給出提示符時(shí)可輸入,以回車(chē)鍵提交。如:“l(fā)s -a -l”列出當(dāng)前目錄文件列表;"gunzip mp1.tar.gz; tar -xvf mp1.tar; \rm -r -f mp1.tar"為解壓縮后再展開(kāi)。命令格式:一個(gè)命令可有命令參數(shù),格式包括選項(xiàng)/開(kāi)關(guān) (option/switch)或參數(shù)(argument)。如UNIX系統(tǒng): cp

31、-r doc /tmp--argv[0], argv[1], ...(含子目錄的文件復(fù)制:/tmp為目標(biāo)地址),命令分類:內(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&

32、quot;和"2.tar"時(shí),"cp *.tar /tmp"等同于"cp 1.tar /tmp; cp 2.tar /tmp",命令的附加功能 命令的附加功能用以擴(kuò)大命令的功能性、選擇性、適應(yīng)性。包括:(1)參數(shù)與變量 位置變量 關(guān)鍵字變量(2)命令通配符(3)重定向(4)管道與過(guò)濾器,6、命令文件批處理命令:

33、針對(duì)脫機(jī)用戶操作和大量順序操作功能而設(shè)計(jì) 批處理命令可以是專門(mén)命令,也可是系統(tǒng)的基本命令;還有有關(guān)的語(yǔ)法結(jié)構(gòu),循環(huán)、分支、轉(zhuǎn)移、判別等,構(gòu)成一套特殊的命令語(yǔ)言提前寫(xiě)出命令并存入文件,稱之為命令文件命令文件提供了一種把一系列命令組裝成文件的方法,然后用文件名作為命令名執(zhí)行一系列命令,特點(diǎn):(1)接受參數(shù)、變量,宏變量替換(2)允許嵌套形式調(diào)用其他命令文件(3)允許參數(shù)來(lái)自終端的命令文件本身(4)允許執(zhí)行顯示到終端、存入文

34、件或送入打印機(jī)(5)允許命令加入注釋(6)出錯(cuò)時(shí)允許用戶干預(yù)(7)可把輸入傳給程序,可有循環(huán)、分支、轉(zhuǎn)移等,7、圖形用戶接口GUI命令行方式:要求用戶記憶命令格式圖形用戶接口方式:用戶可利用鼠標(biāo)對(duì)屏幕上的圖標(biāo)進(jìn)行操作,完成與操作系統(tǒng)的交互,從而減少記憶內(nèi)容,方便用戶使用。圖形用戶接口的技術(shù)基礎(chǔ):高分辯顯示器和鼠標(biāo)(1)窗口系統(tǒng)(window system)的特點(diǎn)利用圖形元素表示功能:將各種圖形元素顯示在屏幕上,用戶可以通

35、過(guò)操縱圖形元素(如菜單、圖標(biāo))來(lái)執(zhí)行相應(yīng)的功能,同屏多窗口與并發(fā)進(jìn)程相對(duì)應(yīng):屏幕上同時(shí)顯示多個(gè)窗口;一個(gè)進(jìn)程可以對(duì)應(yīng)一個(gè)或多個(gè)窗口;窗口動(dòng)態(tài)創(chuàng)建、改變、撤銷(xiāo),交互的并發(fā)性好、傳遞信息量大。輸入方式:鼠標(biāo)指針點(diǎn)擊(或其他定位設(shè)備)和鍵盤(pán)輸入;通常是即時(shí)交互。一致的圖形元素風(fēng)格可方便用戶學(xué)習(xí)和使用:如按鈕、滾動(dòng)條。(2)窗口系統(tǒng)的圖形元素及其狀態(tài),窗口:屏幕上的矩形區(qū)域包括:標(biāo)題條、邊框、窗口角、系統(tǒng)菜單框、最大化/最小化按鈕、滾動(dòng)

36、條等狀態(tài):當(dāng)前/非當(dāng)前窗口--接受輸入,最大化/最小化/恢復(fù)原大小,窗口的前后遮蓋-Z軸,焦點(diǎn)處--接受鍵盤(pán)輸入(而非鼠標(biāo))桌面和墻紙圖標(biāo):一個(gè)小圖象(如32x32或64x64 pixel),供鼠標(biāo)指針點(diǎn)擊。不同的圖標(biāo)可以標(biāo)識(shí)不同的對(duì)象。如可執(zhí)行程序、最小化的窗口、文件-動(dòng)畫(huà)圖標(biāo),鼠標(biāo)指針:鼠標(biāo)指針通常對(duì)應(yīng)屏幕上的光標(biāo)光標(biāo)在屏幕上只有一個(gè),在不同屏幕位置(上下文)可以呈現(xiàn)不同形狀,可以獨(dú)立于鼠標(biāo)來(lái)直接操縱光標(biāo)鼠標(biāo)點(diǎn)擊:左鍵/右

37、鍵/中鍵,單擊/雙擊,拖曳/拖放按鈕:鼠標(biāo)點(diǎn)擊或按回車(chē)鍵/空格鍵時(shí)執(zhí)行相應(yīng)功能,如 menu button;提供單項(xiàng)或多項(xiàng)選擇,如radiobutton和checkbutton;當(dāng)前按鈕及其切換菜單:臨時(shí)窗口,菜單條、彈出式菜單、下拉式菜,單(上下文相關(guān)菜單)對(duì)話框:臨時(shí)窗口,顯示提示信息(message)或填寫(xiě)用戶設(shè)置(3)窗口管理器(window manager):形成統(tǒng)一的使用風(fēng)格處理窗口的普遍特性,如:窗口的大小、位置

38、(窗口的標(biāo)題條、邊框、控制菜單框)--窗口中由應(yīng)用程序管理的部分稱為"客戶區(qū)(client area)"協(xié)調(diào)各窗口間的相互關(guān)系,如:窗口之間的前,后遮蓋關(guān)系,桌面(4)例子:MS Windows特點(diǎn)MS Windows結(jié)構(gòu)基本概念消息處理:兩種方法特點(diǎn):是OS 的一部分,提供默認(rèn)的窗口風(fēng)格(如菜單、對(duì)話框),除Windows2000外,窗口應(yīng)用程序只能在控制臺(tái)(本地)執(zhí)行。,MS Windows結(jié)構(gòu):可

39、分成三個(gè)部分OS系統(tǒng)服務(wù)(KERNEL):內(nèi)存管理、程序加載(包括DLL)、任務(wù)調(diào)度、文件管理用戶接口(USER):窗口和消息管理,以及菜單、控制、對(duì)話框、定時(shí)器等圖形設(shè)備接口(GDI, Graphic Device Interface):管理顯示器,為USER與應(yīng)用程序提供與硬件設(shè)備獨(dú)立的接口,基本概念消息(message):消息作為窗口的輸入,如用戶操作、其他窗口或系統(tǒng)發(fā)出的請(qǐng)求或通知窗口過(guò)程(window procedu

40、re):消息由各窗口自己的窗口過(guò)程來(lái)作處理窗口過(guò)程的調(diào)用參數(shù):接收窗口句柄(可以在多個(gè)窗口共用一個(gè)窗口過(guò)程時(shí)加以區(qū)分)、消息ID(消息的類型)、消息參數(shù)(16+32位或32+32位值,整數(shù)或指針)還可以取得消息的發(fā)生時(shí)間和屏幕坐標(biāo),消息處理:兩種方法排隊(duì)消息:放到進(jìn)程(線程)的FIFO消息隊(duì)列里。如應(yīng)用程序發(fā)送的消息,系統(tǒng)的鼠標(biāo)、鍵盤(pán)、定時(shí)器、窗口繪制和退出等。排隊(duì)消息所用的API:發(fā)送消息到消息隊(duì)列PostMessage;從

41、消息隊(duì)列讀取消息GetMessage, PeekMessage;分發(fā)一個(gè)消息到相應(yīng)窗口DispatchMessage;非排隊(duì)消息:直接發(fā)送到指定窗口的窗口過(guò)程。非排隊(duì)消息所用的API:SendMessage直到接收方窗口過(guò)程處理完才返回,接收方正處于GetMessage,而接受并處理SendMessage送來(lái)的消息之后,仍處于GetMessage。為防止死鎖,一般要:if (InSendMessage()) ReplyMessag

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論