此阶段还没有操作系统(1940s后期 - 1950s中期)
名称由来:用户必须顺序访问计算机。(access in series)
特点:程序员是通过直接与计算机硬件打交道的方式来操作计算机。
操作方式:由于没有操作系统,机器是在一个控制台上运行的,控制台包括:显示灯、触发器(拨动开关)、输入设备、打印机。用机器代码编写的程序通过输入设备(如卡片阅读机)载入计算机。如果错误导致程序终止运行,显示灯会给出指示。如果程序正常完成,运行结果会出现在打印机中。
两个主要问题:
在某些操作系统中,作业(job)是计算机操作者(或是一个叫做作业调度器的程序)交给操作系统的执行单位。
作业 = 程序 + 相应的数据 + 作业说明书
中心思想:使用一个称为监控程序(monitor)的软件
计算机操作员把用户的作业组织成批(batch)
工作方式:用户不再直接访问机器,而是把卡片或磁带中的作业交给计算机操作员,由操作员把这些作业按顺序组织成一批,放在输入设备上,交给监控程序使用。要执行作业时,监控程序会将CPU控制权移交给作业,每个作业执行完毕又都会将CPU的控制权返回给监控程序。接着监控程序继续加载下一个作业。
下面分别从监控程序(Monitor)和处理器(CPU)这两个角度分析工作原理:
监控程序角度:
监控程序控制事件的顺序。因此需要大部分监控程序必须总是处于内存中并且可以执行,这部分称作常驻监控程序(resident monitor)。监控程序每次从输入设备(通常是卡片阅读机或磁带驱动器)中读取一个作业,并将其置于内存中的用户程序区域,并把控制权交给该作业。当作业完成后,控制权返回给监控程序,监控程序继续读取下一个作业。每个作业的结果被发送到输出设备(如打印机),交付给用户。
处理器角度:
从某个角度看,处理器执行内存中存储的监控程序中的指令;这些指令读入下一个作业并将其存储到内存中的另一个部分。一旦已经读入一个作业,处理器将会遇到监控程序中的分支指令,分支指令指导处理器在用户程序的开始处继续执行。处理器继而执行用户程序中的指令,直到遇到一个结束指令或错误条件。不论哪种情况都将导致处理器从监控程序中取下一条指令。
因此,“控制权交给作业”仅仅意味着处理器当前取和执行的都是用户程序中的指令,而“控制权返回给监控程序”的意思是处理器当前从监控程序中取指令并执行指令。
监控程序完成调度功能:一批作业排队等候,处理器竟可能迅速地执行作业,没有空闲时间。
监控程序改善了作业的准备时间:每个作业中的指令均以一种作业控制语言(Job Control Language,JCL)的基本形式给出,这是一种特殊类型的程序设计语言,用于为监控程序提供指令。(向monitor描述操作)
可见,监控程序(或者说批处理操作系统),是一个简单的计算机程序。它依赖于处理器可以从内存的不同部分取指令的能力,得以交替地获取或释放控制权。
此外还考虑到了其他硬件功能:
内存保护和特权指令引入了操作模式的概念。
简单批处理系统提高了CPU资源的利用率,但是由于I/O设备相对于处理器的速度太慢(一个用户程序要使用I/O设备,CPU必须等待),处理器经常是空闲的。
下图显示了只有一个单独程序的情况,被称为单道程序设计(Uniprogramming):
这种低效率是可以避免的。内存空间可以保存操作系统(常驻监控程序)和一个用户程序。假设内存空间容得下操作系统和两个用户程序,那么当一个作业需要等待I/O时,处理器可以切换到另一个可能并不在等待I/O的作业,进一步还可以扩展存储器以保存三个、四个或更多的程序,并且在它们之间进行切换。这种处理称做多道程序设计(Multiprogramming)或多任务处理(Multitasking),它是现代操作系统的主要方案。
CPU利用率的算法:
利用率 = (不同阶段的使用时长×对应的使用率)/ 总时长
同简单的批处理系统一样,多道批处理系统必须依赖某些计算机硬件功能,如支持I/O中断和直接存储器访问(DMA)的硬件。
多道批处理系统也存在一些新的问题:
多道批处理系统已经极大地提高了计算机系统的效率,但是对于用户交互性的实现并不好。所以出现了分时技术(Time-Sharing),多个用户可以同时分享处理器时间,以达到减少用户响应时间的目的。
在分时系统中,多个用户可以通过多个终端同时访问系统,由操作系统控制每个用户程序以很短的时间为单位交替执行。(分时复用,操作系统以时间片为单位,轮流为每个终端用户服务)
批处理和分时都使用了多道程序设计(multiprograming),其主要差别如下表:
批处理多道程序设计 | 分时 | |
---|---|---|
主要目标 | 充分使用处理器 | 减小响应时间 |
操作系统指令源 | 作业提供的作业控制语言命令 | 从终端键入的命令 |
同样的,分时处理系统也需要很多计算机硬件支持(如中断机制等)
像多道批处理系统,分时系统同样也存在以下问题:
操作系统的发展(The Evolution of Operating Systems)
原文:https://www.cnblogs.com/skyey7/p/14585992.html