~~~~非诚勿扰~~~~执行一个程序,从硬件角度来说发生了什么?

helly   2009-12-22 10:14 楼主
之前发过一个帖子,hpsmouse给了我部分的答案。。。在此表示感谢。。。。。


  1.     显示在屏幕上面的时候,它是显存里面对应那几个像素的单元的电位状态。 加载到内存里面的时候,它是某个缓冲区的 24 个 bit。 储存在磁盘上面的时候,它是某几个磁性单元的极化状态。 从键盘敲进去的时候,它是总线上一串连续的高低电位序列。



还有些不太明白。。。

从软件角度,我们说“程序被加载到内存执行”;
从硬件角度,翻译一下是“逻辑电路中,给一系列电路高低电压”。


逻辑门电路、加法器等我已经有了解和认识了,我想知道的是软件是如何“触发”硬件的?谁能从硬件角度帮我翻译下“双击程序运行”?操作系统是如何做到这关键的一步的?呵呵,不知道我的问题表述清楚没有.......

回复评论 (2)

这个。。。。
点赞  2009-12-22 11:07
呵呵,楼主提的问题够强大。

换句话说,                       电子。。。看到的都是假象:
按键或触摸屏输入,对应的是高低电平及时序而已。
至于显示,也是内核决定的,比如你按下OK,实际执行关闭也可以啊。。。
而内核,可以理解为有组织的逻辑结构。。。

所以:“双击程序运行”  也可以单击程序运行,或不击程序自动运行也可以。这只是约定的大家习惯的东西而已。
1 鼠标
包括你看到的鼠标,其实不是你实际移动的东西,而是程序根据你鼠标的移动计算而在屏幕相应位置上画一个鼠标图形,鼠标的位置是存在内存中的。
2 用鼠标双击
  驱动里面对硬件读取,判断鼠标左键按下。这个判断也是约定的。自己搞鼠标的话,也可以放开的时候算点击,按下的时候算松开状态。。。
3 运行程序
  程序是与硬件逻辑结构相关的,系统调用程序需要给程序分配任务号,任务堆栈空间,CPU时间,而执行到实际功能时是对硬件的一系列接口。。。硬件是软件的载体,但软件与硬件只是实现方式而已,原理是相通的。
  举个例子:一个程序执行关机(非PC呵呵),顺序可以为:程序得到关机指令,CPU翻译为IO操作,此IO操作为将电源MOS管控制脚的电平拉低,MOS管断开,电源断开

----------------------------------------------------------------------------
总结一句话:电子就是忽悠,先忽悠自己,再忽悠别人,再学别人忽悠。。。世上本没有标准,忽悠的人多了,就有了标准。
点赞  2009-12-22 13:35
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复