在单批道操作系统之前是最原始的计算机系统,在这个阶段,我们的操作方式是将穿孔的纸带或卡片装入输入机后,在启动输入机将纸带上的程序和数据输入计算机,然后计算机再执行,这种操作方式成为人工操作方式。人工操作方式在进行I/O操作时,计算机的CPU不得不停止工作等地输入完成,这样就人工输入很慢但是CPU的执行速度是很快的,这就造成了资源的巨大浪费。为解决这种低利用率的的人机矛盾,逐渐开发出了脱机输入/输出技术。脱机输入/输出方式可以理解为在主机和输入机之间加入一个磁盘(实际不是直接就这样连接了),这样就不需要直接阿静数据或者程序注入到主机中,而是注入到磁盘中,主机再从磁盘中读取数据或程序来执行,如果一个磁盘‘接入’多个输入机,那么就可以是的多个用户同时能够注入程序或者数据提供给计算机处理,从而提高资源的利用率。
1、单批道处理系统
单批道操作系统的出现,目的还是降低及其的空闲等待时间,提高资源的利用率
单批道操作系统的运行机制如下:在以脱机输入的方式将数据或程序注入到磁带中后,为系统配置一个监督程序(调度),在他的控制下,将磁带中的一批程序或数据一个接一个的注入到内存中提供给计算机执行,这样就行成了早期的批处理系统,但由于的监督程序是在计算机执行完成一个再从磁带中调度另一个进入内存中国执行,实际上还是单个处理,因此这样的操作系统称作单批道处理系统。
缺点:资源得不到充分利用,空闲状态多。
2、多批道处理系统
多批道操作系统的出现同样是一个原因,提高资源的利用率。
假如一道程序A在执行时只需要使用到O资源,而程序B执行时只需要使用P资源,那么按照单批道操作系统的处理方式,先调度A程序执行,再调度B程序执行,那么这就造成了在A程序执行时,P资源空闲,而B资源执行时O资源又空闲。于是为了解决这种浪费,设计出了多批道处理系统。多批道处理系统利用调度程序将一批程序或数据调入内存,让各个程序之间共享内存中的资源,当某个程序因为I/O操作需要暂停时,CPU则利用这段空闲时间转而去执行另外的程序,这样的处理方式称为多批道处理系统。
多批道处理系统大幅提高了资源的利用率,但是又出现了更多的需要解决的问题:
- 用户一旦将程序提交到系统后,就需要一直等待到它执行完成,中间无法进行修改、调试等操作;
- 程序之间在抢占CPU时,怎么才能合理;
- 不同的程序需要不同的内存来存储自己执行时产生的数据,内存如何分配;
- 产生的数据或者文件,在内存中如何管理等
3、分时系统
分时系统的出现最主要的原因仍旧是,提高资源利用率,但是同时还要解决在多批道处理系统中出现的问题。
解决无法人机交互的问题:提供终端给用户,用户键入命令后系统接收到后即时处理该命令。而计算机处理的可能是多个用户的程序,因此应当设置多个终端提供给不同的用户,这里便引入了多路卡的概念。由于多喝用户可能是同一时刻输入的命令,因此需要在系统内部设置缓冲区来暂时存放用户命令, 然后逐条处理。
解决人机交互控制程序问题:在原先的多批道处理系统中,程序是预先存放在磁盘中的,然后再调入到内存中运行,但是程序分属于不同的用户时,可能出现该用户键入命令时,程序并没有在内存中,而是在磁盘中,这样就导致无法控制到程序的运行。因此,在分时系统中,将所有的程序直接注入内存而不是中。
解决程序在执行时CPU分配的问题:如果在程序执行时,某个程序很长时间没有任何的I/O操作,那么久导致了其他程序没有任何机会被调度也无法及时的和用户的操作即时响应。为了避免这种情况,引入了时间片的概念,即规定每个程序(作业)每次只能运行一个时间片(例如:30ms),然后就暂停该程序转而执行另一个,这样就使得用户的操作能够即时响应。