极物语 序 计算机是啥

计算机是啥

一提到计算机,我相信你肯定会想起来这样的东西:

台式PC
也有可能是这样的东西:
笔记本PC
当然,他们的确是计算机没错啦,不过计算机并不只有他们,还包括了更多样子,他们遍及生活的方方面面,比如说,他还可以是这样的:
在这里插入图片描述
很多这些能够自动对流程进行控制的设备,内部都有计算机的支持,不过这种计算机和平时常见的计算机不太一样,它把所有的计算机核心组件都集中在了一块芯片中,被称为微控制器,有的时候也叫单片机.

我们可以想想在那些东西里面有计算机,或者说单片机呢,像是常见的洗衣机,电饭锅什么的,很多吧,最典型的就是手机,手机不仅有控制器,更有很多其他的外设,与其说是微控制器,不如说是低配版和小型化的个人电脑。

计算机的结构

计算机呢,有一个经典的结构,它有运算器,控制器,存储器,输入设备,输出设备,这五部分组成,这些都是什么鬼呢?

运算器控制器,现在已经整合为一个组件,被称之为CPU,中央处理器,它用于获取和执行二进制命令,说白了,就是执行代码的那个。

存储器,分为内存和外存。

CPU可以直接使用的那种是内存 1,速度很快,但是比较贵,一般来说容量不是很大,在PC中一般是条状,就是常说的那种内存条,内存还有一个问题就是,一旦没电了,他的数据就会丢失,不过没关系,反正只是在运行的时候需要,那个时候肯定不会没电的,他要是没电,那么你的电脑整体应该都没电了。

外存一般来说,最常见的是硬盘,U盘,光盘再早一些时候还有软盘和磁带,他们容量很大,非常大,但是存取速度慢,所以在需要的时候会先读取到内存,然后CPU才能使用。

所以有的时候我们说电脑运行的东西多了,会比较卡,要加内存,硬盘不够用了,要换个,或者往U盘拷点东西,这个时候是在说外存

输入设备嘛,典型的就是键盘,鼠标,手机的触摸屏,如果你学美术的话还可能有手写板什么的,就是可以往计算机内部输入数据的东西。

输出设备,比如说显示器,耳机和喇叭,屏幕,打印机之类的,可以把数据从计算机里面展示给你的那种。

硬件和软件

上面说了这一堆,都是在说硬件,就是计算机在物理层面上,看得见摸得着的东西都有啥,其实相比硬件,我感觉你大概更感兴趣软件。

软件呢,简单来说就是一组程序,程序嘛,就是二进制的代码,CPU就是用来执行这些代码的。

所以在早期的时候,的确是人工编写二进制让他执行。但是这样太麻烦了,所以呢,有人用一些单词代替了二进制指令,这就是汇编语言

很早之前代码就这个画风的(这里不是真实的代码,就是一个比喻):

10110011 000100
11100100 010010

变成汇编之后呢,像是这样:

ADD AX, 10H
MOV AL, 3H

记起来就比较容易了,他们又编写了一个东西,可以把这种单词转换成二进制代码,这种软件就被称为编译器 2,也许第一个编译器就是直接用二进制写成的,可以把汇编代码变成二进制,我们把这个过程叫做编译

在这个时代,还没有系统,程序自己运行自己的,如果有些程序编写的不是很好,就容易让整个内存乱糟糟的,而且有的时候,废了半天力气写的程序,换个计算机就运行不了了?这可还行?

于是有人开发了这样的一个东西,它把一个计算机的内存,各种设备进行统一的管理,而不是放任程序处置,这样,整个计算机运行起来就更加的有效率了,这个东西后来被称作操作系统

当然,到这种程度还是不够的,汇编依然很反人类,后来出现了另外一种更加友好的编程语言,叫做C语言,他也是通过编译器把自己变成二进制来运行的,画风变成了这样(可运行的C语言的hello world):

#include<stdio.h>

int main(int argc, char** argv)
{
    printf("hello world");
    return 0;
}

和之前的汇编相比,肯定是这种C语言看着更舒服,很多其他的语言都是建立在C语言的基础之上的。

但是到此为止,语言还是需要变成二进制才能执行,如果系统不一样,就必须重新使用编译器编译一遍,还是太麻烦了,因此,有人希望能够这一个代码就编译一次,别管什么window,Linux还是什么鬼系统,都能运行起来。

为了达到这个目的,他们做了个运行时,什么是运行时呢,就是确保代码能够跑起来的软件,他们每一个系统都准备了一个运行时,然后让运行时去把需要的代码临时翻译成CPU认识的二进制,每一个系统都有运行时嘛,所以只需要编译一次,剩下的交给各个系统自己的运行时就好了。

为了和传统的二进制语言区别,他们称这类语言为解释型语言,之前的那些为编译型语言。

再到后期,计算机变得小型化,很多非专业的人也开始有了使用计算机的需求,这更加促进了系统的发展,其实我们在说使用计算机的时候更多的是说使用什么呢?

GUI和CLI

其实就是在使用计算机承载的软件,软件嘛,是给人用的,那么人怎么让软件知道自己的意思呢?这就有两个部分,最开始的时候,显示屏还是黑白的,没有图形,只能够显示文字,所以用户们只可以通过输入命令的方式告诉软件他们想做什么。

很多电影中有对黑客的描述,就是使用键盘输入大量的命令,然后按下回车就会达到自己的目的,这种交互方式就是命令行用户界面(Command Line Interface,简称CLI),至今也是一种很高效而流行的操作方式,他可以透过命令行的编程批量自动化的进行处理。

而我们日常使用的Windows,Mac OS,或是Linux都是带有一个图形界面的,图形化的操作方式更加方便普通人操作,更加明确,不需要记忆很多命令,更容易上手,当然这些系统也都带有命令行的操作方式,如Windows的PowerShell,Mac和Linux的终端等。

这种图形化的操作界面被称为图形用户界面(Graphical User Interface,简称GUI)。

软件系统

计算机的五个组成是从硬件上划分的,在软件上也有类似的结构,到目前为止,可以分为系统软件,应用软件两大部分。

系统软件和系统关系密切,类似于编译器, 数据库操作系统,杀毒软件之类的,应用软件则更多的是提供额外的功能,类似于PSOffice等。

那么计算机能做啥呢

你看到的网站(百度,淘宝,腾讯之类的),手机,电脑,能够自动化的大多数设备(家电,工业的流水线,机器人,无人机,无人车,无人超市什么的),现在最火热的云计算,大数据,收集到大量的数据之后可以对未来人们的行为进行准确的预测 3(头条是不是就有这玩意),计算机视觉,让计算机可以认识他看到的东西 3,VR,AR系列的技术等。

计算机可以说已经在生活中无处不在,是一个很重要的组成部分了。

用途多种多样,可以做很多有意思的事情,就这样。

结语

这一篇主要是对计算机的一个很笼统的说法,大概介绍了一些,写给对他感兴趣的,也是对自己过去认识的一个小小总结,这里内容不是很多也不是很全面,计算机的东西很多,所以也许,大概,应该会继续写吧。

第一章:欢迎来到桌面


  1. 其实现在的CPU并不一定直接使用内存,而是要借助于高速缓存结构,不过这个比较细节,我们可以认为CPU直接使用内存。 ↩︎

  2. 编译汇编语言的编译器有的时候也叫汇编器 ↩︎

  3. 对这个(人工智能方向)感兴趣的话,你的数学做好准备了嘛?高数,离散,概率论,线性代数什么的(呵呵呵…) ↩︎ ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值