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