计算机操作系统考研资料讲义2docWord文档下载推荐.docx
《计算机操作系统考研资料讲义2docWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机操作系统考研资料讲义2docWord文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
4、作业流(jobstream)
在系统控制下,将一批作业依此输入到后援存储器中等待运行,这样就形成了一个作业流。
5、作业类型(jobtype)
用户作业分为两大类:
分别为批量型作业和终端型作业
(1)批量型作业可分为两种,利用作业说明书实行自动控制方式的作业称为脱机作业;
利用控制台键盘操作命令直接控制的作业称为联机作业。
(2)终端型作业又称为交互型或会话型作业,通常在分时操作系统环境下运行,用户在终端上利用键盘命令控制和监督作业的运行,而系统把作业运行的情况和结果也及时反馈在用户终端上。
在大型的操作系统中,常把终端用户作业称为“前台”作业,把批量型作业称为“后台”作业。
2.1.2作业管理的任务
作业管理的任务是为方便用户建立作业,组织调用系统内部资源执行,并在完成任务后将其撤消。
1、作业的建立过程
一个作业的建立过程一般是作业的输入和系统建立起作业控制块
(JCB—jobcontrolblock)两个子过程。
如图2-b所示
作业输入
作业管理程序
作业建立
建立JCB
作业注册程序
图2-b作业建立过程
2、作业输入方式
作业输入方式可分为五种,即联机输入方式、脱机输入方式、直接藕合方式、SPOOLing(simultaneousperipheraloperationsonline)系统和网络输入方式。
(1)联机输入方式
联机输入方式大多用于交互式系统中,用户和系统通过交互会话方式输入作业。
近年来由于多媒体技术(Multi-Media)的发展,逐步形成了手写输入、语音输入、光电输入等输入方式。
(2)脱机输入方式
脱机输入方式又称为预处理方式,脱机输入方式利用低档个人计算机进行输入处理。
在低档个人机上,用户通过联机方式把作业首先输入到后援存储器,如磁盘或磁带上;
然后,用户把装有输入数据的后援存储器拿到主机的高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
脱机输入方式的优点是解决了作业的快进快出,相应提高了CPU的利用率。
但其缺点也是明显的,主要有:
(a)需要人工干预,这使得作业的响应时间和系统的出错率受人的因素影响。
(b)增加了作业周转时间,在这种方式下,必须将作业的全部输入输出信息放入磁盘或磁带后,才能拿到主机上,这样增加了作业的周转时间。
(c)不易实现优先级调度算法,这种方式的作业顺序是事先安排好送入磁带或磁盘上的,只有等前一批作业处理完成,下一批作业才能开始处理。
(3)直接藕合方式
它用一个大容量的共用存储器,把多台用作输入的低档机、共用存储器和主机固定连接起来,保留了脱机输入方式的优点,又克服了该方式需人工干预的缺点。
工作方式如图2-c
低档PC机
共用存储器
主 机
图2-c 直接藕合输入方式
(4)假脱机输入方式
(a)假脱机技术(SPOOLing或SPOOLer)
SPOOLing技术实际上是一种外围设备同时联机操作技术(simultaneousperipheraloperationon-line)的缩写。
又称为排队转儲技术。
(b)工作原理
SPOOLing系统既不同于脱机方式,也不同于直接藕合方式。
它在输入和输出之间增加了“输入井”和“输出井”的排队转儲环节,以消除用户的“联机”等待时间。
在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置中读入输入井缓冲区。
当缓冲区满时,由写过程将信息从缓冲区写到外存的输入井中,读过程和写过程反复循环,直到一个作业输入完毕。
当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存输入井并调用中断处理程序结束该次输入。
然后,系统为该作业建立作业控制块,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存运行。
系统在管理输入井过程中可以“不断”读入输入的作业,直到输入结束或输入井满而暂停。
如图2-1所示。
SPOOLing
作业1
作业2
。
作业n
输入读程序
作业调度
作业执行
.
输出写程序
图2-1SPOOLing工作示意图
(5)网络输入方式
当用户需要从计算机网络中将一台计算机的信息要求传送到联网的另一台主机上进行浏览(Browser)操作或执行下载(Download)等任务要求时,就构成网络输入方式。
主要涉及网络通信技术。
2.1.3作业管理的功能
(1)分门别类地组织控制作业的运行,解决作业的输入输出问题;
(2)了解和申请机器资源;
(3)系统工作状态的记录、跟踪、监控及调试;
(4)提供用户或程序员在程序工作模式下的服务功能。
2.1.4操作系统是用户和计算机之间的接口
操作系统作为用户提供两种接口,其中一类是为一般用户提供的操作命令接口,另一类为提供给编程人员的系统调用(systemcall)接口。
1、命令接口
命令接口包括联机的键盘操作命令和脱机的作业控制命令或称作业控制语言。
一般的操作系统仅提供其中之一,仅仅在一些大型机或巨型机的操作系统才提供脱机的作业控制命令。
2、系统调用
(1)系统调用的含义
系统调用是操作系统为编程人员提供的接口,各种操作系统的核心中都设计有一组一组的用于实现各种系统功能的子程序作为机器指令的扩充。
系统将这些子程序“开放”给用户,方便用户可靠地调用系统有关的资源,而用户不必从头熟悉或重新编写子程序。
每当用户在程序中需要操作系统提供某种服务是,便可利用一条条相应的系统调用命令,去调用所需的系统过程。
(2)系统调用的处理过程
为了保障操作系统的安全性,使得操作系统的程序不被用户程序破坏,一般操作系统都不允许用户程序访问操作系统的系统程序及数据。
在机器的指令系统中有一条称为“访管”的指令,编程人员可以利用这条指令来访问操作系统并向它提出要求。
访管指令有“参数区”、“参数”和“操作数”组成。
“操作数”用来表示请求操作系统所要干的工作,并说明是否要有参数区和具体参数。
参数或参数区的首址通常约定放在某个通用寄存器中,但CPU执行到“访管”指令时,将“访管”指令存入主存中的约定单元,然后产生“访管”中断,引出操作系统来处理“访管”中的具体要求。
处理过程如图2-d
(1)保护处理机现场
(2)取系统调用功能号并寻找子程序入口
(3)返回
A0
A1
Ai
An
Sub0
A0
A1
Ai
An
Sub1
Subi
Subn
用户程序访管处理机构系统子程序
。
Systemcall
图2-d系统调用的处理过程
(3)名词解释
访管指令—把由于系统调用引起的处理机中断的指令称为访管指令。
广义指令—利用“访管”指令来定义的指令称为广义指令。
是通过执行相应的程序模块来实现的,它是机器指令的扩充。
(4)广义指令与宏指令的区别
宏指令(macro-instruction)是源程序中的某一宏(macro)定义的缩写。
它是作为用户语言被处理,作为开式子程序展开到目标程序中,往往可由用户自行定义。
2.2用户界面的任务和功能
2.2.1用户界面的发展
1.第一代用户界面
第一代用户界面为一维界面,主要有命令行界面和编程人员在程序中的系统调用,如DOS及UNIX均采用此种界面方式。
2.第二代用户界面
第二代用户界面为二维界面又称为图形界面,以窗口(windows),图标(icon)、菜单(menu)为典型特征,由APPLE公司开创,以Microsoft公司的MS-Windows为里程碑,在UNIX系统下有
X-window。
3.第三代用户界面
第三代用户界面为三维界面,又称为虚拟现实(virtualreality),如三维动画设计、可视电话及网络视频会议等。
2.2.2界面管理的任务
作为面向最终用户的“作业”管理来看,用户界面已经成为计算机系统的一个重要组成部分,是计算机科学与心理学、图形艺术和人类学的交叉研究领域。
寻求最佳的人机通信方式已是多媒体、虚现实和科学计算、可视化等技术所追求的目标,也是界面管理的、最终任务。
2.2.3界面管理的功能
1.实现高效的人机通信
将人的听、说、手和眼等协同动作,采用多通道、以自然的方式交互,可以实现高效的人机通信。
2.改善计算机的可用性、可学性和有效性
要求计算机能理解人的要求,甚至能纠正人的错误,智能化的界面是一个重要方向。
3.支持三维及多媒体技术
需要有语音、图像和动画等多媒体支持。
4.为广大用户提供适应不同应用的众多界面构造工具及语言
现有的GUI的开发工具有VisualBasic、VisualC++、VisualFoxPro、X-window等。
2.2.4用户界面研究
1.WIMP界面
WIMP界面是指窗口(windows)、图符(icons)、菜单(menu)、指点装置(pointingdevices),是目前个人计算机流行的用户界面。
2.WYSIWYG技术
WYSIWYG—whatyouseeiswhatyouget即为“所见即所得”
3.多通道
多同道—multi-modaluserinterface,MMI
4.人机询问技术
人机询问技术—man-machineinterrogationtechnique,MMIT
人机交互技术的新发展,使机器能象人一样地进行“交谈”。
5.Post-WIMP时代(后WIMP时代)
同时操作多个外设,例如多个传感器、多个通道、多个人同时使用以至能识别人的双手及人的形体语言的多模式识别。
6.X-window
X-window是1986年由美国MIT的雅典娜工程开发小组为了提供一个独立于硬件的用户图形界面而开发成功的,广为流行的是1988年3月发行的X11.2版本。
尤其与UNIX操作系统结合,可运行于IBM-PC到各种大中型机以及巨型机上,它又可运行在X终端上。
同时它也给程序员提供了工具箱(toolkit)和事件驱动型编程模型。
6.虚拟现实
虚拟现实(virtualreality,VR)是用计算机技术来生成一个逼真的三维视觉、听觉、触觉、嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界进行浏览和交互考察。
实际应用的虚拟现实系统大体可分为:
(1)桌面虚拟现实系统
(2)沉浸虚拟现实系统
(3)分布式虚拟现实系统
(4)增强现实
2.3用户界面的设计特点
1.计算机不断适应人的需求,以方便用户为目标。
2.用户界面设计是计算机科学与心理学、图形艺术和人类学的结合。
3.多窗口系统一般都采用事件驱动(eventdrive)的控制方式。
2.4作业调度
2.4.1作业调度功能
(1)采用作业控制块(JCB)表格,记录系统中各作业工作状况;
(2)根据选定的调度算法,从后备作业中选出一部分(多道情况)或一个作业投入运行;
(3)为被选中的作业做好运行前的准备,包括选择系统相应的“进程”执行单元以及为这些“进程”分配系统资源,首先判断用户的资源要求是否能够满足;
(4)作业处理后的善后处理工作,例如,回收资源和记帐等工作。
2.4.2作业说明书内容举例
作业说明书主要包括三方面的内容,即作业的基本描述、作业控制描述和资源要求。
如图2-e
用户名
作业名
作业基本情况描述使用语言名
允许最大处理时间
等等
控制方式
作业控制描述操作顺序
出错处理
要求处理时间
内存空间
作业资源要求描述外存类型和数量
处理机优先级
库函数或实用程序
图2-e作业说明书的主要内容
2.4.3作业调度算法
1.先来先服务(firstcomefirstserve,FCFS)
按作业进入输入井的先后次序安排。
优点是实现简单,用先进先出(firstinputfirstoutput,FIFO)队列顺序工作,对相同的或均衡的作业较为合理,缺点是不利于运行时间短的作业。
2.最短作业优先法(shortestjobfist,SJF)
(1)概念
(a)作业i的周转时间Ti=作业完成时间-作业提交时间
(b)平均周转时间T=1/n∑Ti
(c)平均带权周转时间W=1/n∑Ti/tI
ti为作业的实际运行时间。
2.最短作业优先法
最短作业优先法也就是选ti值小的优先,也就是只考虑运行时间。
优点是短作业得到了优先执行,提高了系统的效率。
缺点是当作业不断进入时,长的作业有可能长时间排不上队
3.最高响应比优先法(highestresponse-rationext,HRN)
最高响应比优先法(HRN)是对FCFS方式和SJF方式的一种综合平衡。
HRN调度策略调度同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。
响应比或称响应系数比R定义下:
R=(W+T)/T=1+W/T
其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。
其优点是同时具有FCFS算法及SJF算法的优点,缺点是实现复杂,每次调度前要对所有作业扫描一遍,比较以后再调度。
4.定时轮转法
按时间片轮转,可分为短时间的固定时间片(如,UNIX操作系统时间片为几毫秒至几十毫秒)和长时间的不固定时间片(如:
Windows操作系统的抢占式多任务方式)。
5.优先数法
按优先数排队次序工作。
分静态和动态:
静态是在排队前计算优先数,动态是在调度时计算优先数。
又可分为用户给定优先数(反映用户要求)和系统给定的优先数,例如,系统给定前台和后台工作的优先级,一般前台优先。
6.事件驱动法
MS-Windows采用的任务驱动方式,采用不固定的时间片分配来完成多任务。
每当发生一些事件(event)就进入相应的事件调度程序。
系统通过事件驱动程序执行任务。
7.各种不同类型作业搭配调度算法
一个操作系统的作业调度往往是综合性的,作业调度的原则主要要考虑的因素有CPU的运行时间、对内存的要求、对外设的要求,对I/O吞吐量的要求及等待时间等等。
例如,JUNEOS,其优先数(P)、等待时间(tw)、要求运行时间(tr)以及输出量(E)的调度算法如下:
P=tw2-tr-16E
2.5操作系统常用命令分类简介
2.5.1操作系统是人机交互的接口
计算机操作命令可分为联机命令、Shell程序语言命令和脱机作业控制语言命令。
1.联机命令
联机命令用于人机交互系统中,联机命令接口包括联机命令、终端处理程序和命令解释程序。
2.Shell程序命令
Shell程序命令是利用现有计算机语言功能,有会话式和命令文件两种输入方式,提供给用户的一种综合应用。
3.脱机作业控制语言命令
在批处理操作系统中,用户利用作业控制语言(jobcontrollanguage、JCL)命令,写成作业说明书提交给系统管理员输入系统,由系统按照作业说明书上的命令,逐条解释执行。
用户一旦把作业给系统后,便失去了自己干预作业交互的能力。
这种命令接口可称为脱机命令接口。
4.UNIX操作系统的命令分类
(1)有关文件和目录的管理
(2)有关文件的处理和编辑
(3)有关文件系统的装卸
(4)有关系统管理和工作状态
(5)有关通讯和个人通讯
(6)有关硬件设备处理
(7)有关程序开发
(8)其他杂项
2.5.2常用命令对比
计算机操作系统命令的常用命令对比见表2-1
2.5.3UNIX,Linux联机命令手册索引
usr/man目录下分类:
(1)man1系统常用命令
(2)man2系统调用
(3)man3文本调用
(4)man4特殊文件(设备管理)
(5)man5文件格式
(6)man6游戏说明
(7)man7杂项(UNIX)
宏命令包(Linux)
(8)man8系统管理与维护工具
(9)man9核心例程(Linux)
2.6Shell命令解释和控制语言
Shell(外壳程序)语言最早是由UNIX操作系统提供给用户使用的命令解释程序集合。
在1978年由Bourne开发而成,称为B_Shell。
1983年joy等人在第六版基础上又开发成C_Shell,最大的特点是采用了C语言的语法词法结构。
主要用在BSD系列的UNIX系统中。
MS-DOS在5.0的版本以后,也提供了类似的外壳语言。
2.6.1DOS操作系统Shell语言
DOS操作系统的Shell语言由DOS命令集和及相应的控制命令(批处理子命令)组成,DOS提供了7条控制命令,分别为ECHO(显示开关)、FOR(重复执行)、GOTO(控制转向)、IF(条件执行)、PAUSE(暂定系统运行)、REM(显示注释信息)和SHIFT(移位替换参数)等。
AUTOEXEC.BAT是批处理文件的一个典型例子。
2.6.2作业管理和进程管理的类比说明
作业调度又称为高级处理机管理或宏处理机管理。
其主要工作是确定计算机系统中哪些作业以至哪个作业将获得CPU的服务工作;
而进程调度又称为低级处理机管理或微处理机管理,其主要工作是确定计算机系统中哪些作业的进程将获得CPU的服务工作。
2.7重点小结
1.熟悉人机界面的发展特点。
2.利用种操作系统(DOS、Windows、UNIX或Linux),来体会操作系统的功能。
3.掌握系统调用的原理及基本的系统调用的使用。
4.通过上机练习掌握作业调度算法的模拟编程。
精品文档