作業(yè)管理舉例說明.ppt
《作業(yè)管理舉例說明.ppt》由會員分享,可在線閱讀,更多相關《作業(yè)管理舉例說明.ppt(67頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2 5用戶界面舉例 2 5 1作業(yè)控制語言 1 命令行2 環(huán)境變量 脫機作業(yè)控制 用戶輸入作業(yè)說明書 整個作業(yè)的運行由系統(tǒng)控制 聯(lián)機作業(yè)控制 通過人 機會話方式控制作業(yè)運行 用戶登錄 控制臺登錄或遠程登錄 由系統(tǒng)自動執(zhí)行一些命令腳本后 并進入shell 字符或GUI界面 接受用戶的命令和操作 最后退出系統(tǒng) 1 命令行 命令行 一行可有一個或多個命令 每次一行 包含一個或多個命令 shell給出提示符時可輸入 以回車鍵提交 如 ls a l 列出當前目錄文件列表 命令格式 一個命令可有命令參數(shù) 格式包括選項 開關 option switch 或參數(shù) argument 如UNIX系統(tǒng) cp rdoc tmp argv 0 argv 1 含子目錄的文件復制 tmp為目標地址 命令分類 內部命令和外部命令內部命令 直接由shell本身完成 功能簡單 使用頻繁 常駐內存 如 DOS的copy命令 外部命令 運行相應的可執(zhí)行文件 在使用時加載 如 DOS的xcopy命令 命令簡化 利用參數(shù)替換可簡化命令輸入 通配符 用于匹配一組文件名如 UNIX的cp命令 當前目錄上有兩個 1 tar 和 2 tar 時 cp tar tmp 等同于 cp1 tar tmp cp2 tar tmp 2 環(huán)境變量 環(huán)境變量也可以作為shell參數(shù) 如命令提示符的式樣 外部命令的查找目錄路徑等 如 PATH bin usr bin usr sbin HOME home thisuser環(huán)境變量是傳遞命令參數(shù)的另一種途徑 如 cd HOME 環(huán)境變量可按名字訪問 可以新建 賦值或撤銷 有效范圍 只對本進程里的環(huán)境變量能夠直接進行操作 此外 在執(zhí)行新進程時 UNIX中是exec 調用 可以給出環(huán)境變量的初始值 通常就是直接復制當前進程的所有環(huán)境變量 繼承 環(huán)境變量 environmentvariable 應用進程地址空間中的特殊變量區(qū) 2 5 2作業(yè)管理舉例 2 2 1MSDOS的作業(yè)管理2 2 2UNIX的作業(yè)管理 返回 2 5 3MSDOS的作業(yè)管理 命令分類 內部命令 如dir cd copy外部命令 如format xcopy命令行選項命令行選項通常是 option 如 選項可顯示各命令的命令行選項列表 通配符 由外部命令自己處理 如 xcopy c argv 1 c 2 5 3 1 DOS命令處理程序 或其他程序如DOSshell 駐留內存 在系統(tǒng)運行期間不再退出 為了給應用程序的執(zhí)行提供更大內存空間 又分為常駐部分和暫駐部分 可被應用程序覆蓋 輸入輸出重定向和管道 pipe 基于臨時文件 為輸出重定向 為添加輸出重定向 如 dir temp txt 將把 dir 命令在屏幕上的輸出保存在新文件 temp txt 中 而 dir temp txt 將屏幕輸出追加在文件 temp txt 的結尾 管道 是將前一個命令的屏幕輸出作為后一個命令的鍵盤輸入 如 dir sort 將把 dir 命令的輸出按行進行排序 環(huán)境變量setPATH c tools PATH 原PATH c dos則后PATH c tools c dos系統(tǒng)引導時加載系統(tǒng)引導時加載 autoexec bat 2 5 3 2 DOS批處理 由執(zhí)行 循環(huán) 循環(huán)執(zhí)行命令 FOR R drive path variableIN set DOcommand command parameters 遍歷根在 drive path上的目錄樹 在樹的每個目錄中執(zhí)行FOR語句 如果在 R后沒有指定任何目錄規(guī)范 那么假設為當前目錄 如果set僅是一個句號 那么它將僅列出目錄樹 有簡單的變量替換 有條件轉移和跳轉 循環(huán)和注釋語句rem 關于循環(huán)的實例 for 字母in 文件列表 do命令 字母 命令描述時的某個參數(shù) 文件列表 可以是1個文件或多個文件 命令 用戶指定 例 c for Ain c d dochkdsk A依此對C D 進行chkdsk命令 A順序取C D 如下面批處理將顯示當前目錄及其子目錄所有后綴為ppt的文件名 含路徑名 for R fin ppt doecho f可能的顯示結果 C users xyong work 2001 02 20chapter1 pptC users xyong work temp 2001 02 18chapter1 pptC users xyong work temp 2000 08 09LinuxLecture 2000 08 15Linux ppt 分支 IF NOT ERRORLEVELnumbercommandIF NOT string1 string2commandIF NOT EXISTfilenamecommandNOT只有在條件為假時 才需運行命令 ERRORLEVELnumber如果最近程序運行返回的退出碼等于或大于指定的號碼時 則設定條件為真 command當符合條件時 指定要運行的命令 string1 string2當指定字符串匹配時 設置條件為真 EXISTfilename當指定文件名存在時 設置條件為真 如 IFERRORLEVEL1gotookay okayechookay 2 5 4UNIX的用戶界面 2 2 2 1 shell命令處理程序2 2 2 2 shell批處理 2 5 4 1shell命令處理程序 1 shell的類型2 初始化文件3 基本特征4 輸入輸出重定向5 管道6 后臺執(zhí)行7 環(huán)境變量和內部變量8 別名9 常用的外部命令 shell的類型 Bourneshell bin sh Bourneshell的作者是StevenBourne 它是UNIX最初使用的shell并且在每種UNIX上都可以使用 Bourneshell在shell編程方面相當優(yōu)秀 但在處理與用戶的交互方面作得不如其他幾種shell Bourneshell最大的缺點在于它處理用戶的輸入方面 在Bourneshell里鍵入命令會很麻煩 尤其當你鍵入很多相似的命令時 UNIX上有許多種shell 主要功能是相同的 在細節(jié)上有一些區(qū)別 幾種shell都有它們的優(yōu)點和缺點 Cshell bin csh Cshell由BillJoy所寫 它更多的考慮了用戶界面的友好性 它支持象命令補齊 command linecompletion 等一些Bourneshell所不支持的特性 普遍認為Cshell的編程接口做的不如Bourneshell 但Cshell被很多C程序員使用因為Cshell的語法和C語言的很相似 這也是Cshell名稱的由來 Kornshell ksh Kornshell ksh 由DaveKorn所寫 它集合了Cshell和Bourneshell的優(yōu)點并且和Bourneshell完全兼容 BourneAgainshell bash BourneAgainshell bash 是Bourneshell的擴展 bash與Bourneshell完全向后兼容 并且在Bourneshell的基礎上增加和增強了很多特性 bash也包含了很多C和Kornshell里的優(yōu)點 bash有很靈活和強大的編程接口 同時又有很友好的用戶界面 bash有幾種特性使命令的輸入變得更容易 其他shell除了這些shell以外 許多其他的shell程序吸收了這些原來的shell程序的優(yōu)點而成為新的shell 如 tcsh csh的擴展 PublicDomainKornshell pdksh ksh的擴展 2 初始化文件 BShell執(zhí)行 profileCShell執(zhí)行 cshrc和 login兩個文件KShell執(zhí)行 profile和 ENV兩個文件 sh profile與 csh login對應 進行注冊時的初始化 而在csh在非注冊啟動時都讀入 cshrc 3 基本特征 內部命令 如cd exec 區(qū)分大小寫 exec的功能是執(zhí)行一個命令 外部命令 如ls mkdir命令行選項通常是 option如 ls a l 中的 a表示列出所有文件 l表示列出所有信息 通配符 由shell處理后再傳遞給外部命令 如 cat c則argv 1 a c argv 2 b c 而cat c 則argv 1 c cat的功能是讀入所有文件 并顯示 4 輸入輸出重定向 和 為標準輸出重定向 2 和 2 為標準錯誤輸出重定向 2表示標準錯誤輸出的設備號 只對sh有意義 是標準輸出和標準錯誤輸出重定向 基于內核的緩沖區(qū) 行輸入重定向 用定界符間的內容作為標準輸入 如 下面命令的標準輸入為郵件內容 mailuser2 WARNING WARNING 5 管道 管道可以把一系列命令連接起來 第一個命令的輸出會通過管道傳給第二個命令而作為第二個命令的輸入 第二個命令的輸出又會作為第三個命令的輸入 以此類推 而管道行中最后一個命令的輸出才會顯示在屏幕上 如果命令行里使用了輸出重定向的話 將會放進一個文件里 通過管道 可以將多個簡單程序組合完成復雜的功能 如 ls l wc l 可給出文件數(shù)目 如 catsample text grep High wc l 這個管道將把cat命令 列出一個文件的內容 的輸出送給grep命令 grep命令在輸入里查找單詞High grep命令的輸出則是所有包含單詞High的行 這個輸出又被送給wc命令 帶 l選項的wc命令將統(tǒng)計輸入里的行數(shù) 6 后臺執(zhí)行 如 xterm display166 111 68 56 0 0 為在后臺啟動一個xterm窗口 并顯示到主機166 111 68 56上 后臺執(zhí)行 cmd 7 環(huán)境變量和內部變量 set 可給出內部變量列表 env 可給出環(huán)境變量列表 繼承只對環(huán)境變量有效 sh PATH usr bin PATH exportPATH 注意 在export前為內部變量 之后為環(huán)境變量 csh setsetenvPATH usr bin PATH 注意 在csh中環(huán)境變量的賦值 setenv 沒有等號 而內部變量的賦值 set 有等號 內部變量不能被子進程繼承 如同C里的局部變量 改環(huán)境變量就會自動改內部變量 反之不然 8 別名 alias的格式 aliasaliasname string 把aliasname直接用來取代后面的string 如有任何跟在后面的argument將會出現(xiàn)的其后 利用該功能 使用者可以將常用卻冗長的指令以其他的名字存起 如 aliasdir ls a l 為 ls a l 定義了一個別名 dir 給復雜命令定義別名 alias unalias 9 常用的外部命令 man查看手冊echo wc grep sed awk 用于文本掃描和處理 sort cut 對每行進行特定刪除處理 字符串操作 pwd ls mkdir rmdir cp rm mv ln文件和目錄操作 chmod chown chgrp 修改文件所在的用戶組 文件權限和屬主 cat more tail 顯示文件的最后部分 查看文件 test expr檢測和數(shù)值計算 vi全屏幕編輯 2 5 4 2 批處理 1 變量替換2 條件轉移3 循環(huán)4 分支5 函數(shù) 稱為 腳本 shellscript 注釋用 續(xù)行用 解釋執(zhí)行 效率較低 而且要加載外部命令 指定解釋執(zhí)行腳本的程序 bin sh或 opt bin perlperl PracticalExtractionandReportLanguage是一個文本文件分析工具 執(zhí)行腳本 sh cmd csh sourcecmd execcmd cmd sh cmd shcmd source 命令是運行tcl腳本 exec 是用指定命令新建shell 以取代當前shell sh 命令是運行sh腳本 1 變量替換 如 下面是一個變量定義和引用的例子 temp testmessage echo tempechoAAA temp BBBechoCCC temp DDDecho temp 變量賦值格式 變量名 值值串中包括空格 制表符或換行符時 值要放在 號內 變量引用格式 變量名如引用前后緊接其它字符 引用方式為 變量名 或 變量名 variable 雙引號 進行變量替換 單引號 不作任何替換 其運行結果為 testmessageAAAtestmessageBBBCCCtestmessageDDD temp 2 條件轉移 ifcommand then else fi 例 調用test命令 注意 方括號和判斷條件之間必須有空格 下面腳本在有參數(shù)時顯示 Havearguement s 無參數(shù)時顯示 Noarguement 其中 a 1 a 用于判斷 1是否為空串 if a 1 a thenecho Noarguement elseecho Havearguement s fi 運行結果為 xyong well work temp txtNoarguement xyong well work temp txtweHavearguement s 例 下面腳本在命令行參數(shù)個數(shù)不對 其中 test 4 測試命令行參數(shù)個數(shù)是否為4 提示出錯信息 iftest 4 thenecho 4 3 2 1elseecho 0usage arg1arg2arg3arg4fi 運行結果如下 xyong well work temp txt temp txtusage arg1arg2arg3arg4 xyong well work temp txtabcddcba 3 循環(huán) while 1 do done 例 下面腳本在文件lockfile可讀時每暫停5秒重復測試一次 其中 test rlockfile 判斷文件 lockfile 是否存在 whiletest rlockfile dosleep5done運行結果為 有文件 lockfile 時 腳本一直不結束 直到該文件被刪除后 腳本才結束 4 分支 基于模式匹配的多路分支結構 它依據(jù)word的不同 執(zhí)行不同的命令序列 casewordinpattern1 pat1 list pattern2 pat2 list esac 例 下面腳本依據(jù)命令行參數(shù)的不同 顯示不同內容 case 1in c echoC 1 a echoA 1 f echoF 1 esac 運行結果如下 xyong well work temp txtc aA c a xyong well work temp txtc cC c c xyong well work temp txtc fF c f 5 函數(shù) 例 這里 和 1是new func的參數(shù) 而 0為腳本的參數(shù) new func echo echo 1 new func 0arg2運行結果為 xyong well work temp txtasb temp txtarg2 temp txt 2 5 4 3圖形用戶接口 GUI GRAPHICUSERINTERFACE 2 4 1概述2 4 2MSWindows 2 4 3XWindow 2 4 4事件驅動模式 event driven 返回 在命令行方式下 用戶與操作系統(tǒng)的交互要求用戶記憶命令格式 在圖形用戶接口方式下 用戶可利用鼠標對屏幕上的圖標進行操作 完成與操作系統(tǒng)的交互 從而減少記憶內容 方便用戶使用 它的技術基礎是高分辯顯示器和鼠標 1概述 1 窗口系統(tǒng) windowsystem 的特點2 窗口系統(tǒng)的圖形元素及其狀態(tài)3 窗口管理器 windowmanager 1 窗口系統(tǒng) windowsystem 的特點 利用圖形元素表示功能 同屏多窗口與并發(fā)進程相對應 輸入方式 鼠標指針點擊一致的圖形元素風格優(yōu)點 操作直觀交互的并發(fā)性好 傳遞信息量大 2 窗口系統(tǒng)的圖形元素及其狀態(tài) 窗口 window 屏幕上的矩形區(qū)域 可以通過掩模mask來顯示任意形狀 包括 標題條 titlebar 邊框 border 窗口角 corner 系統(tǒng)菜單框 systemmenubox 最大化 最小化按鈕 maximize minimize 滾動條 scrollbar 等狀態(tài) 當前 非當前窗口 active inactive 接受輸入 最大化 最小化 恢復原大小 restore 窗口的前后遮蓋 Z軸 焦點 focus 接受鍵盤輸入 而非鼠標 桌面 desktop 和墻紙 wallpaper 圖標 icon 鼠標指針 mousepointer 按鈕 button 菜單 menu 對話框 dialogbox 3 窗口管理器 windowmanager 形成統(tǒng)一的使用風格 處理窗口的普遍特性 如 窗口的大小 位置 窗口的標題條 邊框 控制菜單框 窗口中由應用程序管理的部分稱為 客戶區(qū) clientarea 協(xié)調各窗口間的相互關系 如 窗口之間的前后遮蓋關系 桌面 MSWindows 1 特點2 MSWindows結構3 基本概念4 消息處理 兩種方法 1 特點 是OS的一部分 提供默認的窗口風格 如菜單 對話框 除Windows2000外 窗口應用程序只能在控制臺 本地 執(zhí)行 2 MSWindows結構 OS系統(tǒng)服務 KERNEL 內存管理 程序加載 包括DLL 任務調度 文件管理用戶接口 USER 窗口和消息管理 以及菜單 控制 對話框 定時器等圖形設備接口 GDI GraphicDeviceInterface 管理顯示器 為USER與應用程序提供與硬件設備獨立的接口 可分成三個部分 3 基本概念 消息 message 消息作為窗口的輸入 如用戶操作 其他窗口或系統(tǒng)發(fā)出的請求或通知 窗口過程 windowprocedure 消息由各窗口自己的窗口過程來作處理 窗口過程的調用參數(shù) 接收窗口句柄 可以在多個窗口共用一個窗口過程時加以區(qū)分 消息ID 消息的類型 消息參數(shù) 16 32位或32 32位值 整數(shù)或指針 還可以取得消息的發(fā)生時間和屏幕坐標 4 消息處理 兩種方法 排隊消息 放到進程 線程 的FIFO消息隊列里 如應用程序發(fā)送的消息 系統(tǒng)的鼠標 鍵盤 定時器 窗口繪制和退出等 排隊消息所用的API 發(fā)送消息到消息隊列PostMessage 從消息隊列讀取消息GetMessage PeekMessage 分發(fā)一個消息到相應窗口DispatchMessage 非排隊消息 直接發(fā)送到指定窗口的窗口過程 非排隊消息所用的API SendMessage 直到接收方窗口過程處理完才返回接收方正處于GetMessage 而接受并處理SendMessage送來的消息之后 仍處于GetMessage 為防止死鎖 一般要 if InSendMessage ReplyMessage TRUE 消息循環(huán) 不斷移出消息 并加以處理 用戶不作處理的消息 應傳給默認窗口過程加以處理 DefWindowProc WM PAINT消息 通知窗口客戶區(qū)中的某部分 region 已被改變 應用程序應該對其重新繪制 總是被排在線程消息隊列的最后 并且多個WM PAINT消息中的region會自動被合并為一個 XWindow 1 特點2 XWindow的結構3 基本概念4 Xlib和工具箱 toolkit 5 XWindow的使用 Client Server結構 Xclient和server都是應用程序一個server可以為不同計算機上的多個client提供服務 server對有關I O設備具有訪問權一個client也可以連接不同計算機上的多個server顯示設備獨立性和支持多種網(wǎng)絡協(xié)議 在TCP IP DECnet之上的Xprotocol X不是計算機操作系統(tǒng)的一部分 其他大部分窗口系統(tǒng)都是以OS核心為基礎的 如 MSWindows Macintosh SunView支持自由風格 policyfree 只提供機制不提供風格 包括窗口管理器 菜單 按鈕 滾動條等的管理和操作 如 Motif OpenLook Tcl Tk等 1 特點 2 XWindow的結構 XWindow的結構 各client 窗口管理器和Xserver可以在一臺或多臺計算機上用戶對server所控制設備的操作都使server發(fā)送事件 event 如 鼠標移動 點擊 鍵盤輸入 事件是一個數(shù)據(jù)塊 內容包括 事件類型 相關的窗口等client對來自server的事件進行處理 然后向server發(fā)送請求 request 如 窗口操作 顯示圖形或正文Xprotocol使用的傳送信道 異步字節(jié)流 server不斷發(fā)送事件而由client中的先進先出FIFO隊列加以緩沖 client不斷發(fā)送請求而由server中的FIFO隊列加以緩沖 XWindow的隊列 3 基本概念 屏幕 screen 和顯示器 display 屏幕指顯示設備硬件 而顯示器指Xserver 及其控制的鍵盤 鼠標和屏幕 X允許一個顯示器控制多個屏幕 即顯示設備硬件 資源 resource 是Xwindow使用的窗口 位圖 bitmap 字體 font 調色板 colormap 和其他數(shù)據(jù)結構的總稱 資源在Xserver中創(chuàng)建和存儲 按照client的請求來加以管理 而client退出時撤銷對應的資源 通過資源標識 resourceID 整數(shù)類型 來標識不同的資源 包括系統(tǒng)資源 資源的自身不體現(xiàn)風格窗口樹 層次 子窗口只顯示出被父窗口剪切 clip 的區(qū)域 4 Xlib和工具箱 toolkit Xlib函數(shù)庫 將接收到的Xprotocol轉換為事件 并將請求轉換為發(fā)送Xprotocol 其代碼鏈接在Xclient中 如 打開顯示器 XOpenDisplay char display name 與Xserver建立連接取得Xconnection的文件描述符 XConnectionNumber Xtoolkit 提供各種構件的例程庫 便于用戶使用 體現(xiàn)不同的風格 如 Motif OpenLook Tcl Tk 構件的數(shù)據(jù)結構存儲在XclientXtIntrinsics 對構件的管理和操作 如 建立和撤銷widget 管理資源 包括widget的初始值 處理事件并調用相應的處理程序 回調過程call back widgetset 構件集合 構件類 widgetclass 和構件實例 widgetinstance 構件 widget 由多個資源 最終是resourceID 復合而成 具有特定外觀和功能的部件 如 按鈕 菜單和滾動條 如同建筑上的預制件 本質是 對某些事件給出了默認響應 通常是改變外觀 并可以掛接回調過程來進行用戶定義的處理 方便用戶使用 如Tcl Tk button app button2 imageicon2 command incrx0 各個widget也構成widgettree 最頂層是top levelwidget 在toolkit初始化時建立 editres命令 查看widgettree 并對X應用進程中的資源進行動態(tài)修改 5 XWindow的使用 1 本地 起動Xserver2 本地 允許訪問Xserver xhost hostC3 本地 發(fā)起遠程登錄 telnethostC并輸入用戶名和口令4 遠地 運行X終端程序 usr openwin bin xterm displayhostS 0 0 usr openwin bin xterm 5 本地 在xterm窗口內輸入命令行 可以起動其他Xclient程序 如 xclock 遠程登錄 Xserver機為hostS 本地用戶 client機為hostC 遠地 事件驅動模式 event driven 1 面臨的問題2 事件驅動模式3 分發(fā)驅動模式4 舉例 1 面臨的問題 若C1 C2 C3在判斷時是阻塞式 blocking 則一個分支在阻塞等待時 使得其他兩個即使條件具備也不被立即執(zhí)行若C1 C2 C3在判斷時是非阻塞式 non blocking 則C1 C2 C3不間歇地反復查詢 CPU開銷大 幾個處理分支在各自條件下 間歇地 重復地執(zhí)行 次序不確定 如 While done if C1 P1 C1 管道1可讀 if C2 P2 C2 管道2可寫 if C3 P3 C3 定時器的時間到 事件驅動模式 While done NextEvent Event 獲取下一個事件 若無事件則等待直到有事件 switch Event Type caseC1 P1 caseC2 P2 caseC3 P3 將多路判斷和等待匯集為一路UNIX系統(tǒng)中相應的系統(tǒng)調用或庫函數(shù)為 select Solaris2 3庫函數(shù) Linux系統(tǒng)調用 poll Solaris2 3系統(tǒng)調用 特點 節(jié)省運行CPU開銷 無事件時等待而不是反復查詢 有事件時才處理當處理分支較多時 switch語句變得復雜和不易掌握 3 分發(fā)驅動模式 特點 通過對象管理機構 如Xtoolkit 創(chuàng)建多個對象或構件 輸入事件通過對象各自的回調過程 call backprocedure 來處理通過對象管理機構 將輸入事件分發(fā)給適當?shù)脑?無須了解分發(fā)過程的實現(xiàn) CreateObject object1 P1 CreateObject object2 P2 CreateObject object3 P3 While done NextEvent Event 獲取下一個事件 若無事件則等待直到有事件 Dispatch Event 分發(fā)事件給相應的回調過程 4 舉例 MSWindows的消息處理 WinMain CreateWindow MainWndClass SampleName 窗口過程的人口指針包括在WNDCLASS結構中 通過RegisterClass注冊窗口類 while GetMessage XWindow的事件處理 XtIntrinsics main topWidget XtAppInitialize XtRealizeWidget while 1 這里的while循環(huán)等價于XtAppMainLoop函數(shù) XtAppNextEvent 小結 作業(yè)組織和控制 脫機 聯(lián)機 命令行 系統(tǒng)調用 與普通過程調用的區(qū)別 與高級語言函數(shù)庫的區(qū)別 實現(xiàn)過程作業(yè)管理舉例 DOS UNIX shell 圖形用戶接口 GUI 概述 XWindow MSWindows 事件驅動模式 謝謝 Thankyou- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 作業(yè) 管理 舉例說明
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經上傳用戶書面授權,請勿作他用。
鏈接地址:http://m.jqnhouse.com/p-5185800.html