聊聊计算机,那些你不懂的世界

目录

1、二进制

2、单位换算:

3、内存 / 硬盘:

4、服务器 / 客户端:

5、IP地址:

6、公网IP / 私网IP:

7、DNS服务器:

8、操作系统32位/64位:

9、并行 / 串行:   

10、多核处理器:


很多没有深入计算机的,只是听说过计算机的很多名词,了解个大概,却不知道究竟是什么,下面分多个名词简单介绍。

1、二进制

    计算机为什么采用二进制? 最开始制造计算机时,考虑过采用人们熟知的十进制,但是从自然界找到一个能表示十种状态的物质实在太难,并且即使存在十种状态,状态的界限可能不是很明显,并且需要达成这种状态的成本太高,使用复杂。于是最终采用二进制,用于表示物质的两种状态恰到好处,比如灯的亮灭,门的开关,而由于二进制是最小的进制单位,可以很方便的转换为其他进制来表示。

2、单位换算:

    计算机存储单位由小到大:bit-->B(Byte)-->KB-->MB-->GB-->TB--~~~

    在计算机的世界中,一个存储单元只能存1位二进制的数据,一位十进制可以表示0-9共10个数字,那么一位二进制可以表示0-1两个数字,这一个存储单元就叫做一个比特(bit),由于比特实在太小太小,能表示的状态实在有限,于是采用8位bit来作为最小的信息存储单位,即1Byte(1B,1字节),一个汉字占2B。

    1B = 8bit ; 1KB = 1024B ; 1MB = 1024KB ; 1GB = 1024MB ; 1TB = 1024GB ; ~~~~

    1B在计算机中存储表示范围为:0000 0000 - 1111 1111,换算成十进制是0 至 2^8-1 = 0 - 255,共256个数。

    KB(千字节),1KB在1B(8bit)的基础上增加多位bit,所以表示为B的倍数一定是2的N次方倍,规定了1024,2的10次方是1024,1KB=1024B=8192bit。

    二进制换算十进制:我们知道十进制的时候,1110 = 1*10^3 + 1*10^2 + 1*10^1 + 0*10^0 = 1000+100+10+0 = 1110

    那么同理:二进制的1110 =  1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 8+4+2+0 = 14.

3、内存 / 硬盘:

    内存硬盘,恐怕是N多人分不清的一个概念。80年代初的PC机,只有内存,没有硬盘,而内存容量只有几十KB,当然那时候的操作系统也没有现在这么美观的图形化界面,都是那种小黑框框,DOS系统,对于内存的要求也要比现在低得多。内存是RAM(随机存储器),通电时数据存在,断电数据消失,所以为了解决这个问题,软盘诞生了,可以存放一些必要的系统数据,并备份一些小的文件(软盘即为硬盘的前身,由于易损坏、容量小的缺点,被硬盘取代)。但是这么小的容量,那时候编程都要使劲的去计算,我这个程序,声明一个变量要占用多大的内存,电脑能不能放的下我这个程序,随着程序对容量的要求越来越高,诞生了虚拟内存。

    现代计算机,虚拟存储器由硬盘+内存共同组成;

    内存运行速度快、价格昂贵、断电丢失数据;硬盘运行速度低、价格便宜、断电保存数据。

    一个程序,在运行时,并不需要全部的数据资源都是活跃状态,大多数操作系统都支持虚拟内存,它将硬盘中的程序分成很多个小片段,由于硬盘的特点,适合存储大量死数据,在程序运行时,将需要的数据从硬盘调入内存,在内存中运行,为什么不在硬盘中运行呢?因为硬盘慢呀... 硬盘跟CPU的处理速度差别过多,硬盘提供数据的速度跟不上CPU处理数据的速度,会造成CPU长时间等待,浪费资源,在内存与CPU中间还有更快速度的存储器。这种虚拟存储方式,可以让使用PC机的用户感受不到内存的容量限制,在特殊情况下,感受到的内存容量=内存容量+硬盘容量,所以称之为虚拟内存。

4、服务器 / 客户端:

    记得第一次接触服务器这个词,是上大学的时候,校园网选课,选着选着进不去了,所有人都在说服务器挂了,服务器挂了,但是服务器到底是什么?谁都不知道,初次接触计算机的人都有这个疑惑。简单来说,服务器就是一台配置比较高的超级计算机,有着高处理性能的CPU以及海量存储,由于服务器需要长时间维持开启状态稳定运行,并且不宕机,一般采用Linux系统。我们通过域名([email protected])访问在浏览器所展示的页面以及资源,都是在服务器这台电脑上部署好的,我们只是通过远程访问看到了,我们自己的电脑就是一个客户端。所以其实客户端访问服务器就等于,你用你的电脑,远程操作了一次别人的电脑,只不过那个人的电脑文件以一些特殊的方式展示给你看,比如浏览器网页。

    用百度来举例,我们广大用户,24小时一定会不间断的访问百度的服务器,某一时间段同时访问的人数最多时,服务器还可以承受,就不会挂掉。那么问题来了,服务器为什么会崩溃?假如服务器的CPU每秒可以处理1000个任务,但是一秒钟有一万个人访问百度,那么就会有9000个人在排队等待处理,下一秒又会进来一万个人,但是还是只能处理1000个任务,那就会有18000人在排队,循环往复,堆积的任务量越来越多,超过服务器的承受负载,机器就会转着转着转死了,简称 崩溃,当然崩溃的原因有很多种,比如超出负载,比如资源划分不均,比如程序死锁,比如温度过高.....

    长时间维持开启状态稳定运行是什么意思呢?我访问百度,比如要解决一个紧急问题,需要查看网上的解决办法,此时百度突然崩溃了,这............是肯定不行的,所以持续稳定运行对于服务器来说是重中之重。

