您的位置:首页 > 其它

操作系统(2)——用户接口与作业管理

2018-03-26 19:11 302 查看
码文不易,希望支持,谢谢->支持原创

用户接口与作业管理

一、用户与操作系统的接口

 作业控制级接口(命令接口)

  用户通过键盘输入或在作业中发出一系列命令,告诉OS执行哪些操作。对于不同的作业,控制方式又分为两类:

脱机用户接口

用户
提前编写
好命令,系统自动运行。

联机用户接口 ,也叫 交互式命令接口

用户与系统进行
交互
,用户输入程序执行之后等待用户继续输入。

 程序级接口

  由一系列的系统调用命令(函数)组成。利用系统调用命令,用户可在程序中调用操作系统所提供的一些子功能,对资源和硬件设备的使用以及作业的执行提出各种请求,并取得系统的服务。

 图形用户接口

  系统为用户提供的便于操作的图形化界面。

二、作业的基本概念

  
作业
是用户在一次算题过程中或一个事务处理中要求计算机系统所做的工作的总和,也是用户向计算机系统提交任务的基本单位。作业在结构上应包括程序、数据和作业说明书。

 作业说明书

  
作业说明书
包括作业基本情况、作业控制、作业资源要求的描述;它体现用户的控制意图。如:预计运行时间、要求的资源情况、执行优先级等。

作业基本情况
:用户名、作业名、编程语言、最大处理时间等;

作业控制描述
:作业控制方式、作业步的操作顺序、作业执行出错处理;

作业资源要求描述
:处理时间、优先级、内存空间、外设类型和数量等;

 作业步

  一个作业需要若干步才能完成。我们把计算机系统为完成作业的一部分特定工作而执行的相对独立的步骤称为
作业步


在批处理系统中,一次有一批作业进入系统,并在OS控制下,一个作业接一个作业地进行处理,这称之为
作业流


 联系和区别

  程序 是具有特定功能的一组指令或语句的集合,它指出了处理器执行操作的步骤;进程 是一个程序在一个数据集合上的一次执行。进程是动态的,是程序的执行过程;多个不同的进程可以包含相同的程序;进程可以并发执行,具有三种基本状态。作业 是指用户要求计算机系统处理的一个计算问题;任何作业都要经过若干加工步骤才能得到结果,我们把作业的每一个加工步骤称为一个作业步

 作业类别

在批处理系统上运行的作业,叫做批量型作业;

在分时系统上运行的作业,叫做终端型作业,或交互型作业。

三、批处理系统的作业管理

 作业调度

  在多道程序设计系统中,系统可以同时处理多个作业,因此,系统必须能够按照一定的策略选取若干作业,并将它们调入内存,分配必要的资源,使它们同时处于运行状态,共享系统的有限资源。

 作业控制

  作业是在操作系统控制下执行的。它包括作业如何输入到系统中,当作业被调度选中后如何控制它的运行,作业在运行过程中发生错误或出现故障时应怎样处理,计算的结果如何输出等等。

  为了对作业进行有效的控制和管理,必须记录各作业的情况,系统为每个作业配置了一个作业控制块(JCB) ,并将所有作业的作业控制块组织成作业控制块表或队列。

 批处理作业的状态及其转换

在批处理系统中,一个作业从进入系统到运行结束,一般需要经过提交收容执行完成 四个阶段。作业在这四个阶段中分别处于提交状态后备状态执行状态完成状态





  在宏观上讲,作业调入内存后就进入了“运行状态”,但在微观上讲,作业的进程可能被进程调度程序选中而在CPU上 运行,也可能在运行中因等待I/O或某个事件的发生而处于 阻塞 状态,也可能因等待CPU而处于 就绪 状态,因而处于不同的进程状态。

 作业的建立

一个作业的建立过程包括两个子过程:

一个是作业的输入;另一个是JCB的建立。

 作业的输入方式

联机输入方式

