根据操作系统在用户界面的使用环境和功能特征的不同,对操作系统进行分类分类的目的是为了便于更好的理解和掌握操作系统的本质和特征。 按照用户界面的使用环境和功能的不同,一般可以把操作系统分为三种基本类型,即批处理系统,分时系统和实时系统,随着计算机体系的发展,又出现了许多类型的操作系统,他们是个人操作系统,网络操作系统,分布式操作系统和嵌入式操作系统。
批处理操作系统
从操作系统的发展历史中,我们知道批处理操作系统是一种早期的操作系统。
基本工作方式
批处理操作系统的基本工作方式是,用户将作业交给系统操作员,系统操作员在收到作业后,并不立即将作业输入计算机,而是在收到一定数量的用户作业之后,组成一批作业,再把这批作业输入到计算机中,这批作业可在系统中形成一个连续的自动转接的作业流。系统操作员然后启动操作系统,系统自动、依次执行每个作业,最后由操作员将执行完毕的作业结果交给用户。
特点与分类
批处理操作系统的特点是批处理,在批处理系统中,用户自己不能干预自己作业的运行,显然用户在提交作业投入运行之后,如果发现错误则无法及时更正,需要重新提交一份经过改正的作业,再次排队运行,这种运行方式延长了软件开发时间,所以批处理更为适用于成熟的程序。 批处理操作系统追求的目标是系统资源利用率高,系统作业吞吐率高。这里所谓作业吞吐率是指单位时间内计算机系统处理作业的个数,批处理操作系统的优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率,其缺点是用户不能直接与计算机交互,不适合调试程序。 依据系统的复杂程度和出现时间的先后,可以把批处理操作系统分为简单批处理操作系统和多道批处理操作系统。
设计思想
简单批处理系统是在操作系统发展的早期出现的,因此它有时被称为早期批处理系统,在操作系统发展的早期,简单批处理系统被称为监控系统,其设计思想是,在监控程序启动之前,操作员有选择的把若干作业合并成一批作业,将这批作业安装在输入设备上,然后启动监控程序,监控程序将自动控制这批作业的执行,系统的运行过程是,先把第1个作业调入内存运行之,等这一个作业运行结束之后,再把下一个作业调入内存并运行至如此往复,直到这一批所有的作业都处理完毕,全部作业运行结束之后,操作员把运行的结果一起交给用户,可以看到,在这种系统工作方式下,作业的运行及作业之间的衔接都有监控程序自动控制,从而有效的提高了作业的运行效率。
作业控制说明书
在简单批处理系统中,作业的运行步骤是由作业控制说明书来传递给监控程序的,作业控制说明书是由作业控制语言编写的一段程序,它通常存储在被处理作业的前面,在运行过程中,监控程序读入并解释作业前面的这段作业控制说明书中的语句,以控制每个作业步的执行。
一般指令和特权指令
在简单批处理系统的发展阶段,为了防止由于用户的错误而导致整个系统发生不可预料的结果,有必要对中央处理器的运行划分不同的状态,这就为中央处理器引入了运行模式的概念。 运行模式通常分为用户模式和特权模式,在操作系统领域中,人们往往把用户服务的用户模式称为目态,而把系统专用的特权模式称为管态。相对应的,机器指令被划分为一般指令和特权指令,特权指令包括输入输出指令,停机指令等,只有监控程序才能执行特权指令,用户程序只能执行一般指令,一旦用户程序需要执行特权指令,处理器会通过特殊的机制将控制权移交给监控程序。 有了这样的区分之后,由于输入输出指令属于特权指令,所以用户程序将不能直接使用输入输出指令,不能直接指挥外部设备,他们必须向操作系统请求这些功能,这个请求通过所谓的系统调用,或者叫做广义指令完成。监控程序,实现这些系统调用的功能。这些系统调用一般都有对应的功能代码,供调用时使用。
系统调用的过程
首先当系统调用发生时,处理器通过一种特殊的机制,通常是中断或者异常处理,把控制权流程转移到监控程序内的一些特定的位置。同时处理器模式转变成为特权模式。 其次,由监控程序执行被请求的功能代码,这个功能代码代表着对一段标准程序段的执行与完成所请求的功能。 最后处理结束之后,监控程序恢复系统调用之前的现场,把运行模式从特权模式恢复成为用户模式,最后将控制权转移回原来的用户程序。
SPOOLing技术
简单批处理系统的监控程序由一个系统操作员,他负责批处理作业的输入输出,自动根据作业控制说明书以串行方式运行各个作业,并提供一些最基本的系统功能。但是,它并不具有并发能力,即不能实现多个程序的同时运行,真正引入并发机制的是多道批处理系统。 为了提高硬件资源的利用率,人们在监控程序中间引入了缓冲技术和多道程序设计的概念,批处理系统发展为更加高级的多道批处理系统。在多道批处理系统中,关键技术就是多道程序运行,假脱机(SPOOLing)技术等。 在简单批处理系统中做也是创新的,作业的执行速度受到各种慢速设备的制约,系统很有很多时候(尤其是在操纵慢速设备时)只能慢慢等待,处理器利用率难以提高,为了解决这个问题,出现了脱机输入输出技术,为主机配备相对高速的磁带设备,主机的所有输入输出操作在磁带机上完成,另外配备若干卫星机,他们负责将用户的作业,从卡片传输到磁带上,执行时,由操作员负责把成卷记录了若干作业的磁带装到主机上去处理,这种技术通过实数输出与计算,在不同的设备上并行操作,从而有效的提高了处理器的利用率。 不过这种脱机输入输出技术并没有从根本上解决输入输出缓慢的问题,于是出现了假脱机技术,借助硬件通过通道技术实现的输入输出操作核处理器动作的自动并行处理。通道是指专门用来控制输入输出的硬件设备,可以看作是专门的IO处理器通道,基本上是自主控制出外设的,可以与处理器并行工作。 假脱机(Simultaneous Peripheral Operating On-Line,SPOOLing)技术的全称是“同时的外部设备联机工作”。这种技术的基本思想是用磁盘设备作为主机的,直接输入输出设备,主机直接从磁盘上选起作业执行,作业的执行结果也存储在磁盘上,相应的通道则负责将用户作业从卡片机上动态写入磁盘,而这一操作与主机并行类似的操作也用于打印输出用户作业运行结果。 需要指出的是,通道直接受主机控制,它们之间通过中断相互通信,假脱机技术为实现多道批处理系统中的多道程序设计思想提供了重要的基础。 多道程序设计的基本思想是在内存中同时保持多个作业,主机可以以交替的方式同时处理多个作业,一般来说,任何一道作业的运行总是交替使用处理器和外设资源,而不同的作业一般也不会在相同时段内要求使用同一台外设或者处理器,如果通过合理的调度,让多个作业交替的同时使用不同的资源,那么就可以大大的提高,各种外部设备的利用率就以简单思想通过多道批处理系统得以具体的实现。