文档库 最新最全的文档下载
当前位置:文档库 › 批处理作业和交互式作业

批处理作业和交互式作业

批处理作业和交互式作业
批处理作业和交互式作业

题目三

在支持批处理与分时的操作系统中,用户如何在终端上提交批处理作业和交互式作业?

作业可以分成批处理作业和交互式作业两大类

第二节批处理作业的管理

计算机系统可成批地接受采用批处理控制方式组织的作业,但批处理作业在进入计算机系统之前,用户除了要准备好源程序和数据外,还必须用作业控制语言来书写一份作业控制说明书,规定如何控制作业的执行。

一、作业控制语言

在不同的计算机系统中,操作系统提供的作业控制语言可能是不同的,但它们的基本特征是类似的。作业控制语言由若干控制语句组成,每个控制语句除含有表示语句特征的关键字外,还可以有指示控制要求用的若干参数。例如,表示需进行编译工作的控制语句中,应该有指示“编译”特征的关键字,另外还应有指出源程序名、目标程序文件名等参数。关于控制语言祥细信息可查阅有关资料。

一个作业的每一个作业步都可以用一个控制语句来表示。于是用户可以用作业控制语言中若干控制语句组成一份控制作业执行的“作业控制说明书”,指出自己的作业要经历哪些步骤以及执行顺序。

二、批处理作业的输入

用户根据自己的解题要求组织作业,把每一个作业的源程序、数据和作业控制说明书都定义为文件,这些文件组织在一起构成一个作业的信息。作业信息可存储在存储介质上(例如磁带、磁盘)交给操作员,操作员收集到若干用户作业后可将它们依次排列组成作业流。在采用SPOOLing系统中,操作员只要输入一条“预输入”命令启动“

预输入程序”工作,就可把作业流中的作业信息存放在输入井中等待处理。

三、批处理作业的调度

1.作业调度的功能

作业调度程序作为一个系统进程在系统中运行,它是在系统初始化时被创建的,具有如下功能:

①记录系统中各作业的情况。为此,系统为每个作业建立一个作业控制块,在块中登记作业的有关信息。作业控制块是作业调度程序用来实现作业调度和管理的数据结构。

②按照系统提供的调度算法从后备队列中选取作业投入运行。通常在输入井中有一批作

业处于后备状态,而只有少数几个作业处于执行状态。作业调度程序的主要功能就是按照一定的调度算法从后备队列中选取若干个作业投入运行。

③给被选中的作业分配必要的资源。一个作业从后备变成运行状态之前,作业调度程序应为该作业建立相应进程,并分配必要的内存、外围设备等资源。至于处理器则由进程调度程序分配。

④为作业开始运行作好准备工作。将选取的作业控制块传递给作业运行控制系统,随时将作业的变化情况记入作业控制块(如状态改为执行状态);构造和填写作业运行时所需表格,建立负责其运行控制的作业运行控制程序等。

⑤作好作业完成时的善后工作。作业运行可能正常结束或非正常中止,作业调度收回分配的资源,包括作业控制块。对非正常结束,还应给出引起错误的原因,以便用户纠正错误,重新将作业投入运行。

2.后备作业队列和作业控制块

系统通过输入程序把许多用户作业信息全部输入到输入井之后,形成一个等待运行的后备作业队列,这个队列的构成原则可按作业优先数大小顺序排列,也可按每个作业到来的时间顺序排列。

系统还要为每一个作业建立一个单独的作业控制块( JCB Job-Control- Block),这时录入输入井的作业信息才成为后备作业队列中的一员。每个作业的JCB是在该作业进入后备状态时由系统所建立,在该作业退出系统时由系统随之撤销。JCB 是描述-个作业生存期的特征行之有效的方法。在一个作业的生命周期中,对作业运行控制系统而言,JCB 是每个作业存在的惟一标志,系统关心的不是作业的具体功能和内部操作,而是作业的外部特性。这些特征为系统提供了必要的管理和控制信息。JCB 通常包括作业标识信息、作业调度参数、资源申请和分配使用情况、控制信息等。系统通过JCB 和后备队列表实现对作业的管理和控制。JCB和后备队列表如图6.2所示。

作业控制块(b)后备作业队

图6.2 JCB和后备队列表

每当SPOOLing系统输入一个作业后,就应在后备队列中形成一个JCB,并将作业个数计数加1。

3.作业调度算法

作业调度程序的功能之一是把处于“后备”状态的作业变成“执行”状态,即从后备队列中选择若干个作业投入运行。对于小型系统来说,由操作员安排好顺序,由作业调度程序依次选取作业运行即可。但对于大型系统,必需把所有作业预先存入输入井中,然后由作业调度程序根据调度算法选择合适的作业投入运行。

作业调度算法的设计要考虑如下原则:公平性、平衡资源使用、极大的流量。下面是常用的调度算法。

①先来先服务算法。这种算法是按作业到来的先后顺序选取作业运行。这种方法照顾等候时间量长的作业,而不管它要求的服务时间是多少。这是一个简单省事的调度算法。由于没有考虑各个作业的运行特性和资源要求的差异,因此效率不高。在不太复杂的系统中常常采用这种算法。

②计算时间短的作业优先算法。衡量一个作业的长短是以要求运行的时间量为标志的。每个申请运行的作业应提出所需要的运行时间,最短作业优先调度算法总是选取运行时间最短的作业投入运行。由于任何作业,只要它处在运行状态,就会推迟后备队列中的作业,因此要使等待的作业尽量少,就得牺牲那些运行时间长的作业。这种算法对那些运行时间短的作业有利,系统的周转率高,实现容易,但忽视了作业的等待时间,对长作业不利。此外,一旦长的作业开始运行,其他作业都要一直等到它运行完毕为止。

③响应比高者优先算法。先来先服务和最短作业优先这两种算法都具有片面性。前者只考虑作业的等待时间,而完全忽视其服务时间;后者则正好相反。于是人们设计了响应比最高者优先算法。响应比是指作业等待时间与作业运行时间的比值,即响应比=作业等待时间/作业运行时间

当多个用户共享1台处理器时,作业的等待时间总是大大高于作业运行时间,这种调度算法优先选取响应比最高的作业投入运行。由响应比可以看出,一个作业的响应比随着等待时间的增加而增加,它兼顾了运行时间短和等待时间长的作业,是一个较为合理的折衷方法。

④优先数调度算法。当采用优先数调度算法中,优先数的选择多种多样,最简单的一种是在作业进入系统的同时,由用户自己给出作业的优先数。但这样做可能造成一些混乱,调度算法无法实施。在一些系统中,作业的优先数由系统根据作业的属性确定。这些属性包括作业运行时间的长短、内存空间的需求量、作业到达时间、对系统其他资源要求多少等。如Lancaster大学的JUNE系统,优先数计算公式为:

优先数=(等待时间)的平方 - 要求运行时间 - 16×输出量

其中等待时间是指作业在后备队列中巳经等待的时间(以分计算),要求运行时间(以秒计算)和输出量(以行计算)是根据作业控制块中所记录的相应值确定的。由上式可看出,随着等待时间的增加,其优先数也不断发生变化,此系统对短作业有利,但也不“抛弃”等待时间长的长作业。

作业优先数的规定随着系统而异,如外围设备优先,最大(小)内存优先、最长(短)时间优先等等,选取调度算法应全盘考虑,不应片面强调某一特殊情况。

