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

下載本文檔

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

文檔簡介

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

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

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

4、ontrol Block)作業(yè)控制塊是批處理作業(yè)存在的標(biāo)志保存系統(tǒng)對于作業(yè)進(jìn)行管理所需要的全部信息位于磁盤區(qū)域中,(1)作業(yè)控制塊的內(nèi)容作業(yè)控制塊中所包含的信息數(shù)量及內(nèi)容因系統(tǒng)而異。較簡單的系統(tǒng)較復(fù)雜的系統(tǒng) 作業(yè)控制塊的內(nèi)容如下:,作業(yè)標(biāo)知用戶名稱用戶帳號調(diào)度信息資源需求作業(yè)狀態(tài)作業(yè)類別輸入井地址輸出井地址進(jìn)入系統(tǒng)時間開始處理時間作業(yè)完成時間作業(yè)退出時間資源使用情況,作業(yè)控制塊JCB,(3)作

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

6、存固定區(qū)域中,長度是固定,限制了系統(tǒng)所能同時容納的作業(yè)數(shù)量系統(tǒng)輸入程序、作業(yè)調(diào)度程序、系統(tǒng)輸出程序都需要訪問作業(yè)表因而存在互斥問題,作業(yè)表,4、 批處理作業(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)換圖,(1)運(yùn)行狀態(tài)的作業(yè)三種狀態(tài):就緒狀態(tài)執(zhí)行狀態(tài)等待狀態(tài),5、作業(yè)的建立一個作業(yè)建立過程的兩個子過程:作業(yè)的輸入JC

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

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

9、種I/O設(shè)備得以充分利用對所有的作業(yè)都是公平合理的,要設(shè)計一個理想的調(diào)度算法是一件十分困難的事。在實際系統(tǒng)中,調(diào)度算法往往折衷考慮設(shè)計調(diào)度算法時應(yīng)考慮的因素:調(diào)度算法應(yīng)與系統(tǒng)設(shè)計目標(biāo)保持一致注意系統(tǒng)資源均衡使用保證提交的作業(yè)在截止時間內(nèi)完成縮短作業(yè)平均周轉(zhuǎn)時間大多數(shù)操作系統(tǒng)都采用比較簡單的調(diào)度算法,(2)調(diào)度算法性能的衡量作業(yè)平均周轉(zhuǎn)時間假定某一作業(yè)進(jìn)入“輸入井”的時間為Si它被選中執(zhí)行,得到計算結(jié)果的時間為Ei

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

11、CPU時間C存儲要求M打印輸出的行數(shù)L其他的資源要求,(4)常見的批處理作業(yè)調(diào)度算法先來先服務(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)時間 / 作業(yè)處理時間=(作業(yè)處理時間+作業(yè)等待時間)/ 作業(yè)處理時間= 1 +(作業(yè)等待時間

12、/ 作業(yè)處理時間),基于優(yōu)先數(shù)調(diào)度算法 (HPF:Highest Priority First) (a)由用戶規(guī)定優(yōu)先數(shù)(外部優(yōu)先數(shù)) 用戶提交作業(yè)時,根據(jù)急迫程度規(guī)定適當(dāng)?shù)膬?yōu)先數(shù),作業(yè)調(diào)度程序根據(jù)JCB優(yōu)先數(shù)決定進(jìn)入內(nèi)存的次序 (b)由系統(tǒng)計算優(yōu)先數(shù)(內(nèi)部優(yōu)先數(shù))例:可按如下公式計算作業(yè)的優(yōu)先數(shù): 優(yōu)先數(shù) = 用戶規(guī)定優(yōu)先數(shù) – 作業(yè)處理時間 + 作業(yè)等待時間 – 輸出量,均衡調(diào)度算法(分類排隊算

13、法)基本思想:根據(jù)系統(tǒng)運(yùn)行情況和作業(yè)屬性將作業(yè)分類輪流從不同的作業(yè)類中挑選作業(yè)目標(biāo):力求均衡地利用各種系統(tǒng)資源,發(fā)揮資源使用效率力求使用戶滿意,例1:將待處理作業(yè)分成如下隊列: 隊列1:計算量大的作業(yè) 隊列2:I/O量大的作業(yè) 隊列3:計算量與I/O量均衡的作業(yè)調(diào)度時,在三個隊列中各取一些作業(yè)在內(nèi)存中的作業(yè)有的使用處理機(jī),有的使用外部設(shè)備使得系統(tǒng)的各種資源能得到充分利用。例2:將待處理作業(yè)分

