一文速览计算机的前世今生

移动开发
那么这些技术是如何发展到今天这种形态呢,本文将以独特视角切入,带你畅读计算机的今生、前世。

Part 01

引言 

计算机发展史洋洋洒洒近80年,一篇短文想讲透是不现实的。但不必担心,作为普通用户,只需记住一个神奇年代,计算机发展史就能在你眼前脉络清晰起来,那便是——1970s初。

Part 02

俯瞰今生 

为什么是1970s初?因为如今我们所见的计算机,其赖以生存的各项技术,都在1970-1973这3年间呱呱坠地,不信且看——

➵ 1970年,英特尔,发布了第一款商用DRAM内存。电脑要是离了内存可玩不转。

➵ 1971年,英特尔,发布了第一款商用微处理器,即如今的CPU。有了它,电脑才能小巧玲珑。

➵ 1971年,贝尔实验室,研发出了Unix操作系统第一版。Unix是今天绝大多数操作系统的老祖宗,包括无处不在的Linux(含安卓)、苹果系统等等。计算机时间的“起点”(1970年1月1日0点),也是Unix定义的。

➵ 1972年,贝尔实验室,研发出了C语言。C语言可能是影响力最大的编程语言了,许多操作系统、编程语言都直接或间接基于C语言。

➵ 1973年,ARPA,设计了TCP/IP协议,它是互联网的基石。电影《流浪地球2》通过重启全球互联网拯救地球,背后依赖的正是TCP/IP协议簇。

➵ 1973年,IBM,发布了第一款现今结构的机械硬盘。

1973年,施乐公司,发明了第一款图形界面操作系统,实现了简单直观的人机交互,为计算机的普及奠定了重要基础。

总的来说,今天计算机最重要的几样东西,基本都在1970s初诞生。

你可能会想,哇塞,70年代初也太厉害了吧,竟然发生了这么多大事,那后来的岁月里,计算机都发展了什么?

后来的故事

70年代后期,个人电脑诞生,从此昂贵的计算机不再是政府、企业、高校的专属。

80年代,消费者的福音——图形界面操作系统开始商用流行,即苹果系统、Windows(用C/C++写的)。

90年代,程序员中广为流行的生产力工具诞生——Python和Java(用C/C++写的)。

90年代,数十亿人工作、生活所需的信息高速公路诞生——万维网(基于TCP/IP)。

21世纪:

00年代,智能手机操作系统的王者——Android、iOS诞生(间接源自Unix)。

10年代,移动互联网、云计算大火。

20年代,现有技术的集大成者——元宇宙,在2021年起飞。

对比而言,70年代初有如开挂,浓缩了太多开创性成果,而之后的岁月里,发展似乎相对乏善可陈,更多的是既有技术的优化升级。

譬如CPU,位数从最初的4位,一路“奔腾”到如今主流的64位,性能也巨幅提升。

譬如DRAM内存,诞生之初叫DRAM(动态随机存取存储器,简称动态内存);后来一路升级,不断叠加前缀,如今叫LPDDR5 SDRAM(第5代低功耗双倍数据率的同步动态内存)

图片

图1 内存名称释义

如果把1970后的计算机看作“今生”,那它的“前世”又在干嘛呢?难道在1970s前,就没有如今的这些硬件、软件系统吗?

要知道,人类首次登月是1969年,70年代初的那些技术都还没问世,那登月所依赖的系统是什么模样?

Part 03

回眸前世 

一般认为计算机诞生于1946年,那么直到1970年,计算机的发展都经历了什么?这里用“三化”来概括:

  • 硬件小型化
  • 操作系统人性化
  • 编程语言高级化

硬件小型化

最初计算机的电路用的是电子管,整体足有2个房间大。难以想象前人为了掌控这庞然巨兽需要付出多么艰苦卓绝的努力。

幸运的是,50年代有了晶体管和集成电路技术,让CPU和内存先后开始小型化,从而逐渐实现整机的小型化。进化路线为:巨->大->中->小型机,至于微型机(微机),则到70年代才出现。

集成电路使芯片小型化的同时性能飞升,进而支撑起丰富的上层应用。而集成电路的关键工艺在光刻技术,所以为什么说先进光刻机会卡脖子,因为它在产业链上游,一旦掐断,下游可不就巧妇难为无米之炊了。

操作系统人性化

如今的电脑似乎有三头六臂,同时放歌、下视频、聊微信,不费吹灰之力。

然而早期的计算机却相当“专心”,一个任务做完了再做下一个。当时计算机稀缺、速度还慢,几十号人只能排队轮流使用。

五、六十年代出现的“批处理”、“分时”操作系统则改善了这种糟糕的用户体验。

分时的精髓在于,各任务在微观上是轮流执行,宏观上却表现为并行,而用户基本察觉不出来这种假象。这个人性化的设计可算是解决了用户的痛点,当然,这种操作离不开CPU性能的提升。

编程语言高级化(自动化)

