java基础之计算机底层结构!

本文讲述了人类从早期的骨头上计数,到算盘的发明,再到电力时代二进制和晶体管的出现,逐步发展出计算机的基础。随着技术进步,从机器语言、汇编语言到C语言,计算机语言不断优化,使得硬件操作更加便捷。同时,每个硬件设备对应的驱动和操作系统内核使得程序能够协调多个硬件工作。
摘要由CSDN通过智能技术生成

一、前情提要

适度打开

很多情况下保持黑箱即可,因为打开这个黑箱,你就会发现黑箱会变成黑洞,吞噬你所有的精力和时间,有可能使你偏离原来的方向,陷入到不必要的细节中无法自拔。

二、人类关于计算领域的发展

人类的祖先从树上下来以后开始了一轮新的生存挑战。与其他动物相比人类没有尖牙厉爪,只能去发展大脑,随着大脑的发展人类逐渐的站在了食物链的顶层。但是受制于人类活动和自然因素的发展,许多大型动物越来越少,所有人类从最开始的狩猎生活逐步发展成了定居的生活,人类开始种植粮食和养殖一些动物,那么统计和记录这些动物的方式就出现了。

最早期的人类将自己养的牛羊的数量画在一根根的骨头上,假设我们用一条横线代表一头羊,随着人类生活越来越丰富,羊群的数量也越来越多,那么在骨头上画的线也就越来越多,数起来也就原来越麻烦,于是有些聪明的人就发现我们为什么不将每10个横线重新做一个标记,比如用一根竖线,这样我们数羊的时候我先数有几个竖线然后在数有多少横线。

随着人类的发展人类进入了农业文明,需要存储和交易粮食也越来越多,这样就需要一种计算器来代替人脑的直接计算就是---算盘

我们用最右边的珠子代表1,每五个珠子代表进1,即5进制。

人类进入第三次工业革命以后发明了电力,电力开始发展,后来人们发现2进制可以转化为10进制,并且发现可是使用电路来代表0和1,1代表5v高电平,0代表0符低电平。通电和不通电两种状态就产生了人类历史上的一个重要的工具--晶体管。

最开始还不是使用晶体管,一开始使用的是---正空管。正空管的工作原理类似于我们以前的电灯泡,当通电的时候就会发射电子到我们的接收节点上,我们就会判断是高电位,否则为0。但是真空管的缺点是容易坏。(一通电一断电来来回回,马上就会烧掉)。--直到发现二极管。

硅(本身不导电)-》加入特殊元素-》P半导体 N半导体-》PN节-》二极管-》场效应晶体管-》逻辑开关。(通电代表1,断电代表0)

半导体:单项导通性

我们可以通过对逻辑开关的改造成 ,逻辑与,或,异或,与非,或非,异或非等门,然后将他们当成最基本元素不断的搭建就会形成了加法器,在计算机当中一切的计算的基础就来源于加法器。

从上边我们可以得到一个结论:计算机的核心在于找到一种数字,并且找到一种方式让这些数字进行运算

三、计算机语言的发展

从上边的讲解当中我们发现计算机的底层是由一个个的电器组建组成的,通过导线来传递高低电压。

多个电路板之间通过形成闭合电路。由于硬件设置和内部结构的不同,就需要不同的电压来控制。所以每一个电器件都有自己的机器指令集,也就是机器语言。

机器语言采用的是0101001这样的编码形式,他是如此的难于辨别和记忆,给整个产业发展带来了障碍。于是汇编语言就形成了

汇编语言是将大部分的有规律的机器语言进行提取,编程人员只需要记住相应的汇编指令(英文单词)就可以直接操作机器硬件。

将汇编语言进行优化

但是汇编语言对一些逻辑处理并不是很友好,比如循环,判断等等,写这样的语句还是非常麻烦的,于是我们在汇编语言上进行了优化,形成了C语言。

从当前这个脉络当中我们可以看出C语言是可以控制每个器件的出入电压。

我们将每个器件的使用都封装成相应的程序

在计算计当中每一个硬件都对应着一个驱动,我们程序员只需要知道驱动当中有哪些方法,用来驱动我们的硬件的功能

操作系统内核

我们每一个驱动都对应着一个硬件,但是我们正常使用的一个程序一般都会使用多个驱动协同工作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值