作业管理举例说明.ppt

上传人:xt****7 文档编号:5185800 上传时间:2020-01-22 格式:PPT 页数:67 大小:404.05KB
返回 下载 相关 举报
作业管理举例说明.ppt_第1页
第1页 / 共67页
作业管理举例说明.ppt_第2页
第2页 / 共67页
作业管理举例说明.ppt_第3页
第3页 / 共67页
点击查看更多>>
资源描述
2 5用户界面举例 2 5 1作业控制语言 1 命令行2 环境变量 脱机作业控制 用户输入作业说明书 整个作业的运行由系统控制 联机作业控制 通过人 机会话方式控制作业运行 用户登录 控制台登录或远程登录 由系统自动执行一些命令脚本后 并进入shell 字符或GUI界面 接受用户的命令和操作 最后退出系统 1 命令行 命令行 一行可有一个或多个命令 每次一行 包含一个或多个命令 shell给出提示符时可输入 以回车键提交 如 ls a l 列出当前目录文件列表 命令格式 一个命令可有命令参数 格式包括选项 开关 option switch 或参数 argument 如UNIX系统 cp rdoc tmp argv 0 argv 1 含子目录的文件复制 tmp为目标地址 命令分类 内部命令和外部命令内部命令 直接由shell本身完成 功能简单 使用频繁 常驻内存 如 DOS的copy命令 外部命令 运行相应的可执行文件 在使用时加载 如 DOS的xcopy命令 命令简化 利用参数替换可简化命令输入 通配符 用于匹配一组文件名如 UNIX的cp命令 当前目录上有两个 1 tar 和 2 tar 时 cp tar tmp 等同于 cp1 tar tmp cp2 tar tmp 2 环境变量 环境变量也可以作为shell参数 如命令提示符的式样 外部命令的查找目录路径等 如 PATH bin usr bin usr sbin HOME home thisuser环境变量是传递命令参数的另一种途径 如 cd HOME 环境变量可按名字访问 可以新建 赋值或撤销 有效范围 只对本进程里的环境变量能够直接进行操作 此外 在执行新进程时 UNIX中是exec 调用 可以给出环境变量的初始值 通常就是直接复制当前进程的所有环境变量 继承 环境变量 environmentvariable 应用进程地址空间中的特殊变量区 2 5 2作业管理举例 2 2 1MSDOS的作业管理2 2 2UNIX的作业管理 返回 2 5 3MSDOS的作业管理 命令分类 内部命令 如dir cd copy外部命令 如format xcopy命令行选项命令行选项通常是 option 如 选项可显示各命令的命令行选项列表 通配符 由外部命令自己处理 如 xcopy c argv 1 c 2 5 3 1 DOS命令处理程序 或其他程序如DOSshell 驻留内存 在系统运行期间不再退出 为了给应用程序的执行提供更大内存空间 又分为常驻部分和暂驻部分 可被应用程序覆盖 输入输出重定向和管道 pipe 基于临时文件 为输出重定向 为添加输出重定向 如 dir temp txt 将把 dir 命令在屏幕上的输出保存在新文件 temp txt 中 而 dir temp txt 将屏幕输出追加在文件 temp txt 的结尾 管道 是将前一个命令的屏幕输出作为后一个命令的键盘输入 如 dir sort 将把 dir 命令的输出按行进行排序 环境变量setPATH c tools PATH 原PATH c dos则后PATH c tools c dos系统引导时加载系统引导时加载 autoexec bat 2 5 3 2 DOS批处理 由执行 循环 循环执行命令 FOR R drive path variableIN set DOcommand command parameters 遍历根在 drive path上的目录树 在树的每个目录中执行FOR语句 如果在 R后没有指定任何目录规范 那么假设为当前目录 如果set仅是一个句号 那么它将仅列出目录树 有简单的变量替换 有条件转移和跳转 循环和注释语句rem 关于循环的实例 for 字母in 文件列表 do命令 字母 命令描述时的某个参数 文件列表 可以是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 后台执行7 环境变量和内部变量8 别名9 常用的外部命令 shell的类型 Bourneshell bin sh Bourneshell的作者是StevenBourne 它是UNIX最初使用的shell并且在每种UNIX上都可以使用 Bourneshell在shell编程方面相当优秀 但在处理与用户的交互方面作得不如其他几种shell Bourneshell最大的缺点在于它处理用户的输入方面 在Bourneshell里键入命令会很麻烦 尤其当你键入很多相似的命令时 UNIX上有许多种shell 主要功能是相同的 在细节上有一些区别 几种shell都有它们的优点和缺点 Cshell bin csh Cshell由BillJoy所写 它更多的考虑了用户界面的友好性 它支持象命令补齐 command linecompletion 等一些Bourneshell所不支持的特性 普遍认为Cshell的编程接口做的不如Bourneshell 但Cshell被很多C程序员使用因为Cshell的语法和C语言的很相似 这也是Cshell名称的由来 Kornshell ksh Kornshell ksh 由DaveKorn所写 它集合了Cshell和Bourneshell的优点并且和Bourneshell完全兼容 BourneAgainshell bash BourneAgainshell bash 是Bourneshell的扩展 bash与Bourneshell完全向后兼容 并且在Bourneshell的基础上增加和增强了很多特性 bash也包含了很多C和Kornshell里的优点 bash有很灵活和强大的编程接口 同时又有很友好的用户界面 bash有几种特性使命令的输入变得更容易 其他shell除了这些shell以外 许多其他的shell程序吸收了这些原来的shell程序的优点而成为新的shell 如 tcsh csh的扩展 PublicDomainKornshell pdksh ksh的扩展 2 初始化文件 BShell执行 profileCShell执行 cshrc和 login两个文件KShell执行 profile和 ENV两个文件 sh profile与 csh login对应 进行注册时的初始化 而在csh在非注册启动时都读入 cshrc 3 基本特征 内部命令 如cd exec 区分大小写 exec的功能是执行一个命令 外部命令 如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有意义 是标准输出和标准错误输出重定向 基于内核的缓冲区 行输入重定向 用定界符间的内容作为标准输入 如 下面命令的标准输入为邮件内容 mailuser2 WARNING WARNING 5 管道 管道可以把一系列命令连接起来 第一个命令的输出会通过管道传给第二个命令而作为第二个命令的输入 第二个命令的输出又会作为第三个命令的输入 以此类推 而管道行中最后一个命令的输出才会显示在屏幕上 如果命令行里使用了输出重定向的话 将会放进一个文件里 通过管道 可以将多个简单程序组合完成复杂的功能 如 ls l wc l 可给出文件数目 如 catsample text grep High wc l 这个管道将把cat命令 列出一个文件的内容 的输出送给grep命令 grep命令在输入里查找单词High grep命令的输出则是所有包含单词High的行 这个输出又被送给wc命令 带 l选项的wc命令将统计输入里的行数 6 后台执行 如 xterm display166 111 68 56 0 0 为在后台启动一个xterm窗口 并显示到主机166 111 68 56上 后台执行 cmd 7 环境变量和内部变量 set 可给出内部变量列表 env 可给出环境变量列表 继承只对环境变量有效 sh PATH usr bin PATH exportPATH 注意 在export前为内部变量 之后为环境变量 csh setsetenvPATH usr bin PATH 注意 在csh中环境变量的赋值 setenv 没有等号 而内部变量的赋值 set 有等号 内部变量不能被子进程继承 如同C里的局部变量 改环境变量就会自动改内部变量 反之不然 8 别名 alias的格式 aliasaliasname string 把aliasname直接用来取代后面的string 如有任何跟在后面的argument将会出现的其后 利用该功能 使用者可以将常用却冗长的指令以其他的名字存起 如 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检测和数值计算 vi全屏幕编辑 2 5 4 2 批处理 1 变量替换2 条件转移3 循环4 分支5 函数 称为 脚本 shellscript 注释用 续行用 解释执行 效率较低 而且要加载外部命令 指定解释执行脚本的程序 bin sh或 opt bin perlperl PracticalExtractionandReportLanguage是一个文本文件分析工具 执行脚本 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命令 注意 方括号和判断条件之间必须有空格 下面脚本在有参数时显示 Havearguement s 无参数时显示 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 例 下面脚本在命令行参数个数不对 其中 test 4 测试命令行参数个数是否为4 提示出错信息 iftest 4 thenecho 4 3 2 1elseecho 0usage arg1arg2arg3arg4fi 运行结果如下 xyong well work temp txt temp txtusage arg1arg2arg3arg4 xyong well work temp txtabcddcba 3 循环 while 1 do done 例 下面脚本在文件lockfile可读时每暂停5秒重复测试一次 其中 test rlockfile 判断文件 lockfile 是否存在 whiletest rlockfile dosleep5done运行结果为 有文件 lockfile 时 脚本一直不结束 直到该文件被删除后 脚本才结束 4 分支 基于模式匹配的多路分支结构 它依据word的不同 执行不同的命令序列 casewordinpattern1 pat1 list pattern2 pat2 list esac 例 下面脚本依据命令行参数的不同 显示不同内容 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 函数 例 这里 和 1是new func的参数 而 0为脚本的参数 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 返回 在命令行方式下 用户与操作系统的交互要求用户记忆命令格式 在图形用户接口方式下 用户可利用鼠标对屏幕上的图标进行操作 完成与操作系统的交互 从而减少记忆内容 方便用户使用 它的技术基础是高分辩显示器和鼠标 1概述 1 窗口系统 windowsystem 的特点2 窗口系统的图形元素及其状态3 窗口管理器 windowmanager 1 窗口系统 windowsystem 的特点 利用图形元素表示功能 同屏多窗口与并发进程相对应 输入方式 鼠标指针点击一致的图形元素风格优点 操作直观交互的并发性好 传递信息量大 2 窗口系统的图形元素及其状态 窗口 window 屏幕上的矩形区域 可以通过掩模mask来显示任意形状 包括 标题条 titlebar 边框 border 窗口角 corner 系统菜单框 systemmenubox 最大化 最小化按钮 maximize minimize 滚动条 scrollbar 等状态 当前 非当前窗口 active inactive 接受输入 最大化 最小化 恢复原大小 restore 窗口的前后遮盖 Z轴 焦点 focus 接受键盘输入 而非鼠标 桌面 desktop 和墙纸 wallpaper 图标 icon 鼠标指针 mousepointer 按钮 button 菜单 menu 对话框 dialogbox 3 窗口管理器 windowmanager 形成统一的使用风格 处理窗口的普遍特性 如 窗口的大小 位置 窗口的标题条 边框 控制菜单框 窗口中由应用程序管理的部分称为 客户区 clientarea 协调各窗口间的相互关系 如 窗口之间的前后遮盖关系 桌面 MSWindows 1 特点2 MSWindows结构3 基本概念4 消息处理 两种方法 1 特点 是OS的一部分 提供默认的窗口风格 如菜单 对话框 除Windows2000外 窗口应用程序只能在控制台 本地 执行 2 MSWindows结构 OS系统服务 KERNEL 内存管理 程序加载 包括DLL 任务调度 文件管理用户接口 USER 窗口和消息管理 以及菜单 控制 对话框 定时器等图形设备接口 GDI GraphicDeviceInterface 管理显示器 为USER与应用程序提供与硬件设备独立的接口 可分成三个部分 3 基本概念 消息 message 消息作为窗口的输入 如用户操作 其他窗口或系统发出的请求或通知 窗口过程 windowprocedure 消息由各窗口自己的窗口过程来作处理 窗口过程的调用参数 接收窗口句柄 可以在多个窗口共用一个窗口过程时加以区分 消息ID 消息的类型 消息参数 16 32位或32 32位值 整数或指针 还可以取得消息的发生时间和屏幕坐标 4 消息处理 两种方法 排队消息 放到进程 线程 的FIFO消息队列里 如应用程序发送的消息 系统的鼠标 键盘 定时器 窗口绘制和退出等 排队消息所用的API 发送消息到消息队列PostMessage 从消息队列读取消息GetMessage PeekMessage 分发一个消息到相应窗口DispatchMessage 非排队消息 直接发送到指定窗口的窗口过程 非排队消息所用的API SendMessage 直到接收方窗口过程处理完才返回接收方正处于GetMessage 而接受并处理SendMessage送来的消息之后 仍处于GetMessage 为防止死锁 一般要 if InSendMessage ReplyMessage TRUE 消息循环 不断移出消息 并加以处理 用户不作处理的消息 应传给默认窗口过程加以处理 DefWindowProc WM PAINT消息 通知窗口客户区中的某部分 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显示设备独立性和支持多种网络协议 在TCP IP DECnet之上的Xprotocol X不是计算机操作系统的一部分 其他大部分窗口系统都是以OS核心为基础的 如 MSWindows Macintosh SunView支持自由风格 policyfree 只提供机制不提供风格 包括窗口管理器 菜单 按钮 滚动条等的管理和操作 如 Motif OpenLook Tcl Tk等 1 特点 2 XWindow的结构 XWindow的结构 各client 窗口管理器和Xserver可以在一台或多台计算机上用户对server所控制设备的操作都使server发送事件 event 如 鼠标移动 点击 键盘输入 事件是一个数据块 内容包括 事件类型 相关的窗口等client对来自server的事件进行处理 然后向server发送请求 request 如 窗口操作 显示图形或正文Xprotocol使用的传送信道 异步字节流 server不断发送事件而由client中的先进先出FIFO队列加以缓冲 client不断发送请求而由server中的FIFO队列加以缓冲 XWindow的队列 3 基本概念 屏幕 screen 和显示器 display 屏幕指显示设备硬件 而显示器指Xserver 及其控制的键盘 鼠标和屏幕 X允许一个显示器控制多个屏幕 即显示设备硬件 资源 resource 是Xwindow使用的窗口 位图 bitmap 字体 font 调色板 colormap 和其他数据结构的总称 资源在Xserver中创建和存储 按照client的请求来加以管理 而client退出时撤销对应的资源 通过资源标识 resourceID 整数类型 来标识不同的资源 包括系统资源 资源的自身不体现风格窗口树 层次 子窗口只显示出被父窗口剪切 clip 的区域 4 Xlib和工具箱 toolkit Xlib函数库 将接收到的Xprotocol转换为事件 并将请求转换为发送Xprotocol 其代码链接在Xclient中 如 打开显示器 XOpenDisplay char display name 与Xserver建立连接取得Xconnection的文件描述符 XConnectionNumber Xtoolkit 提供各种构件的例程库 便于用户使用 体现不同的风格 如 Motif OpenLook Tcl Tk 构件的数据结构存储在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应用进程中的资源进行动态修改 5 XWindow的使用 1 本地 起动Xserver2 本地 允许访问Xserver xhost hostC3 本地 发起远程登录 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 分发驱动模式4 举例 1 面临的问题 若C1 C2 C3在判断时是阻塞式 blocking 则一个分支在阻塞等待时 使得其他两个即使条件具备也不被立即执行若C1 C2 C3在判断时是非阻塞式 non blocking 则C1 C2 C3不间歇地反复查询 CPU开销大 几个处理分支在各自条件下 间歇地 重复地执行 次序不确定 如 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系统中相应的系统调用或库函数为 select Solaris2 3库函数 Linux系统调用 poll Solaris2 3系统调用 特点 节省运行CPU开销 无事件时等待而不是反复查询 有事件时才处理当处理分支较多时 switch语句变得复杂和不易掌握 3 分发驱动模式 特点 通过对象管理机构 如Xtoolkit 创建多个对象或构件 输入事件通过对象各自的回调过程 call backprocedure 来处理通过对象管理机构 将输入事件分发给适当的元素 无须了解分发过程的实现 CreateObject object1 P1 CreateObject object2 P2 CreateObject object3 P3 While done NextEvent Event 获取下一个事件 若无事件则等待直到有事件 Dispatch Event 分发事件给相应的回调过程 4 举例 MSWindows的消息处理 WinMain CreateWindow MainWndClass SampleName 窗口过程的人口指针包括在WNDCLASS结构中 通过RegisterClass注册窗口类 while GetMessage XWindow的事件处理 XtIntrinsics main topWidget XtAppInitialize XtRealizeWidget while 1 这里的while循环等价于XtAppMainLoop函数 XtAppNextEvent 小结 作业组织和控制 脱机 联机 命令行 系统调用 与普通过程调用的区别 与高级语言函数库的区别 实现过程作业管理举例 DOS UNIX shell 图形用户接口 GUI 概述 XWindow MSWindows 事件驱动模式 谢谢 Thankyou
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!