⑤均衡调度算法。根据作业对资源的要求进行分类,作业调度轮流地从不同类的作业中去挑选作业,尽可能地使得使用不同资源的作业同时执行。这样不仅可使系统的资源都在被使用,而且可以减少作业等待使用同类资源的时间,从而加快了作业的执行。

四、批处理作业的控制

-个批处理控制方式的作业被作业调度选中后,操作系统按照户

的作业控制说明书中所规定的控制要求去控制作业的执行。一个作业往往要分几个作业步执行,一般说,总是按作业步的顺序控制作业的执行,一个作业步执行结束后,就顺序取下一个作业步继续执行,直到最后一个作业步完成,整个作业就执行结束。当一个作业执行结束后,系统收回作业所占的资源且撤离该作业,作业执行的结果在输出井中等待输出。

如果作业执行到某个作业步时发生错误,则要分析错误的性质,对某些用户估计到的错误且用户己在作业控制说明书中提出的处理办法的,系统应按用户的说明转向指定的作业步继续顺序执行,直至作业执行结束。

当一个作业撤离后,应让作业调度程序再选择作业装入内存运行。图6.3是作业的控制流程。

第一节作业和交互式作业管理

人们花费很多力量去研究、设计操作系统,其目的之一就是为了

方便用户的使用,无需操作员干预,系统就能顺利运行。我们对每台计算机的印象——使用是否方便、可靠性如何和功能是否齐全,都是通过操作系统观察计算机而得出的。用户通过操作系统使用和控制计算机,不再与裸机发生直接关系,因而操作系统便成了用户和计算机之间的接口,而作业管理又是操作系统和用户最主要的界面。在操作系统的协助下,用户可将自己的意图告诉计算机,同时用户也能及时了解自己作业的运行情况。于是用户可以方便灵活、安全可靠、有效地使用计算机系统的资源来解决问题。在现代计算机系统中,通常为用户提供了程序员级接口、联机用户或交互式接口、脱机或批处理用户等三种。其中,程序员级接口用于高级语言使用,本章讨论后两种方式,即交互式作业和批处理作业的管理。

一、作业和作业步

在操作系统中,常常把用户要求计算机完成的一个计算任务或事务处理称为一个作业。一个作业是一个独立的计算任务或事务处理,不与其他作业发生直接联系。它可能包括几个程序的相继执行,例如,用高级语言写成了程序的编辑、编译及执行。一个作业也可能需要同时执行为同一任务而协同工作的若干程序。例如其中一个程序控制打印数据,另一个程序

则计算并产生输出。由此可以看出,作业比程序具有更广泛的概念。

处理一个作业,往往要求计算机系统进行编辑、编译、连接装配、运行等几个步骤。其中每一步处理都要申请不同的资源。为了便于操作系统进行资源分配和作业调度,通常把一个作业分成若干个顺序处理的相对独立的工作,即作业步。

每个作业步都有一个相应的程序的执行来完成的,例如,“编译”作业步执行编译程序,对源程序进行编译并产生浮动的目标程序;“

连接装配”作业步执行装配程序,把由编译产生的目标程序与系统子程序、库函数等连接装配成可执行的目标程序;“运行”作业步执行运行程序来控制目标程序的执行,在执行中调用动态库函数和读入初始数据进行处理并产生处理结果。

二、作业控制方式

通常,一个典型的作业都要经历编译、连接装配和运行等几个作

业步。但是,实际上每个作业所经历的加工步骤是可以不同的。例如,用户已保存了某个作业的可执行的目标程序,那么,当需再次执行该作业时就不必对源程序再进行编译等工作,而可直接进入运行作业步对数据加工处理。计算机系统怎么知道用户作业要经历哪些作业步呢?系统显然应要求用户在提交作业时或在作业执行过程中给出说明。为此,操作系统提供两种手段:作业控制语言和操作控制命令,让用户来说明他的作业须进行加工的步骤。用户根据操作系统提供的手段来说明作业加工步骤的方式称为“作业控制方式”。

在操作系统中,为了合理、有效地调度用户作业,一般要对作业进行分类。通常将用户作业分为两大类型:批处理作业和交互式作业,并对它们采用不同的作业控制方式,即批处理方式和交互方式。

1.交互方式(或称联机作业控制方式)

采用这种控制方式,用户可以通过终端与计算机系统始终保持联系,实现人-机对话,以此控制作业的运行。这就是说,用户不仅可以通过使用键盘输入源程序,编辑和修改源程序,还可以通过键盘操作命令控制作业的编辑、编译、装配、调试、运行等过程。另外,系统也可以通过相应的终端设备把作业运行的情况和操作结果告诉用户,便于用户根据当前的情况决定下一步的工作,起到控制和监督作业运行的目的。单用户的微机系统和多用户分时系统,都为用户提供了联机控制方式,并在操作系统中为联机用户配置了键盘操作命令。显然,联机交互方式控制方便了程序的修改、调试和开发,是一种理想的控制方式。

2.批处理方式(或称脱机作业控制方式)

批处理方式也称为自动控制方式。使用这种控制方式时,要求上机的用户除了准备好程序和数据之外,还必须把作业运行的控制意图用作业控制卡或作业说明书的形式加以规定,以安排好作业的处理步骤,然后连同程序和数据一起输入到系统中,整个运行过程无须控制台的人工干预,完全由系统根据其意图实现控制作业的运行。在作业运行期间,用户是脱离计算机系统的,而由计算机自动对作业进行分步处理。

采用这种控制方式的作业完全由操作系统自动控制。因此,适合对作业的成批处理。在成批处理作业时,操作系统按各作业的作业控制说明书中的要求分区控制相应的作业,按指定的步骤去执行。这就大大提高了系统的效率,但此种方式不便于用户调试和开发软件。采用批处理控制方式的作业称为“批处理作业”。

三、作业管理的功能

根据从作业输入到作业的结果输出这一全过程,作业管理的功能

可分成以下几个方面:

1.作业的进入

早期的批处理计算机中,采用脱机方式外围设备同时操作来装入作业信息。由于它须要多台外围计算机及人工干预,并且只能适合于批处理方式,所以这种方式并不理想。由于多道程序设计系统的出现,特别是快速大容量直接存取设备的出现和广泛应用,以及通道的出现,使得并行工作问题得到了满意的解决,这就是所谓SPOOLing系统。

SPOOLing是假脱机外围设备同时操作,作业的输入输出不再单独使用外围计算机,而由主机和通道来承担。在输入井(磁盘上某些连续的缓冲区)容量允许的前提下,只要有作业提交给系统,就启动预输入程序通过指定的设备将它们录入,按一定的方式存入输入井,为每个作业填写一份输入表。输入井中往往充满着多个等待执行的作业。由于磁盘设备具有一可直接访问的特点,使得作业的处理次序可不必遵循作业的先后顺序,系统将根据资源使用情况并按一定的策略选择出作业投入运行。系统为运行的作业建立输出表,指示作业输出信息在输出井的存放位置。作业处理结束时,缓输出程序根据它们的缓输出表在指定的设备上输出有关信息,同时系统又从输入井中调入新作业进行处理,形成一个源源不断的作业处理流。作业管理的首要任务是迅速把输入设备上的作业源源不断地装入输入井,并逐步形成后备作业队列,最后从输出井中输出作业的执行结果。

2.作业调度

作业调度是“高级”管理程序,其主要任务是按照某种“合理”的策略,从后备作业队列中选择作业进入内存投入运行,并为被选中的作业分配所需的系统资源,以达到较好的系统效率。但作业调度所选中的作业只具有获得处理器的可能性,但不一定能立即获得处理器。也就是说,此时的作业仅获得了一台虚拟处理器,而不是一台物理处理器。