脱机输入方式

  脱机输入输出

  它在没有主机的控制下通过外围计算机实现输入输出。作业的输入一般采用预输入方式,即把一批作业穿孔后形成卡片或纸带,利用外围计算机将它们输入到高速后 援存储器 (如磁带、磁盘)中,形成 后备作业

  然后把后援存储器与主机相连,主机调度时就直接从高速后援存储器中选择作业投入运行。作业的运行结果及相关信息也存储在后援存储器上,最后把这些磁带或磁盘取出送到外围计算机上输出。这样,所有输入输出独立于主机(只受外围机控制),故称为脱机输入输出



  脱机输入输出问题

需要人工干预。

  磁带或磁盘在外围计算机机和主机之间的移动与连接就需要由系统操作员手工完成,这既费时费事,也容易出错。

难以体现作业调度的公平性。

  脱机输入输出方式在一批作业全部输入到后援存储器后才与主机相连,等所有作业运行完毕后才把后援存储器取出,送外围机输出。所以,最早提交的作业与最晚提交的作业几乎同时取到结果,周转时间更长,显得不公平。

不容易实现优先级调度。

  在主机处理某批作业的过程中,一个新来作业急需执行一个紧急任务,哪怕费时很少,也无法及时处理,只能与下批作业一起处理,灵活性较差。

码文不易,希望支持,谢谢->支持原创

  SPOOLing系统

  为了克服脱机输入输出的缺点,在多道程序设计发展的基础上,引入通道技术,便出现了一种称为SPOOLing(Simultaneous Peripheral Operation On Line)的操作方式,即外围设备同时联机操作,它把作业的输入输出交给主机与通道共同承担,而不是由外围机单独完成。

  SPOOLing系统中的输入输出方式属于联机操作的特例,有时又称为假脱机方式。

  在SPOOLing系统中,后援存储器一般采用大容量的直接存取设备,如磁盘等,系统中设有两个重要的程序,即负责作业输入工作的输入程序模块(运行时称为
输入进程
)和负责作业输出工作的输出程序模块(运行时称为
输出进程
)。



  SPOOLing系统主要包括输入模块输出模块作业调度及处理井管理模块 几部分。

   工作原理

  利用SPOOLing系统的输入模块在作业执行前通过慢速设备将作业预先输入到磁盘(输入井),这一过程称为
预输入


  作业进入内存运行后,使用数据时,直接从输入井中取出。另外,作业执行不必直接启动外设输出数据,只需将这些数据写入磁盘的输出井,这一过程称为
缓输出


  待作业全部运行完毕,再启动外设输出全部数据和信息。这样一来就实现了对作业的输入、组织调度和输出管理的统一进行。同时,使外设在CPU直接控制下,又与CPU并行工作(故称为假脱机)。

 批处理作业调度

  调度性能评价

  其可采用的指标有:CPU利用率、吞吐量、周转时间、就绪等待时间、响应时间等。

  常见的作业调度算法

先来先服务调度算法(FCFS)。

  根据作业进入系统(即到达输入井)的先后次序来选择作业。算法简单,容易实现,但效率较低。

短作业优先调度算法(SJF)。

  以作业进入系统时所提出的“运行时间”为依据,总是优先选取要求运行时间最短的作业投入运行。

高响应比优先调度算法(HRRN)。

  
响应比
是指作业响应时间与作业运行时间之比 。在每次作业调度时计算所有后备作业的响应比,然后选择响应比最高的作业投入运行。采用这种算法,短作业等待较短的时间就可获得较高的响应比,所以得到优待;而长作业只要等待足够长的时间也能得到较高的响应比,所以不会被无限制地推迟。

优先级调度算法(PSA)。

  在每次作业调度时计算和检查所有后备作业的优先级(一般以优先数形式表示),然后选择优先级最高的作业投入运行。

支持原创

码文不易,希望支持,谢谢->支持原创





再次感谢,大家对本人的支持。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息