[计算机概括(基础篇)]第一章:全景图
1.计算系统
在本专栏中,我们将探讨计算系统的方方面面,本篇文章让我们先一起初步了解计算机的全景图吧。首先让我们先区分计算机和计算系统,计算机是一种设备,而计算系统则是一种动态实体,用于解决问题以及与它所处的环境进行交互。计算系统由硬件、软件以及它所管理的数据构成。计算机硬件是构成机器及其附件(包括机箱、电路板、芯片、显示器等)的物理元件集合。计算机软件是提供计算机执行的指令的程序集合。计算机系统的核心是它管理的信息。如果没有数据,硬件和软件都毫无用处。
1.1 计算系统的分层
计算系统就像一个洋葱,由许多层构成,让我们简单地以自顶向上方法(从内到外)讨论一下每个分层,后续文章会详细讨论它们。
最内层的信息层反映了在计算机上表示信息的方式,是一个纯概念层,采用二进制数字1和0管理。所以要理解计算机处理技术,首先必须理解二进制数字以及它与其他数制的关系,后续文章中我们会详细讨论。
接下来的硬件层由计算机系统的物理硬件组成,计算机硬件包括的设备有门和电路,它们按照基本原理控制电流,通过这些电路可以使计算机的硬件元件(CPU、存储器等)得以运转。
程序设计层负责处理软件,用于实现计算的指令以及管理数据。
每台计算机都有操作系统,用来管理计算机的资源(如Windows,Linux 或 mac os)。操作系统可以使我们与计算机系统进行交互,管理硬件设备、程序和数据间的交互方式。了解操作系统是让我们理解计算机的关键。
然后是应用层,应用层的重点则是用计算机解决现实世界的问题,我们可以通过运用应用程序在其他领域利用计算机的能力。
当然我们可以使用计算机技术进行通讯,通讯层则是计算系统操作基础层。计算机被连接在网上,以共享信息和资源。

1.2 抽象
抽象(abstraction)是一种心理模型,是一种思考事情的方式,他删除或隐藏了复杂的细节,抽象只保留实现目标所必须的信息,而不去考虑那些使问题复杂化的不必要的信息。
我们每天都在依赖抽象,大量的实验表明人在短期记忆中可以同时管理大约7条信息(MIller定律),当我们需要其他信息时可以得到它,但当我们集中于一条新信息时,其他信息就会退到次要的地位。就好比我们知道引擎是如何工作的,但是在开车时候却不必详细的考虑它。
信息隐藏是和抽象相关的概念,信息隐藏(information hiding)是一种使程序段独立的技术,通过削减一个代码段的功能来获取其他代码段的信息。
抽象是计算的关键,计算机系统的分层体现了抽象的概念。抽象还以各种形式出现在各个分层中,在我们后续的讨论中都会有抽象的影子。
2.计算机历史
计算机的发展历史是一段有趣的历史,下面我们将进行简单的了解与学习。
2.1 计算硬件简史
1951年后,计算机被越来越广泛的用来解决各个领域的问题,从那时起探索的重点在于开发能让我们更有效的使用计算设备的工具,从那时开始计算硬件的历史基于他们所采用的技术被分化为几个时代,下面我们将进行简单的学习与讨论。
2.1.1 第一代(1951~1959)
第一代商用计算机使用真空管存储信息,它会大量生热,不是非常的可靠。使用真空管的机器需要重型空气调节装置以及不断维修,此外它还需要巨大的专用房间。

2.1.2 第二代(1959~1965)
晶体管的出现标志着第二代商用计算机的诞生,晶体管代替真空管成为计算机硬件的主要部分,它比真空管更小,更可靠,更快,寿命更长,也更便宜。
第二代计算机中还出现了既时存取存储器,访问磁鼓上的信息时,CPU必须等待读写头旋转到正确的位置。第二代计算机使用磁芯作为存储器,这是一种微小的环形设备,每个磁芯可以存储一位信息。
磁盘是一种新的辅助存储设备,也出现在第二代计算机硬件中,它比磁带快,因为使用数据项在磁盘上的位置就可以直接访问它。