作业管理和进程调度之间有着密切的关系。在同一系统中它们是为了实现同一目的而设置的两个阶段,作业调度确定竞争处理器的作业,而哪个竞争者能获得处理器则由进程调度来实现。因此,常常又把作业调度称为高级调度或宏观调度,而把进程调度称为低级调度或微观调度。

3.作业控制

用户根据系统所提供的手段,要对他的作业在系统中的整个运行过程实行控制,否则用户作业的功能无法实现。例如作业如何输入、编辑和编译,如何开工,出现故障后如何处理,

以及下机前作何种处理等等,在对作业进行控制的过程中,用户程序和它所需要的数据,都是作业的一部分,也是控制的对象。

4.作业退出

系统收到批处理作业从作业说明书中发出的“作业结束”命令,或收到交互式作业的“销号”命令后,应组织好计算结果和有关信息的输出,否则前功尽弃。除此的外,系统应收回分配给作业的处理器、内存、外围设备及其他资源,注销对应的用户作业进程及其所有的子孙进程。对于非正常作业撤离系统时,除应完成上述工作之外,还应给出有关撤离的原因。

四、作业的状态和处理流程

为了更好地实现作业调度和控制作业的运行,在操作系统中常常

把作业的生命周期划分成若干个不同的阶段,每个阶段对应着一种状态,一般分为进入、后备、执行、完成状态。

1.进入状态

操作员把用户提交的作业装入输入设备后,从作业请求输入到全部存放到直接存取设备为止,称为进入状态。这是一个连续的过程。操作系统主要调用作业调度程序把作业信息填入作业登记表,调用外存空间分配程序分配外存空间,调用SPOOLing输入程序把作业的程序和数据等输入到指定的外存空间。由于作业信息是逐步进入系统的,因此作业不能被作业调度程序纳入作业调度范围。

2.后备状态

作业的全部信息都输入到输入井之后,称作业处于后备状态。此时,系统要为作业建立作业控制块,并将作业加入到后备作业队列中,随时等待作业调度程序调度。

3.执行状态

从一个作业被作业调度程序选中而进入内存运行起,到作业计算完成为止,称该作业处于执行状态。作业调度程序为了实现作业从后备状态到执行状态的转换,首先需从后备作业队列中选取一个或几个具有条件的作业,调用处理器管理程序中的创建原语,为每个作业建立一组相应的进程,调用存储管理程序分配内存空间和设备管理程序分配设备,建立一用户进程和若干个为该用户进程服务的系统进程(如I/O进程)。这组进程在处理器管理程序的控制下协同运行,完成相应作业的计算任务。作业调度程序本来还应分配CPU,这样才能保证每个选中的作业能够运行。但是,运行作业数往往多于CPU的个数(一般只有1个CPU),不能保证每个作业能够分得1台实际的CPU,为此处理器管理程序分成作业调度程序和进程调度程序,使处理器管理分两级进行。为了便于管理,处于执行状态的作业,根据其进程的活动情况又分为就绪状态、运行状态、等待(封锁)状态。刚刚创建的进程处于就绪状态,等待进程调度分配实际的CPU。

可见只有被作业调度程序选中的那些作业才有可能获得CPU,而进程调度程序保证了所有就绪进程在几秒钟之内都有机会获得CPU 。这就是说,从微观角度看,处理器是轮流分配给各进程的,作业可能正在运行,也可能还未运行,但是从宏观上看,在内存中存放的这些作业是同时运行的,好像每个作业都有自己的CPU一样。

4.完成状态

从作业正常运行完毕或因发生错误而终止,到善后处理结束并退出系统为止,在这段时间内,系统的“终止作业”程序和存储管理程序负责把其作业控制块从现行队列中删除,收回它所占用的各种资源,然后调用文件系统将作业的计算结果编成输出文件,再调用有关设备管理程序输出文件信息,而这个工作有时可能要持续一段时间。

作业状态间的转换如图6.1所示。

五、交互式作业的管理

1.交互式作业

采用交互方式控制的作业,不需要像批处理作业那样把作业控制意图预先写成一份作业控制说明书,而是在作业执行过程中,由用户使用操作系统提供操作控制命令(也称命令语言)或会话语言系统提供的会话语句直接提出对作业的控制要求。每当用户输入一条命令或一个会话语句后,系统立即解释执行且及时给出应答。用户根据作业执行情况决定应该输入的下一条命令或下一个会话语句,以控制作业的继续进行。

在使用分时操作系统的计算机系统中,终端用户通过终端设备输入作业的程序和数据,且直接在终端上输入各种命令或会话语句来表达对作业的控制意图。系统把作业的执行情况也通过终端设备通知用户,最终在终端上输出结果。交互式作业的特点主要表现在交互性上,它采用人-机对话方式工作,方便调试和开发软件。

2.交互式作业的控制

利用计算机提供的显示屏幕、键盘、鼠标等设备可实现人机对话。

①操作使用接口。操作系统为用户提供操作使用接口,目前常用的操作使用接口有操作控制命令、菜单技术、窗口技术等。

A. 操作控制命令:不同的计算机系统提供的操作控制命令是各不相同的。但它们都有一个共同点,每一条命令必须含有请求“做什么”的“动词”和要求“怎么做”的一些“参数”,在有些命令中参数是可以缺省的。这此命令大致有下面几类:

“注册”和“注销”命令:分别表示要求进入系统和退出系统;

编辑命令:用于增、删、改用户文件;

文件和目录操作命令:用于列目录、建目录、删除目录、改变当前目录等目录操作及列文件、建立文件、读写、删除、拷贝文件等文件操作;

调试类命令:用于调试程序。

B. 菜单技术:

当一个程序具有若干项可供用户选择的功能时,由该程序先显示

出自己具有的各功能名称及其含义,然后用户可以根据需要从中选择希望完成的功能,再由该程序按用户的选择调出相应的功能模块进行处理。这种方法很像菜馆的点菜方式,故称为“菜单方式”。

提供菜单技术后,用户不必事先记住程序提供的功能及使用方法,而可根据屏幕上显示的菜单来进行选择。因此,菜单技术为用户提供了一种“友好的使用接口”。每个功能块内可能还提供子菜单,这样一层一层下去。对初学者比较方便,但对熟练的技术人员可能采用键盘命令更快。

C. 窗口技术:

把用户的工作显示在计算机屏幕的一个矩形区域中,允许用户在矩形区域中操作应用程序和文件,把这样的矩形区域称为“窗口”。一个屏幕上可设置多个窗口,当多个应用程序同时执行时,每个应用程序可在自己的窗口中执行。但是,每次只允许用户对其中的一个窗口进行直接操作,允许用鼠标或键盘来对窗口进行操作。

Windows 98,Windows NT,UNIX等都有窗口软件,向用户提供了更友善的“图形用户接口”。窗口己成为实现人机对话的重要技术,窗口系统都为用户提供丰富的、方便的、直接的操作接口。

尽管不同的窗口系统有不同的窗口外观,但对窗口都有一些基本的操作,例如:

A.打开一个窗口:当运行一个新程序时,一般说要打开一个窗口。有时正在运行的程序,在需要时也可再打开一个窗口。

B.移动窗口:可将窗口在屏幕上移动到自己所希望的位置。

C.改变窗口大小:允许用户放大或缩小窗口,最大到整个屏幕,最小到一个图标。

