- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
据我了解,ACPI 定义了一个通用硬件编程模型,其中操作系统依赖 OEM 固件提供的 AML(ACPI 机器语言)代码来操作硬件。
为了执行 AML 代码,操作系统必须包含一个 AML 解释器。
因此,在我看来,固件开发人员使用 AML 来提供平台硬件和操作系统之间的控制接口(interface)。
但我们真的需要 AML 吗?
我认为 最终硬件可以仅限 通过 进行配置原生 平台的指令。因此 AML 解释器必须将 AML 翻译成 native 指令,否则无法在平台上执行。
但是使用 有什么意义?中级语言 像反洗钱?我的意思是虽然 AML 被认为是独立于平台的,这意味着我可以使用 AML 以非本地方式描述我的平台。
但 AML 实际上是平台固件的一部分。并且整个固件已经内置到目标平台的 native 指令中。 那么让固件的一小部分独立于平台有什么好处呢? 为什么不只使用 native 指令?有必须以某种方式让操作系统也使用它。这样操作系统就根本不需要 AML 解释器。可以避免很多复杂性。
最佳答案
ACPI 与其前身 APM 相比的一大目标是赋予操作系统更多的生存能力和对电源状态转换的控制。
APM 是一个黑匣子。操作系统对电源管理实现一无所知。它只会调用 BIOS 函数,而 BIOS 会处理所有的魔法。它奏效了吗?系统是否正常 sleep ?系统卡住了吗?用户应用程序是否能够处理 BIOS 实现?可悲的事实是,许多系统的电源管理完全被破坏了,微软希望为不断发展的笔记本电脑行业提供更好的电源管理体验。
现在,BIOS 将 ASL/AML 代码交给操作系统和 操作系统执行它而不是 BIOS .如果 BIOS 代码做了一些愚蠢的事情(比如弄乱不应该的寄存器),Windows 可以通过解析代码来检测并阻止它。与 C 不同,AML 是 100% 可反编译的。
请记住,ACPI 不是 x86 特定的。在它被开发的时候,Itanium 和 Xscale 就在身边。英特尔和微软需要一种可以在所有平台上运行的语言,包括 32 位和 64 位。
最后,ASL 不仅仅是可执行函数的列表。它也是静态配置表的数量。 ASL 代码有表格来定义内置在主板上的非 PnP 硬件。它有支持的电源状态表。像 C 这样的传统编程语言并没有真正为此设置。
如果今天发明了 ACPI,他们可能会使用 XML 之类的东西向操作系统提供信息。
关于bios - 为什么我们需要 AML - ACPI 机器语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088172/
我被难住了。如果我对文件路径进行硬编码,则此脚本在我的 Windows 机器上的 Eclipse 中运行良好。如果我尝试接受参数并在我的边缘节点(一个 linux 机器)上运行它,它不会抛出任何特定的
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 8 年前。 这个问题似乎不是关于 a specific programming problem,
我们最近将我们的基础架构从 Solaris(Oracle/Sun Java) 迁移到 AIX(IBM Java)。 我们的客户将使用我们共享的算法(AES)和 key 上传加密文件,一旦加密文件放置在
我想编写一个程序(java),它接受一个文件作为输入,对其进行加密(使用aes128)并通过ftp发送该加密文件,接收者接收它并使用 key 进行解密。我是初学者,有什么帮助可以做到这一点吗?非常感谢
我正在尝试将一些为 1c2 机器 (thumb) 编译的 DLL 导入 WinMobile 6.1 C# 智能设备项目。 然而,当我尝试将它们导入我的 C# 项目时,我得到“无法添加对...的引用”,
我正在寻找 FPGA + 机器。 它应该是入门级定价(例如不超过 200 美元)。 编辑:我想制作一个 ASM 图表并将 FPGA 编程为我在图表中指定的行为 最佳答案 你看过Arduino ? 关于
这是我想完成的: Write a program that stimulates a bean machine Your program should prompt the user to enter
我尝试使用以下命令在 Windows 10 上使用 hyperv 创建一台机器: docker-machine create --driver hyperv default 但它给了我: This m
我有个问题 我的问题是我有一个将 mapred.map.tasks 配置为10的作业(抓取工具),这意味着我的工作将一次创建10个映射器。但是我的集群将 mapred.tasktracker.map.
我正在尝试使用命令重新启动 Docker sudo docker restart a7f8ce75f51f 但我收到以下错误 Error response from daemon: Cannot re
在新机器上引导 Eclipse 是一个非常耗时的过程,您最终会问自己是否真的需要每个插件。但这些都很方便,并且有助于养成一致的习惯。 Eclipse 引导问题包括: 解释/记录需要发生的事情 粘贴正确
我们希望建立一个 Docker 开发节点,我们团队中的任何人都可以将东西部署到其中。 我使用 SSH 创建了一个新的 Docker 机器,如下所示: docker-machine create \
如果可能的话,我想使用 java.util.logging 来做到这一点,有什么想法吗?谢谢。 最佳答案 您可以尝试一下SLF4J . Simple Logging Facade for Java (
当 vagrant up 时,我们的 vagrant box 需要大约 1 小时才能提供第一次运行,在配置过程的最后,我想将盒子打包到本地文件夹中的图像,以便下次需要重建时将其用作基础盒子。我正在使用
我正在为我的图像处理项目构建一个 SVM 线性机,在其中提取正样本和负样本的特征并将其保存到目录中。然后,我使用这些功能训练 SVM,但收到一个无法调试的错误。下面是我用于训练分类器的 train-c
问题描述: 我要将MySQL server 5.7.11 (win32) 安装到Windows server 2012 中。服务器中安装了多个网络接口(interface)卡,我将安装多个绑定(bin
我想安排一台 (AWS) Linux 计算机启动、运行程序,然后自行关闭(以将成本保持在最低水平)。我可以放 mycommand; shutdown 在/etc/rc.local 文件中。但如果我需要
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
如何将此文件的输出发送到另一台 Linux 计算机的主目录。 显然,我想发送此文件的输出: sed '/^\s*#/d;/^$/d' /etc/httpd/conf/httpd.conf 到 nati
我有一个 Linux 机器,我可以使用 SSH 进行 root 访问。 我想使用GDB来调试系统。 这是一个精简的 Debian 软件包;因此,我里面没有任何编译工具。 uname -a 给出: 2.
我是一名优秀的程序员,十分优秀!