纵观操作系统的发展史,大概可以把操作系统分为三种大的类型,即多道批处理系统、分时操作系统和实时操作系统。
分时系统是在70年代中期产生的。马克思主义哲学认为事物发展的源泉和动力是矛盾。在分时系统即将诞生的黎明,多道批处理系统本身所固有的矛盾急切要求人们去寻找一种新的、优于多道批处理系统的操作系统。那么多道批处理系统本身所固有的矛盾是什么呢?
大家知道,多道批处理系统是由单道批处理系统发展起来的。所以在讲多道批处理系统之前,先让我们简单地了解一下单道批处理系统。单道批处理系统是将多个用户的作业形成一批,由卫星机主机之外的计算机将这批作业输入磁带中,然后主机再从磁带中依次地将作业一个个读入主存进行处理。单道批处理系统的最大特点是在某一时刻主存中只有一个用户作业在运行。显然以这种方式处理作业其效率是相当低下的。正如乱世出英雄,因为英雄可以改造世界,拯救世界!当一种技术被人们认识到存在严重缺陷时,另一种新的技术必将应运而生!60年代末伴随硬件技术的发展,出现了两种非常重要的技术,分别是通道技术和中断技术。所谓通道就是一种负责控制I/O设备的专用输入输出I/O处理器,它是一种慢速的设备,可以合CPU并行;而中断技术的应用使得主机拥有了处理异步突发事件的能力。这两种技术的结合就诞生了一个新的“婴儿”,那就是多道程序设计。也就是说,在计算机的主存中可以同时存放多个作业,并且让其处于运行状态。CPU在执行作业程序时可以不必关心输入输出设备的控制问题,因为它将这个工作交给了通道。当CPU需要在主存和外设之间传输数据时,通过发送I/O指令命令通道工作,通道独立地在主存和外设之间传输数据,I/O操作完成以后,通道以中断的方式通知CPU,从而实现了CPU计算和I/O操作的并行。由于在主存中存放着多道作业,当一个在CPU上运行的作业要求传输数据时,CPU就可以转去运行主存中的其他作业,这样就节省了CPU的等待时间,大大提高了系统CPU的利用率的吞吐率。
然而,任何事物都有两面性。多道批处理系统具有效率较高的优点,但是在多道批处理系统产生以后,程序员和操作员的工作出现了分工。程序员只要负责编制、开发程序,而程序的运行等工作就可以交给操作员去完成。这在很大程度上减少了程序员的工作负担,但却让程序员和系统失去了交互。从而给给程序员的开发工作带来了极大麻烦。因为如果开发出来的程序有问题,程序员再去纠错找错时显得极为不便,大大延缓了程序的开发进度。这时候程序员就想,要是能够直接控制程序运行,随时纠正错误,以及可以研究改变某些参数所产生的影响就好了!正是这时候,当某一天程序员忍无可忍时,分时系统在麻省理工大学诞生了!
分时系统,顾名思义就是多个用户分享使用同一台计算机,多个程序分时共享硬件和软件资源。实际上是将计算机的系统资源(如CPU时间)进行时间上的分割,即分成一个个时间段,每一个时间段就叫做时间片。分时操作系统一般是在一台计算机上连接多个带有键盘和显示的终端,同时允许多个用户通过主机终端以交互式的方式使用计算机,共享主机的资源。在多用户分时系统中,每个用户通过自己的终端将程序送到机器中,而在机器中形成了多道作业,通过对处理器的分时,而使终端上的用户可以交互地控制程序的运行,这既保证了交互性,又使效率不致降低,解决了交互性和效率之间的矛盾。多用户分时系统的交互性体现在用户宏观上感觉好像自己独占一台计算机一样,实际上从微观来看所有的用户只有在自己的时间片到来之后才能工作,也就是每个终端轮流地使用时间片。由于人在终端的操作速度很慢,而处理机在很短的时间内就可以给终端分配好几个时间片,从而保证了终端用户在感觉上就像自己独占一台计算机一样,而实际上这只是一个错觉,只是用户没有觉察而已。
分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,允许有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。