首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >软件/代码实际上是如何与硬件通信的?

软件/代码实际上是如何与硬件通信的?
EN

Stack Overflow用户
提问于 2018-05-24 04:49:22
回答 2查看 0关注 0票数 0

我的问题是:

当我在Windows/Linux中按下“关闭”按钮时,计算机关机。“关机”命令是如何使计算机实际关机的?

EN

回答 2

Stack Overflow用户

发布于 2018-05-24 13:43:51

在最基本的层面上,纯文本代码最终转化为0和1。这些0和1代表低电平和高电平。此时,电压电平控制各种电路。

想想电池供电的风扇。电池提供的电流为电动机提供动力,电动机内部利用电力产生emag场,导致轴旋转,从而驱动风扇叶片旋转。这是电压如何变成物理的例子。

你可以建立一个“开关”,给定适当的电压,最终将获得电源停止从墙上拉电流。

显然它比这更复杂,但这是它的要点。

为了更容易,计算机由抽象层组成。

最低层是电压,电路,晶体管和硅。硬件上的下一层是操作系统。操作系统管理硬件并提供“挂钩”来使用它,而不是一次又一次地重写每种硬件访问的代码。这些钩子或“接口”允许代码具有访问不同硬件的通用方法。因此,使用操作系统提供的接口,你可以编写你的应用程序。

在每一层中,都有子层,例如硬件可能具有固件 - 一种低级指令集,指示硬件应如何运行,存储在EEPROM中,并在驱动器加电时加载。另一个子层是像python这样的高级语言如何提供库来编写网络软件,而不必直接编程到OS提供的原始套接字API。

操作系统处理大多数硬件/软件交互。硬件供应商编写“插件/模块/驱动程序”,允许操作系统控制其特定的硬件。

所以你会编写一个软件应用程序,利用这些操作系统提供的硬件接口。

票数 0
EN

Stack Overflow用户

发布于 2018-05-24 14:24:56

那么,关机实际上并不是物理上的,电脑中的所有电路都不会完全关闭,除非切断电源。

该软件使用BIOS中的APM(高级电源管理)接口来控制计算机中的电源电路。

当计算机关闭时,它仍然可以在没有物理拉动开关的情况下打开。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档