5、IP地址:

    IP地址为每一台联网的计算机的唯一网络标识,每一台计算机的IP地址在局域网中是不能重复的。IP地址类型分为IPV4和IPV6。

    IPV4为32位二进制数组成,以圆点分割为四段8位二进制,每段以十进制表示。所以可以表示的IP地址范围为0.0.0.0-255.255.255.255;

    IPV6为128位二进制数组成,以冒号分割为八段16位二进制,每段以十六进制表示。可以表示的IP地址范围为0:0:0:0:0:0:0:0-FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF,可简写为0::0-F::F;由于IPV4地址长度表较短,范围比较少,已经接近耗尽,IPV6的出现主要是为了解决IP地址耗尽问题。

6、公网IP / 私网IP:

    上面说了IPv4地址范围0.0.0.0-255.255.255.255,公网IP是外网中标识唯一主机身份的,但是不同的局域网中可以重复IP地址,同一个局域网中不可重复,在地址段中,10.0.0.0 - 10.255.255.255;172.16.0.0 - 172.31.255.255;192.168.0.0 - 192.168.255.255为保留地址,用作局域网私网IP。这种方式可以降低IP地址的消耗速度。那内网怎么访问外网呢?通过NAT路由器(装有NAT功能的路由器),将私网IP转换为该局域网的公网IP,但是外网是访问不了局域网内部的私网IP的。

7、DNS服务器:

    刚才在IP地址处说到,IP地址为每台计算机的唯一标识,那么我们访问百度的时候,为什么是www.baidu.com,而不是在浏览器的URL处输入一个IP地址呢??那是因为人脑对字母组合的敏感度远高于数字,如果淘宝的IP是147.174.417,京东的IP是417.147.174,百度的IP是174.417.147...............是不是已经晕了。而以域名来表示自己的网站,具有很高的标识性和辨识度,这也是为什么一个好的域名可以炒到天价的原因。DNS服务器,全称Domain Name System,也叫域名服务器,里面存储了域名与IP地址的映射关系,当你访问域名时,需要先去DNS服务器中拿到这个域名对应的IP地址,然后再去访问IP地址对应的主机。当然DNS服务器绝不是一台,大型网站的服务器都不是一台,涉及到负载均衡啊,分布式系统啊等等等等~~

8、操作系统32位/64位:

    32位操作系统和64位操作系统的差别主要体现在运算速度和寻址能力上。由于当年英特尔开发的32位处理器80x86系列被广泛使用,现在多用x86表示32位,x64表示64位

    64位的操作系统只能安装在64位的CPU上,而32位的操作系统可以安装在32位或64位的CPU上。64位CPU是指CPU中的通用寄存器一次可以处理64bit的数据,可以想象有几根管道在同时跑数据,要么是0要么是1,64位就是同时跑6根,而32位的一次可以处理32bit,同时跑5根,从数字上来看,64位处理器的处理能力是32位的两倍,所用时间为二分之一,当然实际情况没有这么简单。

    寻址能力取决于CPU中地址总线的寄存器宽度,由于64位CPU的地址总线多于32位CPU,可以读取到的地址为0-2^N-1比特,共2^N比特位,换算成GB单位,32位可以读取内存为3.多G,64位可以读取近1700万T,相当于无限内存。

9、并行 / 串行:   

    这个问题可以模拟一个场景,假如你从井里往缸里挑水,共需要十桶才能挑满,每桶挑水时间为十分钟。如果你一个人挑,需要10趟,共100分钟,此处理方式为串行。如果五个人同时挑,那么每个人两趟,共需要20分钟,此处理方式为并行。并行的好处显而易见,节省时间,最大限度利用资源,缺点是,单位时间开销较大,成本较高。现代计算机多采用多核处理器,就是为了增加并行程度,提高效率。

10、多核处理器:

    中央处理器(CPU,Central Processing Unit),为电脑的大脑,所有的输入指令都要经过CPU处理后生成处理结果,通过输出设备输出,类似人的大脑。早期的计算机为单核CPU,一个核只能运行一个进程中的一个线程,现在的计算机四核八核,可以同时运行四个八个线程,但是我们可以同时开多个软件可以同时跑,这是因为CPU对任务做了分时处理,比如一个核同一时间只能处理一个线程,但是我们把每个线程分成无数个时间段,CPU每个极小的时间段处理一个线程,如此循环,让我们的肉眼看起来就是都在处理,所以就会造成,你开的程序越多,处理的越慢。那为什么要做成多核CPU,而不是多个CPU呢?因为将许多核集成到同一个芯片内,共享缓存,并且可以简化电路与程序设计。

猜你喜欢

转载自blog.csdn.net/qq_26012495/article/details/80272831