2.1.3 第三代(1965~1971)
在第二代计算机中,晶体管和其他计算机元件都被手工集成在印刷电路板上,第三代计算机的特征是集成电路(IC),这是一种具有晶体管和其他元件以及它们的连线的硅片。集成电路比印刷电路板小,更便宜,更快并且更可靠。Intel公司的奠基人之一Gordon Moore注意到,从发明IC起,一个集成电路板上能够容纳的电路的数量每年增长一倍,这就是著名的摩尔定律。
终端(带有键盘和屏幕的输入\输出设备),便是在这一代计算机中出现的。键盘使用户可以直接访问计算机,屏幕则可以提供立即的响应。

2.1.4 第四代(1971年至今)
大规模集成化是第四代计算机的特征。每一代计算机硬件的功能都变得越来越强大,体积则越来越小,花费也越来越少,摩尔定律也被改为芯片的集成度每18个月增长一倍。
在这个时代,开始出现了个人计算机(PC)这个词,第四代计算机进入商业市场后也出现了一些全新的名字,如Apple、Sun等公司。在个人计算机革命的浪潮中,最为人称道的成功故事是关于Apple公司的,由史蒂夫乔布斯和史蒂夫沃兹尼亚克共同创建了一个个人计算机工具包,而且把它从车库推向了市场,车库就是Apple这个拥有数10亿资产的公司的起源。(Steve jobs也成为了许多人的偶像)
20世纪80年代中期出现了更大型,功能更强大的机器工作站,它通常用于商业用途,而不适用于个人。创建工作站的理念是为了把雇主自己的工作站放在一个桌面上,这些工作站由线缆连接在一起(被连网了),以便他们能够彼此相互交互。

2.1.5 并行计算
20世纪80年代末,尽管使用单处理器的计算机仍然盛行,但是新的机器体系结构出现了,使用并行体系结构的计算机依靠的是一套互相连接的中央处理器。一种并行机器的组织结构是所有处理器共享同一个存储单元,另一种组织结构是每个中央处理器具有自己的本地存储,与其他处理器通过高速内网进行通信。
并行体系结构提供了几种加快执行速度的方法。例如,把程序中的一步操作分成多个片段,在几个独立的处理器上同时执行这些程序片段,这种机器被称为SIMD(单指令多数据流)计算机。第二种机器可以同时运行程序的不同部分,这种机器被称为MIMD(多指令多数据流)计算机。
2.1.6 连网
20世纪80年代,多用户大型机的概念被小型机器连接成的网络替代,这些小型机器通过联网共享打印机,软件与数据等资源。工作站的设计是为了联网,但是直到1985年生产出了更高级的Intel芯片,才能够对个人计算机进行联网。到1989年,才出现文件服务器把PC连接在一起。把工作站或PC连接成网络,就形成了LAN(局域网)。Internet使用包交换的方法共享信息,但是internet由分布在世界各地的不同网络组成,这些网络之间采用通用的TCP\IP传递控制协议,网际协议,协议通信。
2.1.7 云计算
通过云计算,企业可以在网络交互页面通过使用一些命令在几分钟内运作一个新的服务器,这个过程如今变得越发流水线,许多企业甚至不需要考虑拥有和管理他们自己的计算硬件。
2.2 计算软件简史
了解软件进化的方式对理解软件在现代计算系统中是如何运行的至关重要,接下来让我们一起简单了解软件的发展史。
2.2.1第一代软件(1951~1959)
第一代程序是用机器语言编写的,所谓机器语言就是内置在计算机电路中的指令(二进制指令0和1)。
后来有些程序员就开发了一些工具辅助程序设计,因此第一代人工程序设计语言出现了,这些语言被称为汇编语言,它们使用助记忆码表示每条机器语言指令。由于每个程序在计算机上执行时采用的最终形式都是机器语言,所以汇编语言的开发者还创建了一种翻译程序,可以把汇编语言编写的程序翻译成机器代码。

