所谓“软件”和“硬件”

      当你做关于硬件的驱动开发时,你一定会用到很多操作硬件的接口函数,如通过对端口的操作可以对硬盘进行读写操作;系统提供的中断也可以在显示设备上显示出一些字符和图形...等等

      作为软件工程师,我们都知道,高级语言编写的程序最后编译后的binary都是0,1,1,0等组成的二进制文件。那么软件编译后的“软件”概念的0,1如何最后控制硬件呢?比如,我们写一个0,最后如何让硬件知道它的某一个引脚应该设为低电平呢?我们编程一般都有硬件操作的抽象接口,如HAL硬件抽象层,将我们软件与硬件的概念进行了隔离...我一直在想一个问题“软件”和“硬件”到底是水火的关系,它们最终是通过什么能沟通的,一个“无形”的软件到底怎么跟“有形”的硬件通信呢?

 

      好,先看软件的概念:

      软件(英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。软件是指令和数据的集合,它们保存在内存或磁盘等存储设备中,如果这么想了,所谓软件,并不是“无形”的东西,它必定是以一种有形的形式存储在磁盘或内存中,也可以理解为根本没有所谓的软件,软件只是一种抽象概念,我们通过显示器看到的软件中的0,1,其背后却有CPU通过读“软件”中的指令和数据,然后通过一系列过程驱动显示器,呈现给我们的无形的“0,1”。

 

      软件,只在意念之间....

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值