多到程序设计

多到程序设计, 用于解决顺序执行的问题:

真空管与穿孔卡片(无操作系统,也就是第一代操作系统)

  在以前第一代计算机,处理任务,用的是卡片的方式,需要 输入  处理  输出 三部分组成  任务1卡片 处理完后, 任务2卡片  才能继续处理,这多当时来说 CPU是很大的浪费

  如下图

晶体管和批处理系统(二代操作系统)

一代计算机的问题:
    人机交互太多了(输入--->计算--->输出  输入--->计算--->输出 输入--->计算--->输出 ) 
解决办法:
        把一堆人的输入攒成一大波输入,然后顺序计算(这是有问题的,但是第二代计算没有解决)再把计算结果攒成
        一大波输出,这就是批处理系统
     这时候,第二代操作系统,最主要的方式是进行批处理的改进,把任务1卡片 任务2卡片 放到一个清单卡片中,这样计算处理时候就按清单卡片中的任务进行处理,但是这时候会有个问题,清单卡片中的任务1不处理完成,就会一直处于IO等待,无法执行任务2的内容,这时候就出来第三大操作系统;使用多道技术 操作系统前身: 在收集了大约一个小时的批量作业之后,这些卡片被读入磁带,然后磁带被送到机房里并装到磁带上。然后磁带被送到 机房里并装到磁带机上。随后,操作员装入一个特殊的程序(此乃现代操作系统的前身),它负责从磁带上读入第一个 作业(job,一个或一组程序)并运行,其输出写到第二个磁带上,而且不打印。每个作业结束后,操作系统自动的从 磁带上读入下一个作业并且运行。当一整批的作业全部结束后,操作员去下输入和输出磁带,讲输入磁带换成下一批作 业,并且把输出磁带拿到一台1041机器上进行脱机(不与主计算机联机)打印 优点:批处理 缺点: 1 图的中间还有俩小人 2 仍然是顺序计算

 

集成电路芯片和多道程序设计(第三代操作系统)

 针对二代计算机的两个主要问题

    开发出SPOOLING技术:
    卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁
    带读出,装进空出啦的内存区域运行,这种技术叫做同时的外部设备联机操作:SPOOLING该技术同时用于输出。当采
    用了这种技术后,就不在需要IBM1401机了,也不必将磁带搬来搬去了(中间俩小人失业了),强化了操作系统的功能

    开发出多道程序设计,用于解决顺序执行的问题:

    在7094机上(程序运行的机器),若当前作业因等待磁带或等待其他IO操作而暂停,CPU就处于休闲状态直至IO操作
    完成,对于CPU密集的科学计算,IO操作少,浪费时间不明显,对于商业数据处理,IO等待能到达80%~90%,所以必
    须解决CPU浪费的现象。

    解决方案:将内存分为几个部分,每一部分存放不同的作业,如图1-5所示。当一个作业等待IO完成时,另一个作业可以
    使用CPU,内存中放足够的作业,则CPU的利用率能接近100%
   大白话:也就是 清单中的任务1 任务2 任务3 当处理到任务1的时候 出现了IO等待(也就是说写入或者读取操作的时候),CPU进行切换,处理任务2 如果任务2也有IO等待,就切换到任务3 最后有返回到任务1上面处理,这样顺序处理就是多道技术,大大的提高了CPU使用率(我们现在操作系统进程有使用到这种技术) 此时的第三代计算机适合大型科学计算和繁忙的商务数据处理,但,本质上其仍是一个批处理系统。 虽然解决了诸如以上问题,但多个作业必须在全部运行结束后,才能得到结果,从一个作业的提交到运算结果取回往往 长达数小时。 想象一个场景:A君 B君 C君 三个程序员同时在调试程序,一旦A君写错一个逗号,那么可能需要半天的时间才能看到结
果,因为B君C君的结果也同时运算出来了。时间必然要长。一言以蔽之:大家一起存作业,大家一起去数据(磁带) 许多程序员怀念第一代独享的计算机,可以即时调试自己的程序。为了满足程序员们很快可以得到响应,出现了分时操作系统 分时操作系统:多个联机终端+多道技术 20个客户端同时加载到内存,有17在思考,3个在运行,cpu就采用多道的方式处理内存中的这3个程序,由于客户提交的一般
都是简短的指令而且很少有耗时长的,索引计算机能够为许多用户提供快速的交互式服务,所有的用户都以为自己独享了计
算机资源

猜你喜欢

转载自www.cnblogs.com/ajaxa/p/9103716.html
今日推荐