当前位置:  技术问答>linux和unix

关于软件与硬件接壤的理解

    来源: 互联网  发布时间:2016-04-30

    本文导语:  当刚入软件行业的时候就有一个问题,一直没有解决,就是软件到底是怎样操作硬件的,总觉得这件事情很奇妙。直到今天突然有个想法,想说出来请大家指正一下。    就拿我们的打印语句printf来说,毫无疑问它...

当刚入软件行业的时候就有一个问题,一直没有解决,就是软件到底是怎样操作硬件的,总觉得这件事情很奇妙。直到今天突然有个想法,想说出来请大家指正一下。

   就拿我们的打印语句printf来说,毫无疑问它是让显示设备显示了信号,那么我在程序中的一条printf语句怎么就让显示设备显示了信号了,如果说最终是把它交给了内核处理,那么内核又是怎样让显示设备显示了信息呢。又如果说它是初始化并控制uart的寄存器,使得显示设备有了输出。那么我又想问,它又是如何设置寄存器的呢?
寄存器终究是硬件,内核是软件,他们的接壤处到底是什么东西。这让我很头痛。
    我今天突然的一个想法是:软件其实是一个虚拟的硬件电路。
软件最终是以二进制的方式存储在硬件上,二进制在硬件是以高低电平的方式表现的,从某种意义上说它已经成了硬件,即从我们的应用程序一开始,设备就在我们设置的
虚拟电路中运行了,当我们的应用程序改变了某个参数时,也就是改变了这个虚拟电路,从而使这块虚拟电路跑出了我们想要的结果,这里没有任何软件向硬件的转换,
即根本就没有接壤处,它一直是一块完整的硬件电路在跑。只不过这块电路是实时变化的。

不知道我这样理解是否正确,请高人指正。

|
  楼主你没学过数字电路吗?
  任何语言写的软件最后都会转化为2进制码,也就是说只有1和0的区别,对于硬件电路来说它们只能根据信号是高还是低来触发不同的状态,你直接也说了任何程序到最后就是连续的高低电平,那么硬件中的电路就根据电平的高低来决定执行的方式,也就是说软件到最后就成了连续的数字信号。你甚至可以把这些信号想象成电流!!!但它觉不是硬件!说得更简单点,为什么灯泡通电会亮?因为有电流通过,很简单的道理,软件操作硬件原理也一样~~但你能说电流就是虚拟的灯泡吗?

|
除了0/1,一般还有这两种状态 X 和 Z 状态
这个东西有计算机组成原理和数点基础应该不难理解的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 驱动是由硬件工程师写,还是软件工程师写啊
  • unix下如何知道硬件信息和软件信息?
  • Linux下有开放源码的PC硬件诊断软件吗?那位大吓知道,先谢谢了
  • 软件还是硬件,我该何去何从??
  • 在linux环境下,搞分布式方面的开发,需要什么样的软件,硬件?
  • linux 硬件性能测试软件
  • 电信的Linux服务器,要考虑哪些软件和硬件安全因素
  • 开源硬件监控软件 Open Hardware Monitor
  • 工控机上用光盘安装debian6.05,硬件上有6个串口,但是软件上即dev中只有4个串口,如何解决。
  • 软件重构与软件测试
  • [讨论]自由软件之于开源软件
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 问题6:如何在linux shell 下查看安装软件情况,和卸载软件?
  • 软件项目版本控制需要注意的几点
  • 软件过程管理软件 EmForge
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 开源代码,自由软件软件的疑问??
  • 请教LINUX下有哪些商业的软件部署软件?
  • fedora 删除软件,但是不删除依赖软件
  • 怎么干净删除软件?谁知道linux下有netants同样的软件下载?
  • 我想写一个FTP客户端的软件,能否推荐几款软件作为参考?
  • 听说在linux里面安装一个什么X的程序就可以运行windows的软件,不知道是什么软件
  • CentOS里的“软件包更新工具”下载的软件放在哪里了?
  • 使用采用GPL发行的软件开发软件的问题
  • 请问有什么软件可以在Win98或者2000下读取EXT3分区的软件?谢谢~!
  • “现在没有可用的软件包 atest,但是它被其它的软件包引用了。“——这是怎么回事?
  • 请问想开发手机软件需要哪些软件和设备?
  • Ubuntu 软件中心 的 软件 源代码 哪里可以下载?
  • 寻找telnet软件,如是自由软件,我给100分,盗版的,就只给人情分
  • Linux下有哪些可视化软件开发Linux下的应用软件和驱动程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3