一、简单的计算发展史
与其它动物相比,人类没有尖牙利爪,为了更好的生存,只能去发展大脑,而随着大脑的发展,人类逐渐站在了食物链的顶层。但受制于人类活动和自然因素的发展,人类从最初的四处狩猎逐步发展成定居生活。人类开始种植粮食和作物、蓄养动物,于是统计和记录这些动物的方式出现了。
最早人类是在一根根骨头上记录养殖的牛羊数量。假设我们用一条横线代表一头羊,随着人类的不断发展,羊群数量越来越多,在骨头上画的线也越来越多,数起来也就越来越麻烦。于是有些聪明的人就提出将每10个横线重做一个新的标记——比如用一根竖线,这样数羊的时候就可以先数有几个竖线然后再数有几个横线。
随着人类的发展,人类进入了农业文明,需要存储和交易的粮食也越来越多,这样就需要一种计算器来代替人脑的直接计算。
这就是算盘。
我们用下珠代表1,每五个珠子代表进1,即5进制。
人类进入第二次工业革命以后发明了电力,电力开始发展,后来人们发现2进制可以转化为10进制,可以使用电路来代表0和1,1代表5v高电平,0代表0v低电平。通电与不通电的两种状态就产生了人类历史上一个重要工具——晶体管。
最开始用的还不是晶体管,而是真空管。真空管的工作原理类似于我们以前的电灯泡,当通电的时候就会发射电子到我们的接收节点上,我们就可以判断是高电位,否则为0。但真空管的缺点是容易损坏。
直到发现了二极管。
硅(本身不导电)——>加入特殊元素——>P半导体 N半导体——>PN节——>二极管——>场效应晶体管——>逻辑开关。(通电代表1,断电代表0)
半导体:单向导通性
我们可以通过对逻辑开关的改造成逻辑与、或、异或、与非、或非、异或非等,然后将他们当成最基本元素不断搭建就会形成加法器。在计算机中一切的计算基础都来源于加法器。
从上述我们可以得到一个结论:计算机的核心在于找到一种数字,并且找到一种方式让这些数字进行运算。
二、计算机语言的发展
从前面的讲解中我们发现计算机底层是一个个的电器组建成的,通过导线来传递高低电压。
由于硬件设置和内部结构的不同,就需要不同的电压来控制。所以每一个电器件都有自己的机器指令集,即机器语言。
机器语言是采用0101001这样的编码形式,非常难以辨别和记忆,给整个产业发展带来了阻碍。
于是汇编语言就形成了。
汇编语言是将大部分的有规律的机器语言进行提取,编程人员只需要记住相应的汇编指令(英文单词)就可以直接操作机器硬件。
将汇编语言进行优化
但是汇编语言对于一些逻辑处理并不是很友好,比如循环、判断等等,写这样的语句还是十分麻烦的。于是我们在汇编语言上进行了优化,形成了C语言。
从当前这个脉络中我们看出C语言是可以控制每个器件的出入电压。
我们将每个器件的使用都封装成相应的程序
在计算机当中的每一个硬件都对应着一个驱动,程序员只需要知道驱动当中有哪些方法可以用来驱动我们的硬件功能。
操作系统内核
我们每一个驱动都对应着一个硬件,,但是我们正常使用的一个程序一般都会使用多个驱动协同工作。
市面上常用的操作系统:Windows、Linux、mac……
(ps:有些程序w7/w8/w10都能使用是因为这些程序直接对接的内核。)