14、成如下三個隊列: 隊列1:長作業(yè),隊列2:中等長度作業(yè) 隊列3:短作業(yè)調(diào)度時取隊列1一作業(yè),隊列2一作業(yè),隊列3一作業(yè)長作業(yè)用戶和短作業(yè)用戶均比較滿意(5)作業(yè)調(diào)度算法應(yīng)用例子1:假設(shè)在單道批處理環(huán)境下有四個作業(yè),已知它們進(jìn)入系統(tǒng)的時間、估計運(yùn)行時間。應(yīng)用先來先服務(wù)、最短作業(yè)優(yōu)先和最高響應(yīng)比優(yōu)先作業(yè)調(diào)度算法,分別計算出作業(yè)的平均周轉(zhuǎn)時間和帶權(quán)的平均周轉(zhuǎn)時間。,先來先服務(wù)調(diào)度算法計算結(jié)果,最短作業(yè)優(yōu)先作業(yè)算法

15、計算結(jié)果,最高響應(yīng)比優(yōu)先作業(yè)算法計算結(jié)果,在兩道環(huán)境下有四個作業(yè)已知它們進(jìn)入系統(tǒng)的時間、估計運(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í)行時間序列,并計算出平均周轉(zhuǎn)時間及帶權(quán)平均周轉(zhuǎn)時間,(6)作業(yè)調(diào)度算法應(yīng)用例子2,兩道批處理系統(tǒng)中最短作業(yè)優(yōu)先作業(yè)算法計算結(jié)果,四個作業(yè)的執(zhí)行時間序列為: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è)算法計算結(jié)果,10: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í)行次序。由于JOB2運(yùn)行時間(20分)比JOB1少(到10

17、: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,輸入井中有兩作業(yè)JOB3和JOB4,如何調(diào)度?作業(yè)調(diào)度算法:最短作業(yè)優(yōu)先,所以,JOB3進(jìn)入內(nèi)存,比較JOB1和JOB3運(yùn)行時間,JOB3運(yùn)行時間短

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

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

20、狀態(tài)為就緒狀態(tài)。進(jìn)程調(diào)度選擇當(dāng)前可占用 CPU處理進(jìn)程,當(dāng)它讓出處理器時,進(jìn)程調(diào)度就再選另一作業(yè)的進(jìn)程,作業(yè)調(diào)度與進(jìn)程調(diào)度相互配合,實現(xiàn)作業(yè)的并行。,8、批處理作業(yè)的控制,當(dāng)作業(yè)為執(zhí)行態(tài)時,作業(yè)調(diào)度程序為其建立一作業(yè)控制進(jìn)程, 由該進(jìn)程控制作業(yè)運(yùn)行作業(yè)控制進(jìn)程:主要負(fù)責(zé)控制作業(yè)的運(yùn)行,具體解釋執(zhí)行作業(yè)說明書的每一個作業(yè)步,并創(chuàng)建子進(jìn)程來完成相應(yīng)步驟一個作業(yè)步的處理:(1)建立子進(jìn)程(2)為其申請資源(3)訪問該作業(yè)的JCB

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

22、作業(yè)執(zhí)行前用慢速設(shè)備將作業(yè)預(yù)先輸入到后援存儲器(如磁盤、磁鼓,稱為輸入井)中,稱為預(yù)輸入作業(yè)運(yùn)行后,使用數(shù)據(jù)時,從輸入井中取出作業(yè)執(zhí)行不必直接啟動外設(shè)輸出數(shù)據(jù),只需將這些數(shù)據(jù)寫入輸出井中作業(yè)全部運(yùn)行完畢,再由外設(shè)輸出全部數(shù)據(jù)和信息,稱為緩輸出實現(xiàn)了對作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理使外設(shè)在CPU直接控制下,與CPU并行工作(稱為假脫機(jī)),SPOOLing系統(tǒng),三、 交互式系統(tǒng)的作業(yè)管理,1、概述(1)命令接口 在操作系

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

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

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

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

27、法:(a)由命令解釋程序直接處理 在沒有創(chuàng)建子進(jìn)程功能的系統(tǒng)中終端命令通常由對應(yīng)的命令解釋程序處理,在這種系統(tǒng)中,只有一個進(jìn)程對應(yīng)一個終端用戶。(b)由子進(jìn)程代為處理在具有創(chuàng)建子進(jìn)程功能的系統(tǒng)中,對于較為單純的命令,如列目錄,拷貝文件等,命令解釋程序本身便能完成,此時由命令解釋程序直接處理。對較復(fù)雜命令,如對于C源程序進(jìn)行編譯,命令解釋程序本身不能處理,此時創(chuàng)建一個子進(jìn)程,并由該子進(jìn)程運(yùn)行C編譯程序。,4、命令接口命令接口

28、由命令處理器來實現(xiàn)命令處理器的實現(xiàn)方式:(a)作為OS的一個部分,例如OS/MVT或VAX/VMS(b)作為OS的一個獨(dú)特模塊,能方便地修改或替換,例如RT-11或CP/M(c)作為一易于被替換的普通程序,例如UNIX操作系統(tǒng)(d)在某些系統(tǒng)中,可能用專門設(shè)計的命令接口替代標(biāo)準(zhǔn)的命令接口,例如多用戶UNIX,用戶可有不同命令接口。,5、命令語言命令語言規(guī)定由OS執(zhí)行的一系列操作在一般的命令語言中,用戶通過打入稱為命令行的一

29、行指令來規(guī)定每一個動作每一命令行以命令開始,它標(biāo)識所要執(zhí)行的操作大多數(shù)命令是用運(yùn)行一個程序來執(zhí)行所請求的操作多數(shù)命令行中要給出一些參數(shù), 每一命令語句實際上是帶有參數(shù)的一個過程調(diào)用,一種命令語言通常提供幾類命令:(1)系統(tǒng)訪問命令登錄命令,如,login等撤離命令,如,logout等(2)文件管理命令(3)編輯、編譯和執(zhí)行命令(4)詢問命令(5)操作員專用命令 命令行:規(guī)定由操作系統(tǒng)執(zhí)行的一系列操作,命令行

30、:一行可有一個或多個命令,每次一行,包含一個或多個命令。shell給出提示符時可輸入,以回車鍵提交。如:“l(fā)s -a -l”列出當(dāng)前目錄文件列表;"gunzip mp1.tar.gz; tar -xvf mp1.tar; \rm -r -f mp1.tar"為解壓縮后再展開。命令格式:一個命令可有命令參數(shù),格式包括選項/開關(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本身完成,功能簡單、使用頻繁;如:DOS的copy命令。外部命令:運(yùn)行相應(yīng)的可執(zhí)行文件,在使用時加載。如:DOS的xcopy命令命令簡化:利用參數(shù)替換可簡化命令輸入,通配符(?, *)用于匹配一組文件名如:UNIX的cp命令:當(dāng)前目錄上有兩個"1.tar&

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

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

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

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

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

37、鍵/中鍵,單擊/雙擊,拖曳/拖放按鈕:鼠標(biāo)點(diǎn)擊或按回車鍵/空格鍵時執(zhí)行相應(yīng)功能,如 menu button;提供單項或多項選擇,如radiobutton和checkbutton;當(dāng)前按鈕及其切換菜單:臨時窗口,菜單條、彈出式菜單、下拉式菜,單(上下文相關(guān)菜單)對話框:臨時窗口,顯示提示信息(message)或填寫用戶設(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)格(如菜單、對話框),除Windows2000外,窗口應(yīng)用程序只能在控制臺(本地)執(zhí)行。,MS Windows結(jié)構(gòu):可

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

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

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

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論