Python这些年一直很火,原因之一是简单而强大,即使非专业人员也能用Python实现办公自动化,从重复劳动中解放出来。而这,需要感谢当年编程语言的高级化。

我们知道计算机底层是0和1,最初人类直接用0和1组成的机器语言,读或写都很吃力,更别说出错后的排查了。

后来有了相对易读的汇编语言,但效率还是相对低下。

1957年,第一款高级语言Fortran推出,实现自动编程。

从此,人只用写简单的表意文字,计算机就能自行翻译为机器语言;此外,用简单符号就能代指复杂功能,实现四两拨千斤的效果,可以说大大解放了人力。

表1列举了计算机早期各技术的重点发展,有兴趣的可参考。

表1 计算机早期发展重点列举

图片

Part 04

 照向未来 

了解计算机发展史有何意义呢?

一方面,千变万变,底层不变。

算力网络、智慧家庭、元宇宙,是近年来较热门的事物,它们较大程度上是基于现有技术进行整合创新,如云计算、物联网等等,而这二者归根结底是CPU、内存、操作系统、网络等等在强力支撑。了解根源,透过现象看本质,面对千变万化的新事物才能更从容不迫。

比如算力网络不是凭空冒出来的,它勾勒的愿景(让算力成为像水电一样的基础设施,即取即用),早在1960年代分时操作系统出现后,就有了类似的设想与大规模实践,只是由于时代的局限未能长存。

(基于这些硬件软件构筑的计算机体系,究竟有多璀璨夺目、高效神速,可参考移动Labs公众号的这篇《揭秘:千里送信为何能瞬时到达》

另一方面,以史为镜,可知兴替。

随着国际形势的变化,推进芯片、操作系统等关键技术国产化的紧迫性剧增,毕竟底层为基,如果底层技术抽走,那上层建筑再绚丽宏伟也会轰然倒塌。

在国产化进程中,我们某种程度上将重走计算机生态的发展历程,以史为鉴,可以少走弯路。

当然,本文只是抛砖引玉,尝试拨开消费者眼中计算机上笼罩的迷雾,以一窥全貌。更多史料,可见文末参考资料。

Part 05

结语 

话说回来,1970s初,真的有那么重要吗?

实际上更重要的是集成电路,分时系统,高级语言等,这些诞生于五六十年代的技术,为后来的发展奠定了基础。70年代初的成果爆发与其说是迸发的巧合,不如说更像是水到渠成的必然。

但这并不妨碍我们将1970s看作一个重要的里程碑节点,毕竟我们消费者最熟悉的就是手头的电脑(微机),它不凡的身世,就得1970s这个神奇的分水岭讲起:

在1970s初的3年里,如今电脑最重要的硬件软件纷纷登上历史舞台;

往后的“今生今世”,大致是基于这些成果的不断升级创新。

往前的“史前文明”,大致是三化:硬件小型化(集成电路)、操作系统人性化(分时)、编程语言高级化(自动化)。

彩蛋

前面提到的1970s初那些技术,皆由美国创造,想必当时美国是盛极一时吧?

恰恰相反,当时美国的日子并不好过。

上世纪70年代的美国,经济上终结了二战以来的高速增长,进入停滞阶段;政治上处于冷战时期的“苏攻美守”阶段,美国面临很大压力。后来长期称霸CPU的英特尔,当时也曾陷入绝境,在1975年甚至要考虑卖掉自己。

可危机时常是危与机并存不是吗?

美国担心苏联核武轰炸导致自己的指挥系统瘫痪,所以研发了“阿帕网”(1969),互联网由此发端。

70年代初各成果固然诞生,但还不成气候,直到90年代才迎来互联网经济大繁荣。而这一繁荣的技术底座,早在70年代就已埋下伏笔。

国内正处制裁危机,但也因此大力推进关键技术国产化,产业体系将迎来一次自底向上的涅槃重生。

2020s初的此时时刻,或许正如1970s初的彼时彼刻。相信今天夹缝生存的不屈成长,终会在不远的未来,结出累累硕果。

责任编辑:庞桂玉 来源: 移动Labs
相关推荐

2022-03-13 18:27:09

Redis数据库开源

2020-05-15 15:29:36

Stata数据分析

2018-05-31 09:46:04

车联网智能交通ITS

2019-01-16 09:56:27

2019-05-22 17:34:16

代码开发工具

2017-06-09 08:49:49

2024-03-29 16:04:25

算法计算机算法

2022-08-19 09:24:46

计算机技术

2018-08-08 16:08:45

深度学习机器学习NLP

2019-03-14 12:51:47

云计算云平台公有云

2021-09-09 09:29:03

AI 数据模型

2024-07-11 10:27:52

2023-07-25 13:59:29

谷歌论文

2012-06-29 09:19:39

大数据

2011-08-23 09:52:31

CSS

2017-03-16 15:28:20

人工智能视觉识别

2015-11-18 14:14:11

OPNFVNFV

2014-07-30 10:55:27

2011-08-15 09:36:01

2016-11-08 19:19:06

点赞
收藏

51CTO技术栈公众号