《操作系统第2章用户接口.ppt》由会员分享,可在线阅读,更多相关《操作系统第2章用户接口.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第2章章 操作系统用户界面操作系统用户界面 作业的基本概念:作业、作业步、作业流作业的基本概念:作业、作业步、作业流批处理操作系统的作业管理批处理操作系统的作业管理交互式系统的命令控制界面交互式系统的命令控制界面系统调用系统调用思考思考什么是作业?什么是作业?什么是命令控制界面?什么是命令控制界面?什么是系统调用?什么是系统调用?3.1 作业的基本概念作业的基本概念1.1.作业作业 用用户户在在一一次次计计算算过过程程中中,或或者者一一次次事事务务处处理理过过程程中中,要求计算机系统所做工作的总称要求计算机系统所做工作的总称2.2.作业步作业步一个作业可划分成若干部分,称为一个作业步一个作业
2、可划分成若干部分,称为一个作业步典型的作业控制过程:典型的作业控制过程:“编译编译”、“连接装配连接装配”、“运行运行”3.3.作业流作业流典型的作业步典型的作业步编译编译连接装配连接装配运行运行目标目标程序程序段段目标目标程序程序源程序源程序输入数据输入数据子程序子程序库函数库函数动态库函数动态库函数计算结果计算结果编辑(输入,修改)源程序编辑(输入,修改)源程序编译编译连接连接运行运行成功成功编辑(输入,修改)另一源程序编辑(输入,修改)另一源程序是是否否典型的作业流一个作业另一个作业3.2 批处理系统的作业管理批处理系统的作业管理在在批批处处理理系系统统中中,作作业业是是抢抢占占内内存存
3、的的基基本本单单位位。也也就就是是说说,批批处处理理系系统统以以作作业业为为单单位位把把程程序序和和数数据据调调入内存以便执行。入内存以便执行。从从系系统统的的角角度度看看,作作业业则则是是一一个个比比程程序序更更广广的的概概念念。它它由由程程序序、数数据据和和作作业业说说明明书书组组成成。系系统统通通过过作作业业说说明明书书控控制制文文件件形形式式的的程程序序和和数数据据,使使之之执执行行和和操操作。作。3.2.1 批处理作业控制语言与作业说明书批处理作业控制语言与作业说明书1作业说明书作业说明书:表达用户对作业的控制意图表达用户对作业的控制意图内容:内容:作业的基本描述作业的基本描述作业控
4、制描述作业控制描述资源要求描述资源要求描述2 2作业控制语言作业控制语言书写作业说明书的语言称为作业控制语言(书写作业说明书的语言称为作业控制语言(JCLJCL)用用户户用用于于描描述述批批处处理理作作业业处处理理过过程程控控制制意意图图的的一一种种特殊程序特殊程序作业控制语言的类别作业控制语言的类别包括:包括:I/OI/O命令、编译命令、操作命令以及条件命令等命令、编译命令、操作命令以及条件命令等3.2.2 作业控制块与作业表作业控制块与作业表1作业控制块(作业控制块(JCB:Job Control Block)作业控制块是批处理作业存在的标志作业控制块是批处理作业存在的标志其中保存有系统对
5、于作业进行管理所需要的全部信息其中保存有系统对于作业进行管理所需要的全部信息它们被保存于磁盘区域中它们被保存于磁盘区域中(1)作业控制块的内容)作业控制块的内容作业控制块中所包含的信息数量及内容因系统而异作业控制块中所包含的信息数量及内容因系统而异较简单的系统较简单的系统较复杂的系统较复杂的系统 作业标知作业标知用户名称用户名称用户帐号用户帐号调度信息调度信息资源需求资源需求作业状态作业状态作业类别作业类别输入井地址输入井地址输出井地址输出井地址进入系统时间进入系统时间开始处理时间开始处理时间作业完成时间作业完成时间作业退出时间作业退出时间资源使用情况资源使用情况 作业控制块作业控制块JCB(
6、2 2)作业控制块的建立)作业控制块的建立 当作业开始由输入设备向磁盘的输入井传输时当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块系统输入程序为其建立一个作业控制块 进行初始化进行初始化 初始化的大部分信息取自作业说明书初始化的大部分信息取自作业说明书 (3)作业控制块的使用)作业控制块的使用需要访问作业控制块的程序需要访问作业控制块的程序系统输入程序系统输入程序作业调度程序作业调度程序作业控制程序作业控制程序系统输出程序等系统输出程序等(4 4)作业控制块的撤消)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业完成后,其作业控制块由系统输出程序撤消
7、作业控制块被撤消后其作业也不复存在作业控制块被撤消后其作业也不复存在 作业在系统中存在与否的唯一标志是(作业在系统中存在与否的唯一标志是()。)。A、源程序、源程序 B、作业说明书、作业说明书 C、作业控制块、作业控制块 D、目的程序、目的程序当作业进入完成状态,操作系统(当作业进入完成状态,操作系统()。)。A将将删删除除该该作作业业并并收收回回其其所所占占资资源源,同同时时输输出出结结果果 B将将该该作作业业的的控控制制块块从从当当前前作作业业队队列列中中删删除除,收收回其所占资源,并输出结果回其所占资源,并输出结果 C将收回该作业所占资源并输出结果将收回该作业所占资源并输出结果 D将输出
8、结果并删除内存中的作业将输出结果并删除内存中的作业3.2.3 作业的输入作业的输入 作作业业的的输输入入将将作作业业程程序序、数数据据和和作作业业说说明明书书从从输输入入设备(例如键盘)输入到外存,并形成初始信息设备(例如键盘)输入到外存,并形成初始信息1 1作业输入方式作业输入方式联机输入方式联机输入方式脱机输入方式脱机输入方式直接耦合方式直接耦合方式SPOOLingSPOOLing系统系统(1 1)联机输入方式)联机输入方式用户和系统通过交互会话来输入作业用户和系统通过交互会话来输入作业外围设备直接和主机连接外围设备直接和主机连接(2 2)脱机输入方式)脱机输入方式为了解决单台设备联机输入
9、时的为了解决单台设备联机输入时的CPUCPU浪费问题浪费问题(3 3)直接耦合方式)直接耦合方式 把把主主机机和和外外围围低低档档机机通通过过一一个个公公用用的的大大容容量量外外存存直直接耦合起来接耦合起来主主 机机公用存储器公用存储器低档低档PC机机低档低档PC机机(4 4)SPOOLingSPOOLing系统系统 SPOOLing系统工作原理系统工作原理全称:全称:Simultaneous Peripheral Operations On-LineSimultaneous Peripheral Operations On-Line含义:含义:同时的外围设备联机操作(假脱机技术)同时的外围设
10、备联机操作(假脱机技术)包括:包括:输入程序模块输入程序模块输出程序模块输出程序模块作业调度程序作业调度程序SPOOLing系统工作原理(续系统工作原理(续1)作作业业执执行行前前用用慢慢速速设设备备将将作作业业预预先先输输入入到到后后援援存存储储器(如磁盘、磁鼓,称为输入井)中,称为预输入器(如磁盘、磁鼓,称为输入井)中,称为预输入作业运行后,使用数据时,从输入井中取出作业运行后,使用数据时,从输入井中取出作作业业执执行行不不必必直直接接启启动动外外设设输输出出数数据据,只只需需将将这这些些数据写入输出井中数据写入输出井中作作业业全全部部运运行行完完毕毕,再再由由外外设设输输出出全全部部数数
11、据据和和信信息息,称为缓输出称为缓输出实现了对作业输入、组织调度和输出的统一管理实现了对作业输入、组织调度和输出的统一管理使使外外设设在在CPUCPU直直接接控控制制下下,与与CPUCPU并并行行工工作作(称称为为假假脱机)脱机)输入装置输入装置输出装置输出装置通通道道通通道道输出装置输出装置输出装置输出装置通通 道道 主机系统主机系统输入管输入管 输出管输出管理模块理模块 理模块理模块外外 设设输入井输入井 输出井输出井 SPOOLing系统系统批处理作业进入计算机系统时必须提交()批处理作业进入计算机系统时必须提交()A 可执行文件可执行文件B 作业控制控制说明书作业控制控制说明书C 源程
12、序源程序D 作业所需资源作业所需资源E 运行时的数据运行时的数据3.3 交互式系统的命令控制界面交互式系统的命令控制界面3.3.1 3.3.1 概述概述1.1.命令控制界面命令控制界面 在在操操作作系系统统与与计计算算机机用用户户之之间间提提供供易易于于理理解解的的双双向向通信机制通信机制基本任务:基本任务:解释命令,传送命令以便执行解释命令,传送命令以便执行接受系统信息,提交给用户(以响应语言的形式)接受系统信息,提交给用户(以响应语言的形式)交互式命令的接口复杂交互式命令的接口复杂 含含功功能能结结构构,可可能能问问题题的的处处理理,如如各各种种约约定定、前前端端处理、命令日志、命令注解、
13、宏命令及命令组等处理、命令日志、命令注解、宏命令及命令组等交交互互式式控控制制灵灵活活方方便便,可可以以随随时时进进行行各各种种处处理理,排排除问题,方便调试;系统利用率低除问题,方便调试;系统利用率低接接口口包包括括:一一组组联联机机命命令令,终终端端处处理理程程序序,命命令令解解释程序释程序2命令语言命令语言命令语言规定由命令语言规定由OSOS执行的一系列操作执行的一系列操作在在一一般般的的命命令令语语言言中中,用用户户通通过过打打入入称称为为命命令令行行的的一行指令来规定每一个动作一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作每一命令行以命令开始,它标识所要执行的操作
14、大多数命令是用运行一个程序来执行所请求的操作大多数命令是用运行一个程序来执行所请求的操作多多数数命命令令行行中中要要给给出出一一些些参参数数,每每一一命命令令语语句句实实际际上上是带有参数的一个过程调用是带有参数的一个过程调用一个命令语言通常提供下列几组命令:一个命令语言通常提供下列几组命令:(1 1)系统访问命令)系统访问命令登录命令,如,登录命令,如,loginlogin等等撤离命令,如,撤离命令,如,logoutlogout等等(2 2)文件管理命令)文件管理命令 (3 3)编辑、编译和执行命令)编辑、编译和执行命令(4 4)询问命令)询问命令(5 5)操作员专用命令)操作员专用命令命令
15、语言命令语言(续(续1)典型命令实例:典型命令实例:(1)UNIX系统:系统:ls-l(2)DOS系统系统dir c:(3)VAX/VMSrun mypro命令语言命令语言(续(续4)3交互式系统的历史与展望交互式系统的历史与展望六六十十年年代代中中期期:问问答答式式对对话话、文文本本菜菜单单或或命命令令语语言言,基于命令行界面的交互式系统基于命令行界面的交互式系统七七十十、八八十十年年代代:图图形形用用户户界界面面时时代代,形形成成WIMPWIMP标标准准,以以窗窗口口(windowswindows)、图图标标(iconicon)、菜菜单单(menumenu)、指指点点装装置置(pointi
16、ng pointing devicedevice)为为基基础础的交互式系统,实际行动代替复杂语法的交互式系统,实际行动代替复杂语法未来的交互式系统必将是多通道的未来的交互式系统必将是多通道的 通通过过各各种种不不同同的的人人体体通通道道,如如语语音音、手手势势、身身体体语语言等交互,大大提高交互的自然性和高效性言等交互,大大提高交互的自然性和高效性 遵遵循循以以人人为为中中心心的的自自然然交交互互特特点点,实实现现人人与与系系统统的的无障碍自然交互无障碍自然交互交互作业的特点是()交互作业的特点是()A 成批处理成批处理B 采用人机对话方式采用人机对话方式C 多道处理多道处理D 自动控制自动控
17、制E 交互性交互性 用用户户在在自自己己的的用用户户终终端端上上连连续续键键入入组组成成作作业业的的若若干干命命令令,无无需需等等待待一一条条命命令令是是否否执执行行完完毕毕。所所键键入入的的命命令令形形成成了了一一道道命命令令串串,存存储储在在一一个个系系统统缓缓冲冲区区中中,由由操操作作系系统统自自动动地地对对这这些些命命令令逐逐步步提提取取并并解解释释进进行行,最最后后向向用用户户提提供供处处理理结结果果。在在这这样样的的多多用用户户、多多作作业业、多多命命令令串串的的系系统统中中,前前后后台台作作业业的的执执行行调调度度()。)。A、完全由操作系统自动完成,无需用户干预、完全由操作系统
18、自动完成,无需用户干预 B、由用户干预完成、由用户干预完成C、由系统和用户干预结合完成、由系统和用户干预结合完成 D、全由用户完成、全由用户完成3.4 系统调用系统调用3.4.1 3.4.1 系统调用简介系统调用简介系系统统调调用用,是是用用户户在在程程序序中中调调用用操操作作系系统统所所提提供供的的一一些子功能些子功能这是特殊的过程调用,由特殊的机器指令实现这是特殊的过程调用,由特殊的机器指令实现这个指令还将系统转入管态这个指令还将系统转入管态系系统统调调用用程程序序是是一一个个低低级级过过程程,只只能能由由汇汇编编语语言言直直接访问接访问系统调用是操作系统提供给编程人员的唯一接口系统调用是
19、操作系统提供给编程人员的唯一接口利利用用系系统统调调用用,动动态态请请求求和和释释放放系系统统资资源源,完完成成与与硬件相关的工作以及控制程序的执行等硬件相关的工作以及控制程序的执行等 每每个个操操作作系系统统都都提提供供几几百百种种系系统统调调用用,包包括括:外外存存文文件件与与目目录录的的读读写写,各各种种I/O设设备备的的使使用用,在在程程序序中中启启动动另另一一个个程程序序,查查询询和和统统计计系系统统资资源源使使用用情情况况等等等等实实际际上上系系统统调调用用语语句句本本身身是是硬硬件件提提供供的的(机机器器指指令令),但其所调用的功能是操作系统提供的,但其所调用的功能是操作系统提供
20、的每每种种机机器器的的机机器器指指令令集集中中都都有有一一条条系系统统调调用用指指令令(访管指令)(访管指令)汇编程序例子:打印汇编程序例子:打印5个字符个字符 MOVE AX,PARA1 MOVE BX,PARA2 INT 21H系统调用的例子系统调用的例子 高级语言例子:打印高级语言例子:打印5个字符个字符 char buff4=“abcde”;for(i=4;i=0;i-)print(buffi);.i=4printf(.)i+(1)源程序段)源程序段INT.(2)printf目标代码目标代码INTi=4i+.INOUT.(3)程序段编译产生的程序段编译产生的可执行代码可执行代码(4)操
21、作系统操作系统内部代码内部代码嵌入后嵌入后该系统调该系统调用的操作用的操作系统内部系统内部实现代码实现代码.功能号功能号 地址地址显显 示示打打 印印读文件读文件.OS的系统调用分支表的系统调用分支表OS代码代码显示显示打印打印读文件读文件OSINT.用户程序用户程序系统调用的分类系统调用的分类将系统的功能分为两部分:将系统的功能分为两部分:系统自身所需要的系统自身所需要的作为服务提供给用户的作为服务提供给用户的OS的系统调用的系统调用:进程控制类系统调用进程控制类系统调用文件操作类系统调用文件操作类系统调用进程通信类系统调用进程通信类系统调用设备管理类系统调用设备管理类系统调用信息维护类系统
22、调用信息维护类系统调用3.4.2 系统调用的处理过程系统调用的处理过程为了保证为了保证OSOS不被用户程序破坏不被用户程序破坏 不允许用户程序访问不允许用户程序访问OS的系统程序和数据的系统程序和数据 那么,怎样得到系统服务的呢?那么,怎样得到系统服务的呢?需要有一个类似于硬件中断处理的处理机构需要有一个类似于硬件中断处理的处理机构当用户使用操作系统调用时,产生一条相应的指令当用户使用操作系统调用时,产生一条相应的指令处处理理机机在在执执行行到到该该指指令令时时发发生生相相应应的的中中断断,并并发发出出有有关的信号给该处理机构关的信号给该处理机构该该处处理理机机构构在在收收到到了了处处理理机机
23、发发来来的的信信号号后后,启启动动相相关关的处理程序去完成该系统调用所要求的功能的处理程序去完成该系统调用所要求的功能 system call 入口地址表入口地址表 (1)保护处理保护处理现场现场(2)取系统调取系统调用功能号并用功能号并寻找子程序寻找子程序入口入口(3)返回返回A0A1Ai AnA0 A1AiAnSub0Sub1SubiSubn 用户程序用户程序 陷入处理机构陷入处理机构 系统子程序系统子程序系统调用的处理过程系统调用的处理过程3.4.3 Win32 应用程序接口应用程序接口在在Windows中中,定定义义了了一一系系列列程程序序(应应用用程程序序接接口口Win32 API)
24、,提供,提供OS服务服务这这个个接接口口(部部分分)支支持持Win95 以以后后的的Windows版版本本Win32 API调用的种类非常多,以千计算调用的种类非常多,以千计算在在Windows中中不不可可能能分分辨辨出出哪哪些些是是系系统统调调用用(被被内内核执行),哪些是用户空间的库调用(不涉及硬件)核执行),哪些是用户空间的库调用(不涉及硬件)下列下列C语言库函数哪些涉及系统调用()语言库函数哪些涉及系统调用()A sin()()B printf()()C abs()()D sqrt()()E getch()总结总结什么是作业?什么是作业?作业的组成和标识?作业的组成和标识?作业的输入方式及各自特点?作业的输入方式及各自特点?命令控制界面的类别?命令控制界面的类别?系统调用的原理?系统调用的原理?