计算机的诞生和简史
背景
从第一台计算机诞生到现在已经七十多年了,计算机已经和我们的生活息息相关,很多小伙伴上来就接触高端设备,计算机过去是怎么发展起来的,我觉得还是了解一下会比较好,我是历史爱好者,所以我个人认为学习任何东西都要了解它的过去,就像我以前历史老师跟我说的“不了解过去的人,不会了解现在和未来”,这篇文章就像讲故事,轻松的大家回顾下计算机的发展简史
从发展的里程碑来说,可以分为五个阶段:
- 第一代计算机:真空管计算机 1945年~1955年
- 第二代计算机:晶体管和大型机 1955年~1965年
- 第三代计算机:集成电路和小型机 1965年~1980年
- 第四代计算机:个人计算机和移动终端 1980年~至今
第一代计算机:真空管计算机 1945-1955
二战带来的礼物
二战期间,美国和德国都需要精密的计算工具来计算弹道和破解电报获取情报,美军当时要求实验室为陆军炮弹部队提供火力表,千万不要小看区区的火力表,每张火力表都要计算几百条弹道,每条弹道需要非常复杂的非线性方程组来计算,也只能求出近似值,虽然只是得出近似值但是也不是容易的事情,当时实验室的计算工具,即使雇佣200多名计算员加班加点也需要二到三个月才能完成一张火力表
在战争期间,时间就是胜利,没有人能等这么久,按这种速度可能计算结果出来,战争都已经打完了,在当时的大环境下和美军的资助下,
宾夕法尼亚大学的William Mauchley和他的学生J.Presper Eckert建造了ENIAC,将计算弹道的时间缩短至30秒内,ENIAC是通过用真空三极管让计算机通过控制栅极电流,效率是机电计算机的上千倍,所以同时代的ENIAC(美国),Colossus(英国),Z3(德国)才被看作是现代计算机时代的开端
第二代计算机:晶体管和大型机
第一代计算机留下的问题
第一代电子管计算机存在很多的毛病,例如体积庞大,使用寿命短,就如上章的ENIAC长30米,占地面积170平方米,重达30吨,耗电量150千瓦,ENIAC包含了18000个真空管,但凡有一个真空管烧坏了机器就不能运行,必须人为的把烧坏的真空管找出来,所以制造,维护,使用都非常困难
晶体管的诞生
晶体管也称半导体,是贝尔实验室的肖克利(William Bradford Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain)所发明,晶体管大多数场合都可以完成真空管的功能,而且体积小,重量轻,速度快,所以很快就替代真空管,成为电子设备的核心组件。
晶体管的诞生直接导致计算机可以批量生产,期间的代表机型有 IBM 7090,PDP-1(后来贝尔实验室的 Ken Thompson 在一台闲置的PDP-7主机上创造了UNIX操作系统)
二代计算机主要用于科学和工程计算,如解偏微积分方程,大多是使用FORTRAN语言和汇编语言和IBSYS系统
第三代计算机:集成电路和小型机
更高的性价比
1958年,德州仪器与仙童公司先后研制出集成电路IC,所谓IC,就是采用一定的工艺技术把一个电路中所需的晶体管、二极管、电阻、电容和电感等元件及布线互连在一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内(其实就是封装),这是一个巨大的进步。集成电路的规模生产能力,可靠性,电路设计的模块化方法确保了快速采用标准化集成电路代替了设计使用离散晶体管。
人月神话
集成电路的发明,促使IBM决定召集六万多名员工,创建五座新工厂,研发 System/360 这台机器,这是一次著名的商业豪赌,当时出货时间不断顺延,当时项目经理佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)事后根据这项计划的经验,写作《人月神话:软件项目管理之道》记述人类史一项里程碑式的大型复杂软件系统开发的经验
UNIX 的诞生
由于当年计算机售价昂贵,IBM System/360当年售价200~250万美元(合约现在2000万美元),只有政府,银行,航空和少数学校才能负担的起,为了让更多人用上计算机,麻省理工学院,贝尔实验室和通用电气公司共同研发 分时多任务操作系统 Multics(UNIX的前身,几乎所有现代操作系统都深受Multics的影响,无论是直接 (Linux, OS X)或间接(Microsoft Windows))
Multics 的概念是希望计算机的资源可以为多终端用户提供计算服务(这个思路和云计算的基本是一致的),后因MULTICS难度太大,项目进展缓慢,贝尔实验室和通用相继退出此项目,曾参与 MULTICS 开发的贝尔实验室的程序员 Ken Thompson 因为需要新的操作系统来运行他的《星际旅行》游戏,在申请机器经费无果的情况下,他找到无用使用的 PDP-7 小型机,和 Dennis 共同开发简化版的 MULTICS,就是第一版的UNIX操作系统,K & R等人为了方便在UNIX上编写程序共同发明了C语言,然后又用C语言重写的UNIX,奠定了UNIX坚实的基础(UNIX后续的分支发展可以后面再聊)
第四代计算机:个人计算机和移动终端
苹果的图形界面
Goug Engelbart发明图形用户界面,包括窗口/图标/菜单以及鼠标,这些思想被Xerox PARC的研究人员采用,苹果的Steve Jobs访问PARC时候发现了GUI的潜在价值,而Xerox的管理层恰好没有认识到
Jobs随后设计带有GUI的苹果计算机,并且在第二代Macintosh取得巨大成功,苹果公司采用卡内基梅隆大学的Mach微核,尽管界面不同,但MAC OS X是基于UNIX的操作系统
微软的发展
80年代早期IBM设计了IBM PC并且找到Bill Gates询问操作系统相关事宜,Bill Gates推荐了Digital Research,Digital Research在做出史上最糟糕的商业决策后拒绝与IBM会面,IBM便希望Bill Gates能提供操作系统,Bill Gates找到当时的Seattle Computer Products购买了DOS系统,并且雇佣了DOS作者Tim Paterson修改为MS-DOS,IBM PC配合Intel CPU和MS-DOS在市场中得到广泛应用
微软受到Macintosh成功的影响,开发了称为Windows的GUI系统,后续发布了Windows 95,Windows 98,底层仍大量使用16位的Intel汇编语言,Windows NT和Windows 2000的失败让微软发布了Windows 98的另一个版本,名为Windows Me,2001年微软发布了Windows 2000的一个升级版称为Windows XP,基本替代了Windows所有的原先版本
再后来就是我们熟悉的Windows Vista,Windows 7,Windows 8,Windows 10的产品迭代了
移动终端
20世纪90年代诺基亚,爱立信发布了承载操作系统的智能手机,并在后续十年中大多主流手机品牌运行着Symbian OS,也有手机品牌选择其他系统,例如RIM公司的Blackberry OS,微软的Windows Phone
目前市场主流的系统是苹果的IOS,谷歌基于Linux的Android,到了这里大家就很熟悉了,就不多描述了。
更多技术咨询,请关注公众号,find me !