D.切换窗口:当同时打开多个窗口时,把当前正在操作的窗口称为“活动窗口”,活动窗口可能复盖或部分复盖其他窗口。对非活动窗口不能直接操作,但窗口中的程序仍可运行。若要对某个窗口进行操作,则可用“切换窗口”操作使其成为活动窗口。

E.关闭窗口:当-个程序运行结束,不再使用时则可关闭窗口。

对一个已经打开的活动窗口,用户可通过键盘或鼠标选择窗口中的菜单和菜单中的命令来控制作业的运行。系统在执行用户命令时,可能要求用户输入一些参数,如“打开文件”要求输入文件名,系统提供“对话框”来和用户进行信息交换。在完成对话后,系统根据对话框的内容且解释执行该命令。

②命令的解释执行。提供交互控制方式的操作系统都有一个命令解释程序,它接受来自用户的命令并对命令进行分析并解释执行。一般说,可把命令分成两大类:一类是“内部命令”,由操作系统中的相应处理模块直接解释执行;另一类是“外部命令”,必须创建用户进程去解释执行。

由操作系统直接解释执行的命令有:注册和注销命令;列目录、修改目录、删除目录等目录类命令;读/写文件、删除文件、修改文件名等文件操作命令及其他一些命令。另一类命令,例如,编辑、编译、装配、运行等命令,操作系统不能直接解释执行,而是要建立一个用户进程并调出相应程序解释执行。

3.终端作业的管理

用户想通过终端使用计算机系统控制作业的运行,首先要使自己的终端与计算机系统在线路上接通。终端用户控制终端作业的运行大致有4个阶段:终端的连接、用户注册、控制作业执行、用户退出。

①终端的连接。近程终端是直接接在计算机系统的通道上的,所以,当终端加电后,终端就与系统连接上了。对于运程终端是借助于租用专线或电话交换线接到计算机系统上的。租用专线的终端在加电后,终端与系统也就连接上了。但借助交换线的终端在加电后,用户必须拨计算机系统的电话号码,以建立终端用户和系统的联系。如果电话接通,用户放回电话后就可使用终端;否则,过一会儿再拨,直到连接成功。

②用户注册。当终端和系统在线路上接通后,用户输入“注册”命令,向系统提出要执行一个作业。系统首先要识别用户,包括口令核对正确后,再询问用户作业对系统资源的要求(内存、外围设备

),若资源能满足,则系统接收该终端用户,且在终端下显示进入系统的时间。如果口令不对或资源暂时不能满足,则不能接收该终端用户。所以,注册可看作是对终端作业的作业调度。

③作业控制。一个注册成功的用户就可以使用系统提供的命令语言或会话语句控制作业的执行。采用人-机对话方式完成作业任务。

④用户退出。当用户不再须要终端时,输入“注销”命令通知系统退出。这时系统收回用户占用的系统资源且让其退出系统,同时终端上显示“退出时间”或“使用系统时间”,以使用户了解应付的费用。

在分时系统中,对终端作业都采用“时间片轮转”方法分配CPU,在分时兼批处理系统中,终端作业称为前台作业,批处理作业称为后台作业。总是优先调度前台作业。

批处理、分时和实时操作系统的各自特点如下:

1、批处理系统。操作人员将作业成批装入计算机并由计算机管理运行,在程序的运行期间用户不能干预,因此批处理系统的特点是:用户脱机使用计算机,作业成批处理,系统内多道程序并发执行以及交互能力差。

2、分时系统。不同用户通过各自的终端以交互方式共用一台计算机,计算机以“分时”的方法轮流为每个用户服务。分时系统的主特点是:多个用户同时使用计算机的同时性,人机问答的交互性,每个用户独立使用计算机的独占性,以及系统响应的及时性。

photoshop中怎样批处理操作图文教程

