已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目三在支持批处理与分时的操作系统中,用户如何在终端上提交批处理作业和交互式作业?作业可以分成批处理作业和交互式作业两大类第二节 批处理作业的管理计算机系统可成批地接受采用批处理控制方式组织的作业,但批处理作业在进入计算机系统之前,用户除了要准备好源程序和数据外,还必须用作业控制语言来书写一份作业控制说明书,规定如何控制作业的执行。一、作业控制语言在不同的计算机系统中,操作系统提供的作业控制语言可能是不同的,但它们的基本特征是类似的。作业控制语言由若干控制语句组成,每个控制语句除含有表示语句特征的关键字外,还可以有指示控制要求用的若干参数。例如,表示需进行编译工作的控制语句中,应该有指示“编译”特征的关键字,另外还应有指出源程序名、目标程序文件名等参数。关于控制语言祥细信息可查阅有关资料。一个作业的每一个作业步都可以用一个控制语句来表示。于是用户可以用作业控制语言中若干控制语句组成一份控制作业执行的“作业控制说明书”,指出自己的作业要经历哪些步骤以及执行顺序。二、批处理作业的输入用户根据自己的解题要求组织作业,把每一个作业的源程序、数据和作业控制说明书都定义为文件,这些文件组织在一起构成一个作业的信息。作业信息可存储在存储介质上(例如磁带、磁盘)交给操作员,操作员收集到若干用户作业后可将它们依次排列组成作业流。在采用SPOOLing系统中,操作员只要输入一条“预输入”命令启动“预输入程序”工作,就可把作业流中的作业信息存放在输入井中等待处理。三、批处理作业的调度1.作业调度的功能作业调度程序作为一个系统进程在系统中运行,它是在系统初始化时被创建的,具有如下功能:记录系统中各作业的情况。为此,系统为每个作业建立一个作业控制块,在块中登记作业的有关信息。作业控制块是作业调度程序用来实现作业调度和管理的数据结构。按照系统提供的调度算法从后备队列中选取作业投入运行。通常在输入井中有一批作业处于后备状态,而只有少数几个作业处于执行状态。作业调度程序的主要功能就是按照一定的调度算法从后备队列中选取若干个作业投入运行。给被选中的作业分配必要的资源。一个作业从后备变成运行状态之前 ,作业调度程序应为该作业建立相应进程 ,并分配必要的内存、外围设备等资源。至于处理器则由进程调度程序分配。为作业开始运行作好准备工作。将选取的作业控制块传递给作业运行控制系统,随时将作业的变化情况记入作业控制块(如状态改为执行状态);构造和填写作业运行时所需表格,建立负责其运行控制的作业运行控制程序等。作好作业完成时的善后工作 。作业运行可能正常结束 或非正常中止 ,作业调度收回分配的资源 ,包括作业控制块。对非正常结束,还应给出引起错误的原因,以便用户纠正错误,重新将作业投入运行。2.后备作业队列和作业控制块系统通过输入程序把许多用户作业信息全部输入到输入井之后,形成一个等待运行的后备作业队列,这个队列的构成原则可按作业优先数大小顺序排列,也可按每个作业到来的时间顺序排列。系统还要为每一个作业建立一个单独的作业 控制块( JCB Job-Control- Block),这时录入输入井的作业信息才成为后备作业队列中的一员。每个作业的JCB是在该作业进入后备状态时由系统所建立,在该作业退出系统时由系统随之撤销。JCB 是描述个作业生存期的特征行之有效的方法。在一个作业的生命周期中,对作业运行控制系统而言,JCB 是每个作业存在的惟一标志,系统关心的不是作业的具体功能和内部操作,而是作业的外部特性。这些特征为系统提供了必要的管理和控制信息。JCB 通常包括作业标识信息、作业调度参数、资源申请和分配使用情况、控制信息等。系统通过JCB 和后备队列表实现对作业的管理和控制。JCB和后备队列表如图6.2所示。用户名作业名作业的源程序语言主存申请量外设申请作业优先数作业类别作业建立时间作业估计运行时间作业状态作业说明书文件名. . 作业个数计数器 作业A的控制块 作业B的控制块 作业C的控制块 作业D的控制块. (a)作业控制块 (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.关闭窗口:当个程序运行结束,不再使用时则可关闭窗口。对一个已经打开的活动窗口,用户可通过键盘或鼠标选择窗口中的菜单和菜单中的命令来控制作业的运行。系统在执行用户命令时,可能要求用户输入一些参数,如“打开文件”要求输入文件名,系统提供“对话框”来和用户进行信息交换。在完成对话后,系统根据对话框的内容且解释执行该命令。命令的解释执行。提供交互控制方式的操作系统都有一个命令解释程序,它接受来自用户的命令并对命令进行分析并解释执行。一般说,可把命令分成两大类:一类是“内部命令”,由操作系统中的相应处理模块直接解释执行;另一类是“外部命令”,必须创建用户进程去解释执行。由操作系统直接解释执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年江苏新高考化学试卷试题真题答案详解(精校打印版)
- 福建师范大学《广告文案写作》2023-2024学年第一学期期末试卷
- 葡萄上果蝇的种类及防治措施
- 2024届西藏日喀则区南木林高级中学高考数学试题模拟试卷(8)数学试题
- 幼儿教育课件教学课件
- 2024年永州客运从业资格证理论考试题
- 2024年南平资格证客运题库
- 2024年铜仁客运从业资格证理论考试答案
- 2024年青海客运证考试模拟题及答案
- 2024年伊犁驾驶员客运从业资格证模拟考试题
- 数字化系列研究之财务数智化篇:大型集团企业财务管理的数智化
- 学生辍学劝返记录表
- 学校秋季腹泻知识讲座
- 设立招投标代理公司可行性研究报告
- 小学一年级禁毒教育
- PCBA工艺管制制程稽查表
- 小学书法大赛评价准则与打分表
- 《朱兰质量手册》课件
- 幼儿保育学前教育专业教师教学创新团队建设方案
- 2023年全球疟疾报告
- 15D500-15D505 防雷与接地图集(合订本)
评论
0/150
提交评论