什么是计算

猫的本质是猫的,狗的本质是狗的,那么计算的本质是计算的。

那么我们怎么进行计算呢?这里先提出一个问题,怎么喂饱一只猫呢?我们的解决方案是扔给他一个小鱼干,那么猫就做它的猫的本质的事情了,余下都不再是我们的问题。

所以,一个通用的能计算的东西,一般由三块东西构成

  1. 接收部件

  2. 计算部件 (本质)

  3. 反馈部件 (输出部件)

本质上就是 一个能计算的 "猫" ,专门处理我们扔给它的问题

计算机组成

怎么实现具体的“猫”呢,我们现代的计算机一般按照 冯.诺伊曼模型 来制造, 的结构是把上面的计算部件分成 3 部分,存储器,算术逻辑单元,控制单元,而现代计算机把算术逻辑单元,控制单元合并成一个 CPU 的部件。

要说明的是,加了存储器以后,计算机不仅能实现 的功能,还能实现其他功能,计算机就成真的计算机啦。

CPU :从内存中逐条的取出指令,并将取出的指令存储在指令寄存器中,解释并执行指令 存储器:存储单元的集合,每一个存储单元都有唯一的标识,称为地址。数据以称为字的位组的形式在内存中传入和传出。

数字编码

计算机内部处理数据的方式都是数字式的,而且都是二进制数字式的,因为简单,而且不容易出错。

所以,我们给计算机输入问题的时候,都要进行数字化 编码 ,比如“小鱼干”,我们必须转化成数字 "0100011111"

数字运算

在通用的计算机里面,底层的编码,运算都是数字式的,都要转化成 010111110…. 式的结构,长度很长,但 CPU 能识别出里面的分段。

但是当我们学到编程语言的时候,可以使用高级语言进行运算,那就不是数字式了,是文字式。

计算机电路的二进制数字运算(布尔代数)是由克劳德·香农提出来的,奠定了现代信息论的基础。

操作系统

操作系统能够使我们更加友好的操作计算机,因为假如计算机是一只“猫”,那么除了处理我们扔给他的小鱼干,他什么都不能做。但如果计算机是一个“女仆”呢,哈哈,“给我倒水”,“给我按摩”,长得漂亮,服务又好,那我们自然是喜欢的。

“女仆”一般会做的事:

  1. 内存管理器

  2. 进程管理器

  3. 设备管理器

  4. 文件管理器

  1. 内存管理我们看不到,不用管,顶多内存卡,添个内存条或者关掉点软件

  2. 进程管理: 有些软件卡死了,我们可以用进程管理器中断它

  3. 设备管理: 直接在设备管理界面操作设备吧

  4. 文件管理;新建,修改,删除,这个应该很熟悉了

    这里讲下 Linux ,linux 命令行是很不友好的,要让它友好的方式是把实用的命令收集起来,经常学学用用,就友好了。

计算机网络

计算机网络就是把计算机互相连接起来,我们在家里玩自己的计算机的时候,还能够玩别人的计算机。

我们一般不直接计算机对计算机连接,那样需要很多端口,我们一般连到一个中心节点上(交换机),由交换机帮我们转发计算机发出的数据。

网络协议

我们给别人发数据的时候,要指定发送人和收件人的地址,还有如何编码传输数据,然后由那些中心节点帮我们转发,这些规范称为网络协议,网络协议有好多种,我们一般用 TCP/IP 协议。

网络应用

既然我们都和世界上的人连接了,当然不会局限于只跟世界上的某个人互动,所以,我们一般会使用 点対面 的软件。

  • 搜索引擎 (知识集合)

  • facebook (社交集合)

  • github (软件集合)

  • 当地论坛 (本地内容)

  • youtube (视频知识)

算法

算法即分步骤解决问题的过程,程序员有空,建立“猫”,“狗”的人有用。

数据库

数据库是用计算机处理规则化的数据

图形学

用计算机处理图形的一套知识,要用到光,材料等的附加知识.

安全

加密

人工智能

计算机的发展方向是智能化,因为现在大部分功能还是被动的接受我们的指令,以后会向主动学习,主动分析方向发展,这些都是软件方面的内容。

语言处理

推理

搜索树

启发

知识处理

学习

人工神经网络