2.2.2 第二代软件(1959~1965)
第二代软件见证了更强大的语言开发,使用高级语言,程序员就能够用类似于英语的语句编写指令。
第二代软件时期开发的两种语言目前仍然在使用,他们是为FORTRAN(数字应用程序设计的语言)和COBOL(为商业应用程序设计的语言)。高级语言的出现为在多台计算机上运行同一个程序提供工具,每种高级语言都有配套的翻译程序,这种程序可以把高级语言编写的语句翻译成等价的机器码指令,这样的翻译程序被称作编译器,它还用来检查高级语言的语法是否被正确执行。

2.2.3 第三代软件(1965 ~ 1971)
在这个阶段,计算机面临着一个尴尬的问题:运算速度太快了,但输入输出太慢了。计算机经常要停下来等待数据,这简直是资源的浪费。为了解决这个问题,人们编写了一种程序来接管计算机的资源,决定什么时候运行什么任务。这就是操作系统的雏形。它把实用程序、语言翻译程序(汇编器和编译器)统一管理起来,让机器运转得更高效。
随着终端设备的出现,用户开始通过键盘和屏幕与计算机交互。但这又带来了新问题:输入输出太慢,拖累CPU怎么办?解决方案是“分时”。简单来说,就是让许多用户通过各自的终端同时连接一台计算机。操作系统会把CPU的时间切成极小的片段,轮流分配给每个用户。因为切换速度极快,每个用户都感觉自己独享了一台机器。
这一时期也出现了像SPSS这样的多用途应用程序包,让非程序员也能进行复杂的统计计算。

2.2.4 第四代软件(1971 ~ 1989)
进入70年代,软件开发开始追求更好的逻辑和规则,个人电脑也开始走进大众视野。
为了写出更清晰、更易维护的代码,结构化程序设计方法诞生了。Pascal、Modula-2以及升级版的BASIC都是这一时期的代表。C语言和C++也在此期间出现,允许用户在高级语言中嵌入低级指令,成为了业界的标准选择。
Apple公司在Macintosh机中引入了鼠标和点击式图形界面,彻底改变了我们操作电脑的方式。与此同时,UNIX系统成为大学的标准配置,而PC-DOS和MS-DOS则统治了IBM PC及其兼容机市场。
此时代即使不懂编程,普通人也能买现成的软件来干活了。三大典型的应用软件包诞生了:
- 电子制表软件: Lotus 1-2-3,让数据分析变得简单。
- 文字处理软件: WordPerfect,后来被Microsoft Word超越。
- 数据库管理系统: dBase IV,用于存储和组织数据。

2.2.5 第五代软件(1990年至今)
这是我们最熟悉的时代,也是互联网爆发的时代。这一时期有三个标志性事件:微软的崛起、面向对象编程的普及以及万维网的诞生。
Microsoft的Windows操作系统确立了PC市场的霸主地位。更重要的是,他们将文字处理、电子表格、数据库整合在一起,推出了Office办公套件,定义了现代办公的标准。

1990年,Tim Berners-Lee发明了万维网,让互联网信息共享变得极其简单。随之而来的是浏览器的争夺战:
- Mosaic: 第一个能显示图形的浏览器。
- Netscape Navigator: 早期霸主。
- Internet Explorer (IE): 微软通过将IE与Windows捆绑,赢得了大战,但也因此引发了反垄断诉讼。
- Firefox, Safari, Chrome: 后来的挑战者相继入场,形成了如今百花齐放的局面。
第五代软件最重要的特征是“用户”定义的泛化。
从最初只有极少数人懂编程,到后来系统程序员为应用程序员造工具,再到如今——无论你是写论文的大学生、做预算的家庭主妇,还是查信贷记录的银行职员,甚至是一年级的小学生,我们都是“计算机用户”。互联网冲浪已成为一种生活方式,社交网络和维基百科让每个人都成为了内容的创作者。
这就是本篇的内容,在后续文章中我们将会一起学习计算系统的其他详细内容。由于作者知识浅薄,难免会出现一些错误,希望大家可以帮忙指出,谢谢大家。🤝
参考资料《计算机科学概论 【美】Nell Dale 和 John Lewis著》
从真空管到量子比特,计算机的进化史,是人类用理性与浪漫书写的科技史诗。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)