在这个时期,同一个小组里的工程师们,设计、建造、编程、操作及维护同一台机器,所有的程序设计是用纯粹的机器语言编写的,甚至更糟糕,需要通过成千上万根电缆街道插件板上连成电路来控制机器的基本功能。没有程序设计语言(汇编也没有),操作系统则是从来都没听说过。使用机器的过程更加原始。
特点:
a. 没有操作系统的概念
b. 所有的程序设计都是由纯粹的机器语言编写的
工作过程:
程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件版到机房里,将自己的插件板街道计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着(两万多个真空管经常会有被烧坏的情况出现)。后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板
优点:程序员在申请的时间段内独享整个资源,即时的调试自己的程序,如果有bug可以即时处理。
缺点:这对于计算机提供商来说是一种浪费(你买一台电脑4000块,那 一年中你用365比只用1天,肯定是省成本的,物尽其用)你有一台电脑你往外租,你一次租2个小时,那么即便是用户在第一个小时就已经完成工作了,剩下的1个小时你的电脑就空闲了,而一天你只能租给12个人,相当于要浪费12个小时。
注意:同一时刻只有一个程序在内存中,被cpu调用执行,比如说10个程序的执行,是串行的。
第二代计算机(1955~1965):晶体管和批处理系统
第二代计算机的产生背景:
由于当时的计算机非常昂贵,自认很自然的想办法较少机时的浪费。通常采用的方法就是批处理系统。
特点:
设计人员、生产人员、操作人员、程序人员和维护人员直接有了明确的分工,计算机被锁在专用空调房间中,由专业操作人员运行,这便是“大型机”。
有了操作系统的概念,下图就是最早期的操作系统:是人力与计算机结合的系统,需要人参与。
有了程序设计语言:FORTRAN语言或汇编语言,写到纸上,然后穿孔打成卡片,再讲卡片盒带到输入室,交给操作员,然后喝着咖啡等待输出接口
工作过程:插图
图3
第一代计算机的问题是:
人机交互太多了(人机交互过程:输入-》计算-》输出)
一个人的交互:输入-》计算-》输出
10个人的交互:
输入-》计算-》输出
输入-》计算-》输出
输入-》计算-》输出
输入-》计算-》输出
输入-》计算-》输出
第二代如何解决第一代的问题:
1.把一堆人的输入攒成一大波输入,
2.然后顺序计算(这是有问题的,但是第二代计算也没有解决)
3.把一堆人的输出攒成一大波输出