photoshop中怎样批处理操作图文教程 不明白大伙儿有没有接触过PS里面的批处理呢,当我们要完成数百张照片缩放大小的时候,当你要完成数十张照片调换颜色的时候,这时候我们能够利用到PS里面的批处理了,当然前提是我们要进行统一的动作时才能应用批处理的哦。但首先要了解的就是如何设置批处理里面的选项才能让批处理顺利完成。 步骤方法 1、我们先将将要进行批处理的文件保存在同一个文件夹内,然后拷贝(复制)一份(为了幸免再次用到源文件。在PS中打开文件夹中的其中一个图片。 2、在对图片进行调整之前,我们要先预备录制接下来的动作。在动作面板中添加一个新的动作。然后点击开始录制按钮。 接下来就能够对图片进行编辑了。 3、对单张的图片进行编辑完成以后,保存并关闭图片,然后单击动作面板上面的停止按钮 4、文件——自动——批处理 5、在目标的设置的时候一定要注意,为了操作部繁琐,使动作连续进行我们要选“存储并关闭”意思就是讲当我们的图片每一张批处理完成以后就会自动的存储并关闭了。 假如看了上面的仍然不是非常清楚,能够看下面的photoshop批处理教程文字版。 一、首先我们得制作自己需要的动作命令 第一步,先打开Photoshop,选中“窗口→动作”命令,打开动作命令窗口。如今,动作命令栏里只有默认命令序列和一些默认动作。 第二步,执行“文件→打开”动作,任意打开一张图片。单击动作命令栏“创建新动作”快捷命令图标,如今就会在“默认动作”的序列下创建新动作,出现的命令对话框,在“名称”栏中输入“我的动作”,然后单击[记录]按钮结束。 第三步,开始创建各项需要的动作(计算机会自动记录你的各个动作,为节约批处理时刻,最好每个动作差不多上事先预备好,被记录的动作都能一步到位):1. 限制图片大小:执行“文件→自动→限制图像”命令,打开图3对话框,依照需要设置好一系列参数后,单击[好]。 2. 转换颜色类型:执行“图像→模式→CMYK颜色”即可。 3. JPEG格式:执行“文件→存储为”命令,在“格式”下拉菜单中选择JPEG格式,单击[保存],会打开“JPEG选项”对话框,在“品质”框下拉菜单中选择“高”,单击[好]。 第四步,单击动作命令栏下方的“停止”按钮停止记录。这时我们需要的动作命令制作完毕。 二、然后就是使用批处理命令,达到一步到位的效果了先做预备工作:把所有待处理的图片放到一个文件夹里,新建一个文件夹用来放置处理过的图片。执行“文件→自动→批处理”打开批处理命令框。接着设置各个参数和选项。 1. 在“动作”下拉菜单中选择“我的动作”。 2. 在“源”下拉菜单中选择“文件夹”。 3. 单击[选取]按钮在弹出的对话框中选择待处理的图片所在的文件夹,单击[确定]。单击选中“包含所有子文件夹”和“禁止颜色配置警告”这两个复选框。 4. 在“目的”下拉菜单中选择“文件夹”,单击[选择]按钮,在弹出的对话框中选择预备放置处理好的图片的文件夹,单击[确定]。 5. 在“文件命名”的第一个框的下拉菜单中选择“1位数序号”,在第二个框的下拉菜单中选择

作业批处理调度java代码及实例

代码 FlowShop类 public class FlowShop { static int n, //作业数; f1, //机器1完成处理时间; f, //完成时间和; bestf; //当前最优值; static int [][]m; //各作业所需的处理时间; static int []x; //当前作业调度; static int []bestx; //当前最优作业调度; static int []f2; //机器2完成处理时间; private void backtrack(int i) { if(i>n) { for (int j=1;j<=n;j++) { bestx[j]=x[j]; System.out.print(x[j]+" "); } System.out.println(); bestf=f; System.out.println("每条深度优先搜索结果为:"+bestf); } else for(int j=i;j<=n;j++) { f1+=m[x[j]][0]; f2[i]=((f2[i-1]>f1)? f2[i-1]:f1)+m[x[j]][1]; f+=f2[i]; if(f

public void ShowTest() { n=3; bestf=Integer.MAX_VALUE; f1=0; f=0; int [][]m={{0,0},{2,1},{3,1},{2,3}}; int []x={0,1,2,3}; int []bestx={0,1,2,3}; f2=new int[4]; this.m = m; this.x=x; this.bestx=bestx; this.f2=f2; backtrack(1); System.out.println("当前最优值:"+bestf); System.out.println("当前最优作业调度"); for(int i=1;i<=n;i++) { System.out.print(bestx[i]+" "); } } public static void main(String[] args) { FlowShop fs=new FlowShop(); fs.ShowTest(); } } MyMath类 public class MyMath { public void MyMath(){} public static int[] swap(int[] x,int i,int j) { int ex; ex=x[j]; x[j]=x[i]; x[i]=ex; return x; }

模拟批处理多道操作系统的作业调度

石家庄经济学院 实验报告 (学院)系: 信息工程学院 专业: 网络工程 姓名: 何秉乾 班级: 网络2班 学号: 407109070501 指导教师: 王建东 日期:2010 年 1月 22 日

操作系统实验报告 姓名何秉乾学号407109070501 日期2010/1/11-2010/1/22 实验室260机房指导教师王建东设备编号 作业调度 设计题 目 一.设计内容 模拟批处理多道操作系统的作业调度 二.设计目的 每个用户请求计算机计算的一个计算任务叫做一个作业。一个作业从输入初始数据到得到计算结果,要经过若干个步骤的相继执行。例如,编辑、编译、运行等,其中每一个步骤称作一个作业步。用户向系统提出作业加工步骤的方式称作业控制方式,作业控制方式有两种:终端控制方式(又称直接控制方式或联机控制方式)和批处理控制方式(又称自动控制方式或脱机控制方式)。 在批处理控制方式下,用户采用系统提供的作业控制语言(JCL)写好作业说明书,说明作业加工的步骤。操作员把一批作业组织成输入流,通过“预输入”手段使每个作业的信息(包括作业说明书、源程序、初始数据等)暂存在辅助存储器的“输入井”中。 批处理多道操作系统的作业管理有两个任务:作业调度和作业控制。采用多道程序设计方法的操作系统,在系统中要经常保留多个运行的作业,以提高系统效率。作业调度从系统已接纳的暂存在输入井中的一批作业中挑选出若干个可运行的作业,并为这些被选中的作业分配所需的系统资源。对被选中运行的作业必须按照它们各自的作业说明书规定的步骤进行控制。 本实习要求学生模拟作业调度的实现,了解作业调度在操作系统中的作用。 三.设计过程 1、数据结构设计: 设计一个结构体数组 typedef struct work{ char username[10]; //用户名 char workname[10]; //作业名 float time; //作业运行时间 char state; //状态R为收容,A表示执行状态,T为完成 int store; //主存 int tape; //磁带 }WORK; WORK w[N]; //工作数组 初始化操作 printf("初始化:\n"); for(i=0;i

计算机批处理操作管理及监控制度

计算机批处理操作管理及监控制度 第一节总则 第一条为了保证应用系统在正常、顺利运行的情况下,简化日常操作,IT 可在系统后台进行批处理任务的设置。 第二条由于批处理工作中,前一工作的结果会直接影响后一工作的结果,从而对业务数据产生重大影响,因此必须在批处理配置的过程中进 行有效的控制,保证批处理操作的合法性和结果的准确性。 第二节批处理的设置 第三条IT应建立批处理操作手册(附件一)作为批处理的操作指导。批处理操作手册应该包括批处理任务清单、批处理工作的实现方式、执 行批处理的权限设置、批处理任务的检查等内容。 第四条批处理操作手册应该涵盖需要通过批处理进行的所有操作,可以分为日批处理、周批处理、月批处理和年批处理几类。每一种批处理 任务的设置方法、作用、运行时间和各个任务的运行次序应该在操 作手册中详细说明,保证操作人员通过阅读批处理操作手册能够清 楚地知道每一个批处理任务的执行会对业务数据产生的影响。 第五条批处理工作的实现方式,指批处理是通过设置定时器自动运行还是通过操作人员在系统中输入相应的命令手工运行。无论何种运行方 式,均应在操作手册中明确描述具体的操作步骤(如何设置定时器, 或者需要操作人员输入哪些命令等)。 第六条批处理工作应该由IT的特定员工通过批处理专用账号执行,在操作

手册中应该明确体现此规定。 第三节批处理的变更 第七条批处理的变更和停止操作经改由申请人填写《批处理变更申请表》(附件二),包括系统名称、变更原因、设置方法和运行时间等内容, 提交至IT负责人审批通过后,方可由IT指定人员在系统中进行设 置。 第八条批处理操作变更后,应立即变更相应的批处理操作手册。变更后的批处理操作手册,必须经过IT负责人确认后才能实施。 第四节批处理的检查 第九条IT应指定专责人员定期察看批作业执行结果,并将每次批处理运行结果在《批处理日常运行检查表》(附件三)中进行记录。发现问题 检查人员应及时处理,如果批处理错误不能自行处理,相应的技术 支持人员的名单和联系方式等,以指导批处理人员对批处理运行结 果的检查。 第十条IT应指定专责人员负责保留批处理过程中的文档,包括批处理工作痕迹应保留备查。 第五节附则 第十一条本制度由公司总部IT负责解释和修订。 第十二条本制度自发布之日起开始执行。

实验1-批处理作业调度

批处理系统的作业调度 1.实验目的 加深对作业概念的理解; 深入了解批处理系统如何组织作业、管理作业和调度作业; 2.实验预备知识 作业的概念; 作业的创建; 作业的调度。 3.实验内容 编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。 4.提示与讲解 操作系统根据允许并行工作的道数和一定的算法从系统中选取若干作业把它们装入主存储器,使它们有机会获得处理器运行,这项工作被称为“作业调度”。实现这部分功能的程序就是“作业调度程序”。 作业调度的实现主要有两个问题,一个是如何将系统中的作业组织起来;另一个是如何进行作业调度。 为了将系统中的作业组织起来,需要为每个进入系统的作业建立档案以记录和作业相关的信息,例如作业名、作业所需资源、作业执行时间、作业进入系统的时间、作业信息在存储器中的位置、指向下一个作业控制块的指针等信息。这个记录作业相关信息的数据块称为作业控制块(JCB),并将系统中等待作业调度的作业控制块组织成一个队列,这个队列称为后备队列。一个作业全部信息进入系统后,就为其建立作业控制块,并挂入后备队列。当进行作业调度时,从后备队列中查找选择作业。 由于实验中没有实际作业,作业控制块中的信息内容只使用了实验中需要的数据。作业控制块中首先应该包括作业名;其次是作业所需资源,根据需要,实验中只包括需要主存的大小(采用可移动的动态分区方式管理主存,作业大小就是需要主存的大小)、需要打印机的数量和需要磁带机的数量;采用响应比作业调度算法,为了计算响应比,还需要有作业的估计执行时间、作业在系统中的等待时间;另外,指向下一个作业控制块的指针必不可少。 实验中,作业控制块及队列的数据结构定义如下。 typedef struct jcb {char name[4]; //作业名 int length; //作业长度,所需主存大小 int printer; //作业执行所需打印机的数量 int tape; //作业执行所需磁带机的数量 int runtime; //作业估计执行时间 int waittime; //作业在系统中的等待时间 int next; //指向下一个作业控制块的指针 }JCB //作业控制块类型定义

操作系统作业调度实验报告

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解 三.实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: zuoye.c 执行程序: zuoye.exe 2)实验分析: 1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业 完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、 所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待 W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周 转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图:

代替 二.最短作业优先算法 代替 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb //作业控制块 { char name[10]; //作业名 int reachtime; //作业到达时间

作业调度实例(全部代码)

源代码: #include #include #include #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb //作业控制块 { char name[10]; //作业名 int reachtime; //作业到达时间 int starttime; //作业开始时间 int needtime; //作业需要运行的时间 float super; //作业的响应比 int finishtime; //作业完成时间 float cycletime; //作业周转时间 float cltime; //作业带权周转时间 char state; //作业状态 struct jcb *next; //结构体指针 }*ready=NULL,*p,*q; typedef struct jcb JCB; void inize() //初始化界面 { printf("\n\n\t\t*********************************************\t\t\n"); printf("\t\t\t\t单道批处理作业调度系统\n"); printf("\t\t*********************************************\t\t\n"); printf("\n\n\n\t\t\t\t\t09软件+电子商务2班\n"); printf("\t\t\t\t\t\t黄才旺\n\n"); printf("\n\n\n\t\t请按任意键进入主菜单:"); getch(); } void inital() //建立作业控制块队列,先将其排成先来先服务的模式队列{ int i; printf("\n输入作业数:"); scanf("%d",&n); for(i=0;iname); getch();

实验一 批处理系统的作业调度

实验一批处理系统的作业调度 一、实验目的 1.加深对作业概念的理解。 2.深入了解批处理系统如何组织作业、管理作业和调度作业。 二、实验预备知识 1.作业的概念。 2.作业的创建。 3.作业的调度。 三、实验内容 编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所做工作进行测试。 四、提示与讲解 操作系统根据允许并行工作的道数和一定的算法从系统中选取若干作业把它们装入主存储器,使它们有机会获得处理器运行,这项工作被称为“作业调度”。实现这部分功能的程序就是“作业调度程序”。 作业调度的实现主要有两个问题,一个是如何将系统中的作业组织起来;另一个是如何进行作业调度。 为了将系统中的作业组织起来,需要为每个进入系统的作业建立档案以记录和作业相关的信息,例如作业名、作业所需资源、作业执行时间、作业进入系统的时间、作业信息在存储器中的位置、指向下一个作业控制块的指针等信息。这个记录作业相关信息的数据块称为作业控制块(JCB),并将系统中等待作业调度的作业控制块组织成一个队列,这个队列称为后备队列。一个作业全部信息进入系统后,就为其建立作业控制块,并挂入后备队列。当进行作业调度时,从后备队列中查找选择作业。 由于实验中没有实际作业,作业控制块中的信息内容只使用了实验中需要的数据。作业控制块中首先应该包括作业名;其次是作业所需资源,根据需要,实验中只包括需要主存的大小(采用可移动的动态分区方式管理主存,作业大小就是需要主存的大小)、需要打印机的数量和需要磁带机的数量;采用响应比作业调度算法,为了计算响应比,还需要有作业的估计执行时间、作业在系统中的等待时间;另外,指向下一个作业控制块的指针必不可少。 实验中,作业控制块及队列的数据结构定义如下: typedef struct jcb { char name[4]; //作业名 int length; //作业长度,所需主存大小 int printer; //作业执行所需打印机的数量 int tape; //作业执行所需磁带机的数量 int runtime; //作业估计执行时间 int waittime; //作业在系统中的等待时间 int next; //指向下一个作业控制块的指针 } JCB //作业控制块类型定义 存放作业控制块的区域: #define n 10 //假定系统中可容纳的作业数量为n JCB jobtable[10]; //作业表

批处理 分时 实时操作系统的特点

批处理、分时、实时操作系统的特点 一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统 计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

分时实时批处理操作的特点

一、批处理系统的特点 1、多道:在内存中同时存放多个作业,一个时刻只有一个作业运行,这些作业共享CPU和外部设备等资源。 2、成批:用户和他的作业之间没有交互性。用户自己不能干预自己的作业的运行,发现作业错误不能及时改正。 3、批处理系统的目的是提高系统吞吐量和资源的利用率。 二、分时系统的特点 1、同时性,计算机系统能被多个用户同时使用; 2、独立性:用户和用户之间都是独立操作系统的,在同时操作时并不会发生冲突,破坏,混淆等现象; 3、及时性:系统能以最快的速度将结果显示给用户; 4、交互作用性:用户能和电脑进行人机对话。 三、实时操作系统的特点 1、高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。 2、多级中断机制 一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。 3、实时调度机制 实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是, [3] 处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

扩展资料: 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 例如,可以为确保生产线上的机器人能获取某个物体而设计一个操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,生产线仍然能继续工作,但产品的输出会因产品不能在允许时间内到达而减慢,这使机器人有短暂的不生产现象。

PBS作业调度使用方法

PBS作业调度使用方法: 1.IBM HPC Platform 作业提交流程 用户需要使用集群资源进行作业计算时,需要使用作业调度系统。 IBM HPC Platform集群采用的是开源的Torque+Maui作业调度系统。 ●任何用户都需要产生Job_que.sh任务作业脚本: >> genQue 当前文件夹下会产生一个Job_que.sh 的shell作业脚本文件 ●编辑Job_que.sh任务作业脚本: >> vi Job_que.sh ●提交Job_que.sh任务作业脚本: >> qsub Job_que.sh 注意:在Job_que.sh中,所有任务的运行时间超过120小时的情况下,job作业将会被自动停止!如果有疑问和延长作业运行时间的需要请直接联系管理员。 具体的更多关于任务作业脚本的说明、使用和提交请参考vi和本章第2小节:Torque PBS作业调度系统使用说明。 2.Torque PBS作业调度系统使用说明 Torque PBS 提供对批处理作业和分散的计算节点(Compute nodes)的控制。 PBS是Protable Batch System的缩写,是一个任务管理系统。当多个用户使用同一个计算资源时,每个用户用PBS脚本提交自己的任务,由PBS对这些任务进行管理和资源的分配。 ●matlab作业的PBS脚本说明:

#!/bin/sh #PBS -N JOB #PBS -l nodes=1:ppn=8 #PBS -l feature=xe #PBS -l naccesspolicy=singlejob #PBS -o RunJob.out #PBS -e RunJob.err #PBS -l walltime=120:00:00 #PBS -q batch echo --------- `date` ---------- echo HomeDirectory is $PWD echo echo Current Dir is $PBS_O_WORKDIR echo cd $PBS_O_WORKDIR echo "------------This is the node file -------------" cat $PBS_NODEFILE echo "-----------------------------------------------" cat $PBS_NODEFILE > host.mpd np=$(cat $PBS_NODEFILE | wc -l) echo The number of core is $np echo echo #-----------------------------------------------------# # OpenMPI Job Submitting Example # # # mpirun -np $np -machinefile host.mpd $BINPATH ... # # #-__--------------------------------------------------# # -__- have fun! # matlab –nojvm –nodesktop < test.m > log 将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。最后可以通过查看我那件下面log文件查看程序运行结果。

操作系统作业调度实验报告-多道批处理

计算机学院计算机科学与技术专业07 班 姓名学号教师评定_________________ 实验题目作业调度 一、实验目的 本实验要求学生模拟作业调度的实现,用高级语言编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。 二、实验内容和要求 1、为单道批处理系统设计一个作业调度程序 (1)、编写并调试一个单道处理系统的作业调度模拟程序。 (2)、作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)的调度算法。 (3)、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的CPU时限等因素。 (4)、每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W。 (5)、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,并比较各种算法的优缺点。 2、模拟批处理多道操作系统的作业调度 (1)写并调试一个作业调度模拟程序。 (2)作业调度算法:分别采用先来服务(FCFS)调度算法。 (3)在批处理系统中,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求,所需要的资源是否得到满足。 作业调度程序负责从输入井选择若干个作业进入主存,为它们分配必要的资源,当它们能够被进程调度选中时,就可占用处理机运行。作业调度选择一个作业的必要条件是系统中现有的尚未分配的资源可满足该作业的资源要求。但有时系统中现有的尚未分配的资源既可满足某个作业的要求也可满足其它一些作业要求,那么,作业调度必须按一定的算法在这些作业中作出选择。当作业正常运行完毕或因发生错误非正常终止时,作业进入完成状态,此时,系统将收回该作业所占用的全部资源,并清除有关的JCB。并输出显示作业运行情况及作业输出结果。 三、实验设计方案及原理 假设在单道批处理环境下有四个作业JOB1、JOB2、JOB3、JOB4,已知它们进入系统的时间、估计运行时间。分别采用先来先服务(FCFS),最短作业优先(SJF)调度算法,

批处理操作管理及监控制度

浙江星星家电股份有限公司企业标准 批处理操作管理及监控管理办法 第一章总则 第一条为了保证应用系统在正常、顺利运行的情况下,简化日常操作,信息管理科可在系统后台进行批处理任务的设置。 第二条由于批处理工作中,前一工作的结果会直接影响后一工作的结果,从而对业务数据产生重大影响,因此必须在批处理配置的过程中进行有效的控制,保证批处理操作的合法性和结果的准确性。 第二章批处理的设置 第三条信息管理科应建立批处理操作手册(附件一)作为批处理的操作指导。批处理操作手册应该包括批处理任务清单、批处理工作的实现方式、执行批处理的权限设置、批处理任务的检查等内容。 第四条批处理操作手册应该涵盖需要通过批处理进行的所有操作,可以分为日批处理、周批处理、月批处理和年批处理几类。每一种批处理任务的设置方法、作用、运行时间和各个任务的运行次序应该在操作手册中详细说明,保证操作人员通过阅读批处理操作手册能够清楚地知道每一个批处理任务的执行会对业务数据产生的影响。 第五条批处理工作的实现方式,指批处理是通过设置定时器自动运行还是通过操作人员在系统中输入相应的命令手工运行。无论何种运行方式,均应在操作手册中明确描述具体的操作步骤(如何设置定时器,或者需要操作人员输入哪些命令等)。 第六条批处理工作应该由信息管理科的特定员工通过批处理专用账号执行,在操作手册中应该明确体现此规定。 第三章批处理的变更 第七条批处理的变更和停止操作经改由申请人填写《批处理变更申请表》(附件二),包括系统名称、变更原因、设置方法和运行时间等内容,提交至信息管理科负责人审批通过后,方可由信息管理科指定人员在系统中进行设置。 第八条批处理操作变更后,应立即变更相应的批处理操作手册。变更后的批处理操作手册,必须经过信息管理科负责人确认后才能实施。 第四章批处理的检查 第九条信息管理科应指定专责人员定期察看批作业执行结果,并将每次批处理运行结果在《批处理日常运行检查表》(附件三)中进行记录。发现问题检查人员应及时处理,如果批处理错误不能自行处理,相应的技术支持人员的名单和联系方式等,以指导批处理人员对批处理运行结果的检查。 第十条信息管理科应指定专责人员负责保留批处理过程中的文档,包括批处理工作痕迹应保留备查。 第五章附则 第十一条本制度由公司信息管理科负责解释和修订。

操作系统实验报告-批处理系统的作业调度

实验一批处理系统的作业调度 一.实验目的 (1)加深对作业概念的理解。 (2)深入了解批处理系统如何组织作业、管理作业和调度作业。 二.实验内容 编写程序完成批处理系统的作业调度,要求采用响应比优先调度算法。 三.实验原理 最高响应比优先法(HRRN)是对FCFS方式和SJF 方式的一种综合平衡。HRRN调度策略同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。 响应比R定义如下: R=(W+T)/T=1+W/T 其中T为该作业估计需要的执行时间,W为作业在后备状态队列中的等待时间。 每当要进行作业调度时,系统计算每个作业的响应比,选择其中R最大者投入执行。这样,即使是长作业,随着它等待时间的增加,W/T也就随着增加,也就有机会获得调度执行。这种算法是介于FCFS和SJF 之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于SJF 法,从而采用HRRN 方式时其吞吐量将小于采用SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开销也要相应增加。 四.实验部分源程序 实验中,作业控制块及队列的数据结构定义如下: struct task { string name; /*作业号*/ int arrTime; /* 作业到达时间*/ int serTime; /*作业要求服务时间*/ int waiTime; /*等待时间*/ int begTime; /*开始运行时间*/ int finTime; /*结束运行时间*/ int turTime; /*周转时间*/ int wTuTime; /*带权周转时间*/ int priority;/*优先权*/ int finish;/*是否已经完成*/ }JCB[10]; 存放作业控制块的区域: #define n 10 JCB jobtable[10]; int jobcount;

操作系统批处理方式

操作系统批处理方式 操作系统批处理方式是操作系统五种类型中的其中一个,那么它到底是怎么运行操作的呢?下面由小编为大家整理了操作系统批处理方式的相关知识,希望对大家有所帮助! 1.操作系统批处理方式 ①批处理操作系统 批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。 批处理操作系统的特点是:多道和成批处理。 2.分时操作系统方式 分时(Time Sharing)操作系统的工作方式是:一台主机连接

了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下道命。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,伺时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。它支持位于不同终端的多个用户同时使用一台计算机,彼此独立互不干扰,用户感到好像一台计算机全为他所用。 常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求; “后台”处理时间性要求不强的作业。 扩展资料:操作系统批处理系统常用调度算法 ①、先来先服务:FCFS

分支限界法-批处理调度问题

【分支限界法】批处理作业调度问题 问题描述 给定n个作业的集合{J1,J2,…,Jn}。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和称为该作业调度的完成时间和。 批处理作业调度问题要求对于给定的n个作业,制定最佳作业调度方案,使其完成时间和达到最小。 例:设n=3,考虑以下实例: 这3个作业的6种可能的调度方案是1,2,3;1,3,2;2,1,3;2,3,1;3,1,2;3,2,1;它们所相应的完成时间和分别是19,18,20,21,19,19。易见,最佳调度方案是1,3,2,其完成时间和为18。 限界函数

批处理作业调度问题要从n个作业的所有排列中找出具有最小完成时间和的作业调度,所以如图,批处理作业调度问题的解空间是一颗排列树。 在作业调度问相应的排列空间树中,每一个节点E都对应于一个已安排的作业集。以该节点为根的子树中所含叶节点的完成时间和可表示为: 设|M|=r,且L是以节点E为根的子树中的叶节点,相应的作业调度为{pk,k=1,2,……n},其中pk是第k个安排的作业。如果从节点E到叶节点L的路上,每一个作业pk在机器1上完成处理后都

能立即在机器2上开始处理,即从p r+1开始,机器1没有空闲时间,则对于该叶节点L有: 注:(n-k+1)t1pk,因为是完成时间和,所以,后续的(n-k+1)个作业完成时间和都得算上t1pk。 如果不能做到上面这一点,则s1只会增加,从而有:。 类似地,如果从节点E开始到节点L的路上,从作业p r+1开始,机器2没有空闲时间,则: 同理可知,s2是的下界。由此得到在节点E处相应子树中叶节点完成时间和的下界是: 注意到如果选择Pk,使t1pk在k>=r+1时依非减序排列,S1则取得极小值。同理如果选择Pk使t2pk依非减序排列,则S2取得极小值。 这可以作为优先队列式分支限界法中的限界函数。

巧用Excel批处理实现自动化操作

巧用Excel批处理实现自动化操作 2009-05-10 20:41:48 浏览次数:1465 信息技术课教学过程中经常要做一些重复的工作,如建立一个班级的学生文件夹,把作业分发到学生文件夹中等等。《中国电脑教育报》2004第5期F6版《批量自动生成文件夹》一文构思巧妙,它通过VBScript来实现文件夹的批量建立。但需要IIS Web服务器的支持,且动态网页Createfolder.asp内的源代码有“望而生畏”之感。如果采用Ex cel来操作,简单、方便、快捷,且不需要特殊的操作平台,一起来看看吧。 1.建立工作表 如图1,在Excel中建立学生名册和批处理工作表,在学生名册工作表A、B两列中分别输入学号、姓名。在批处理工作表A1单元格中输入“md”,A2单元输入“=学生名册!A1&&学生名册!B1”,拖动自动填充句柄到没有学生名单为止。 图1 2.导出批处理 在新建的Excel工作簿中,选择批处理工作表,单击“另存为”,在对话框的“保存类型”中选择“文本文件(制表符分隔)”,文件名任取(这里取Createdir.txt)。单击[确定]后,由于存为TXT文件后可能含有不兼容的功能,会出现警告窗口,按[确定]直到生成TXT文件。

图2 3.运行批处理 把Createdir.txt(如图2)改名成Createdir.bat,运行它就可以建立相应的文件夹。 图3 在实际操作中,我们可以把批处理命令中可变的量(如要建立的学生文件夹、要复制文件的目标学生文件夹)、不变的量(如上述中的命令md、命令参数)在Excel中各设为单独的一列,利用Excel的自动填充功能来实现重复操作,从而实现作业分发、上交等功能。图3所示就是把c:est下的作业(包含子文件夹和空子文件夹)复制到各考生文件夹。

回溯算法解决批处理作业

回溯算法---解决批处理作业调度问题 1、问题的描述 n个作业{1, 2, …, n}要在两台机器上处理,每个作业必须先由机器1处理,然后再由机器2处理,机器1处理作业i所需时间为ai,机器2处理作业i 所需时间为bi(1≤i≤n),批处理作业调度问题要求确定这n个作业的最优处理顺序,使得从第1个作业在机器1上处理开始,到最后一个作业在机器2上处理结束所需时间最少。 利用回溯法解决批作业最优调度问题。 算法思想:对于有n个不同的任务,搜索出其最佳排列,属于一棵排列树搜索问题。采用回溯法,搜索到第t层时,当已经是叶子节点时,说明该路径就是当前情况下的最优解。当t不是叶子节点时,依次按照一定的顺序执行当前剩下的任务,将剩下的任务全部遍历一遍。计算执行当前任务后,各个时间点的变化。如果该层某个节点的任务执行之后,依然符合剪枝函数,则将当前的策略顺序做出调整,将刚刚执行的那个节点的任务序号放置到当前,然后继续向下进行搜索。剪枝函数:当当前节点的总时间已经大于已找到的最优时间,则该节点后面的节点都不用进行搜索。直接回溯。 2、代码及注释 #include using namespace std; #define MAX 1111111111//宏定义设置一个在适当范围内足够大的数字,方便以后进行比较 //定义全局变量,包含如下 int* x1;//作业Ji在机器1上的工作时间; int* x2;//作业Ji在机器2上的工作时间; int number=0;//作业的数目; int* xOrder;//作业顺序; int* bestOrder;//最优的作业顺序; int bestValue=MAX;//最优的时间; int xValue=0;//当前完成用的时间; int f1=0;//机器1完成的处理时间; int* f2;//第i阶段机器2完成的时间; //定义一个递归调用函数,找出最优 void BackTrace(int k) { if (k>number)//算法搜索至叶子结点, { for (int i=1;i<=number;i++)

批处理系统作业调度实验报告

批处理系统作业调度 一、实验目的 加深对作业概念的理解; 深入了解批处理系统如何组织作业、管理作业和调度作业; 二、实验要求 编写程序完成批处理系统中的作业调度,要求采用响应比高者优先的作业调度算法。实验具体包括:首先确定作业控制块的内容,作业控制块的组成方式;然后完成作业调度;最后编写主函数对所作工作进程测试。 三、实验原理: 操作系统根据允许并行工作的道数和一定的算法从系统中选取若干作业把它们装入主存储器,使它们有机会获得处理器运行,这项工作被称为“作业调度”。实现这部分功能的程序就是“作业调度程序”。 四、实验内容:编写程序完成批处理系统中的作业调度,要求采用响应比高 者优先的作业调度算法。实现具体包括:首先确定作业控制块的内 容和组成方式;然后完成作业调度;最后编写主函数,对所做工作 进行测试。 五、提示讲解:作业调度的实现主要有两个问题:一个是如何将系统中的作 业组织起来;另一个是如何进行作业调度。为了将系统中的作业组织起 来,需要为每个进入系统的作业建立档案以记录和作业相关的信息,例 如,作业名、作业所需资源、作业执行时间、作业进入系统的时间、作 业信息在存储器中的位置、指向下一个作业控制块的指针等信息。这个 记录作业相关信息的数据块称为作业控制块(JCB ),并将系统中等待 作业调度的作业控制块组织成一个队列,这个队列称为后备队列。当进 行作业调度时,从后备队列中查找选择作业。由于实验中没有实际作业, 作业控制块中的信息内容只使用了实验中需要的数据。作业控制块中首 先应该包括作业名;其次是作业所需资源(内存大小、打印机的数量和 磁带机的数量);采用响应比高者优先作业调度算法,为了计算响应比, 还需要有作业的估计执行时间、作业在系统中的等待时间;另外,指向 下一个作业控制块的指针必不可少。将作业控制块组织成一个队列,实 验中采用静态链表的方式模拟作业的后备队列,作业队列头指针定义 为:int *head;实验中,内存采用可移动的动态分区管理方法,即只要 内存空闲区总和比作业大就可以满足作业对内存的需求;对打印机和磁 带机这两种独占设备采用静态分配法,即作业执行前必须获得所需资 源,并且执行完才归还。采用响应比高者优先调度算法进行调度时,必 须计算出系统中所有满足必要条件作业的响应比,从中选择响应比最高 的一个作业装入主存储器分配资源。由于是实验,所以就将作业控制块 出队,并输出作业名代替装入处存储器,同时修改系统的资源数量。假 设系统资源情况:主存64KB(Memory)(以KB为单位分配)、4台磁带

相关文档
相关文档 最新文档