计算机底层结构

一、人类关于计算领域的发展
最早期的人类使用手指进行计算,人类有两只手,十根手指,所以自然使用手指计数并采用十进制计数法。当手指不够时,使用木棍、象牙、金属时也是十进制的算法。
随着人类的发展,中国人发明了算盘,广泛应用于商贸中,被人们誉为最早的计算机。我们用最右边的珠子代表1,每五个珠子代表进1,即5进制。
在这里插入图片描述

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

最开始还不是使用晶体管,一开始使用的是——真空管。真空管的工作原理类似于我们以前的电灯泡,当通电的时候就会发射电子到我们的接收节点上,我们就会判断是高电位,否则为0。但是真空管的缺点是容易坏。(一通电一断电来来回回,马上就会烧掉)。一直到发现二极管。
硅(本身不导电)-加入特殊元素-P半导体 N半导体-PN节-二极管-场效应晶体管-逻辑开关。(通电代表1,断电代表0)
半导体:单项导通性
我们可以通过对逻辑开关的了解,将其改造成逻辑与、或、异或、与非、或非、异或非等门,然后将他们当成最基本元素不断的搭建就会形成了加法器,在计算机当中一切的计算的基础就来源于加法器。
从上边我们可以得到一个结论:计算机的核心在于找到一种数字,并且找到一种方式让这些数字进行运算。
二、计算机语言的发展
从上边的描述当中我们发现计算机的底层是由一个个的电器组建组成的,通过导线来传递高低电压。
在这里插入图片描述
多个电路板之间通过形成闭合电路。由于硬件设置和内部结构的不同,就需要不同的电压来控制。所以每一个电器件都有自己的机器指令集,也就是机器语言。
机器语言采用的是0101001这样的编码形式,这样的编码形式难于辨别和记忆,给整个产业发展带来了障碍,汇编语言就因此诞生了。
在这里插入图片描述
汇编语言,即第二代计算机语言,将大部分的有规律的机器语言进行提取,用一些容易理解和记忆的字母,单词来代替一个特定的指令,通过这种方法,人们很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。
将汇编语言进行优化
因为汇编语言只是将机器语言做了简单编译,所以并没有根本上解决机器语言的特定性,所以汇编语言和机器自身的编程环境息息相关,推广和移植很难,
同时汇编语言对一些逻辑处理并不是很友好,比如循环,判断等等,写这样的语句还是非常麻烦的,于是我们在汇编语言上进行了优化,形成了c、c++、java、python这类的高级语言。
从当前这个脉络当中我们可以看出高级语言是可以控制每个器件的出入电压。
我们将每个器件的使用都封装成相应的程序
在计算计当中每一个硬件都对应着一个驱动,我们程序员只需要知道驱动当中有哪些方法,用来驱动我们的硬件的功能
操作系统内核
内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
内核可以看成连接应用程序和硬件的一座桥梁,是直接运行在硬件上的最基础的软件实体,在一些简单的硬件设备上可以没有内核或操作系统而直接运行程序,比方单片机等。这些设备通常只是用于特定的场合,也通常功能比较单一。如果我们需要强大的功能,就必须要使用内核。
当前主流操作系统内核
宏内核:Linux、Windows 9X 系列、MacOS 8.6 版本之前,微内核:Fuchsia、鸿蒙、Minix,混合内核:Windows XP、Windows 7、Mac OS X、XNU,外内核、Nemsis。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值