硬件和软件
来源:互联网 发布:绩效考核软件 编辑:程序博客网 时间:2024/05/16 10:20
最近在写shell脚本,晚上在回家的路上,突然想起该怎么把linux和硬件联系到一起呢?请看几个对话
R师傅:
其实对我码农来讲,唯一可以看到的硬件连接就是USB了,因为键盘是码农写软件和Linux系统交互的平台,几乎也是唯一通道,原来硬件工程师就是做键盘值识别的啊?
Y师傅:
你没有拆过电脑吧?你的电脑上电是一个非常复杂的过程,说了你也不懂。最简单的,开机后一段时间,你的屏幕亮了,有声音了,Linux系统也进来了,这里面有无数的管脚配置,信号传递。。。
你们软件不懂I/O的控制、信号和协议?那它怎么实现功能呢?
R师傅?
比如一个shell的echo显示,我关心的是:输入是什么,输出又是什么,这里面可能有字符串命令匹配,循环,计算等等,还真没有关注过怎么输入,怎么输出。
那么电脑上很多软件和游戏,可以做很多事情,其实都是调用一套硬件设施,显示?触摸屏?声音?键盘交互?鼠标交互?你们硬件功能好像很单一
Y师傅:
嗯,那就对了,底层直接控制IO口,我说怎么老有Linux移植这一说,因为我们打造更加简单便宜的电脑。
例如,手机跑很多程序的时候,通过home键来回切换,其实是内存分配,cpu分配,硬件交互所有权分配的过程
点击屏幕时候,对于硬件来说输出就是坐标,但是同一个坐标值进入到不同 的程序代码里面去,结果就是不同的。
这是因为键值通过cpu传递给了不同的app接口,软件做的好复杂啊,不过功能再复杂,对我来说输出还是一堆number,只是显示出来的图像,客户会理解。
截屏功能,两个键一起按下,我就告诉软件一个信号,然后它把当时的显示设置保存,其实就是图片。
网线,无线,其实都是获取一串高低电平信号,信号来了软件处理完,才去驱动的硬件。以前一直觉得软件很虚难以看透,现在看应该是实现不同的展示,那么cpu频率足够高,内存足够大,软件岂不是无敌了?
R师傅:
对啊!
Y师傅:
哈哈,硬件速度是不断发展的,但是短期也是有限的!
- 软件和硬件
- 所谓“软件”和“硬件”
- lesson7 软件和硬件
- 计算机世界--软件和硬件
- 硬件和软件
- 软件和硬件
- 硬件和软件的关系
- 硬件断点和软件断点
- 硬件瓶颈和软件瓶颈
- 郁闷了,硬件和软件
- 软件堆栈和硬件堆栈
- 硬件断点和软件断点
- 微型计算机的硬件和软件
- 硬件ecc和软件ecc
- 软件堆栈和硬件堆栈
- 软件看门狗和硬件看门狗
- 硬件看门狗和软件看门狗
- 并行硬件和并行软件
- lua5.2.4再vs2012下编译失败
- Linux主机名修改
- 第十二周 项目2-操作用邻接表存储的图
- Android 自定义View实现文本流布局
- Volley获取网络数据出现乱码
- 硬件和软件
- Java Sock 网络 InetAddress
- String_Search_RabinKarp
- 自动驾驶核心技术之三:环境感知
- Linux中shell脚本获取当前工作目录
- 453. Minimum Moves to Equal Array Elements
- Foxmail与QQ邮箱关联创建新账户
- struts登陆验证(防止未登录的游客非法访问)
- 数组名作为函数参数以及sizeof用法