问题标签 [bios]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bios - 如何编写连接互联网的 BIOS 程序?
我知道有一些程序,比如 lojack 用于安装在 BIOS 上的笔记本电脑,但我仍然有点困惑。在阅读有关 lojack 的信息时,在我看来,在用户登录并尝试访问互联网之前,他们无法完全定位笔记本电脑的位置。所以我认为这是一个 BIOS 应用程序,所以如果小偷重新格式化 HD 也没关系。
所以我的问题是,是否有人对如何编写互联网启用 BIOS 应用程序有任何想法。我不是在寻找完整的答案——只是开始的想法或资源。例如,这样的东西是用汇编写的吗?一旦编写了一个这样的应用程序,它如何转移到 BIOS。BIOS 程序本身是否识别出存在互联网连接(当小偷登录到操作系统时)。或者在登录时,是否会产生其他进程?是否有任何人也可以指导我的资源/网站?
boot - 有空调电源时自动打开计算机
为了防止由 mini PC 供电的硬件设置发生电源故障(这在我的情况下可能相对常见),我需要让计算机自动打开,并且在 A/C 电源可用时尽快打开. 我听说有些 BIOS 有一个选项可以自动打开带有空调电源的计算机(正是我想要的),但是我目前使用的计算机(Giada N20)在 BIOS 中没有这个选项。
最接近的是 RTC 警报,它会在特定时间唤醒计算机,但我只想在计算机关闭时一直唤醒计算机。在我的情况下,局域网唤醒似乎是不必要的黑客攻击,因为它需要服务器不断尝试唤醒计算机。
我还能做些什么来自动打开计算机电源吗?谢谢。
java - 在 Java 中获取 BIOS 时间
Java中有没有办法获取BIOS日期和时间?
当您调用或调用时, Java 是否使用BIOS(基本输入/输出系统)日期时间java.util.Calendar.getInstance()
new java.util.Date()?
我确实知道 Java 以格林威治标准时间 1970 年 1 月 1 日 00:00:00为基础以某种方式工作当前日期和时间。
但具体如何?
assembly - 导致机器进入 S3 睡眠的最后一条指令是什么?
从 ACPI Spec 4.0 第 299 页,有一些示例代码展示了如何让机器进入 S3 睡眠状态。我只是想知道导致硬件休眠的最后指令是什么?遵循代码后会发生什么,为什么?
assembly - 为什么这个引导加载程序代码不起作用?
我的期望是它打印一个字符串,但什么都没有打印出来。当我把字符串变短时,它有时会起作用,当我再次把它们变长时,它有时会起作用。
我不知道为什么这不起作用。
有人可以帮我吗?谢谢。
我正在使用的汇编代码是:
(Emacs 23、Ubuntu 10.10、nasm、VirtualBox OSE)
protected - 为什么我不能从保护模式调用 BIOS 中断?
对。我今天花了三个多小时试图理解为什么在保护模式下不能调用 bios ISR。我明白了,一旦你设置了 IDT,它就不一定在 IVT 的常用地址中,加上段在保护模式下没有固定大小等。但我仍然不明白你为什么不能创建一个 4GB段,将您的 IDT 段映射到 BIOS IVT,设置环 0 中的所有内容并调用它们。那不应该工作吗?
大多数文章要么说:“记住你不能在保护模式下使用 BIOS 中断!” 没有探索该主题或具有极强的描述性,并引用陷阱、异常、图片重映射、缺乏权利和段寄存器问题作为其背后的原因。
如果有人能提出更人性化的解释,那将非常有帮助……我并不怀疑文章所说的,我只是想了解为什么它如此“痛苦”!
提前致谢!
assembly - bios int 0x13 失败且没有错误
我正在编写一个用于教育用途的引导加载程序,并且运行良好。但是当我尝试在真机上启动时,我的磁盘读取代码无法加载某些扇区。没有给出错误代码,也没有设置 CF。它还在 al 中返回 1,这意味着已读取 1 个扇区(应该是正确的)。但是当我尝试跳转到加载的扇区时,它只是挂起并且什么也不做。第一阶段打印一个 A,第二阶段用 F 覆盖。当您使用真实硬件启动时,只显示 A。所以这个扇区不在它应该在的内存中。
这是我的 MBR:
第 2 阶段:
它在 kvm 中完美运行,但不适用于具有真实 bios 的真实硬件。我使用 USB 闪存驱动器在真实硬件上测试启动。
问题可能是我没有在我的 mbr 的第一个字节中定义的 BPB 吗?我不这么认为,因为我只是阅读原始扇区。如果我错了,请纠正我。
有人知道它可能是什么吗?
谢谢
c - 用于查询和设置 bios 属性的 API
假设我想在 Linux 中更改我计算机的 BIOS 中的设置(如果重要的话,假设是 Ubuntu 11。)存在哪些类型的 API 可以让您查询和操作 BIOS 设置?
此外,什么是进行此类开发的好资源?
winapi - 如何使用 Win32 API 检查 BIOS 硬盘密码状态?
一些硬盘在启动时支持密码保护。是否有我们可以调用的 Win32 API 来检查硬盘密码状态?
类:Win32_ComputerSystem 似乎没有这方面的字段。
谢谢。
linux - Linux内核中的硬件时钟信号实现
我正在查看一些指针以了解 Linux 内核如何实现各种硬件时钟的设置。这基本上与设置 LCD、UART 等硬件功能将使用的各种时钟有关。例如,当 Linux 启动时,它如何处理设置 UART 或 USB 的时钟。也许像时钟管理器之类的东西。
我基本上是在尝试在我正在开发的新硬件上为不同的操作系统实现类似的东西。任何帮助将非常感激。
[编辑]
感谢您的回复和链接。所以这是我到目前为止所实施的。这应该让你知道我要去哪里。
我查找了我所针对的特定系统的硬件参考手册,并编写了一些代码来监视/修改我感兴趣的外围设备的信号/引脚,即从命令行打开/关闭它们。现在这些集合时钟/信号一起控制外围设备。HRM 会说,如果你想打开 UART 或其他东西,那么就打开这样那样的信号/引脚。@BjoernD 是的,我正在使用类似 mmap() 的函数来与外围设备通信。
我的问题的核心是我想了解使用我已经编写的实用程序的时钟/外设管理器的设计和实现。这个时钟/外设管理器可以让我控制启用/禁用我想要的外围设备。基本上,这个管理器将使我能够对正在运行的初始化代码进行更改。此外,在运行时进程可以调用此管理器来打开/关闭设备,从而优化功耗。这可能没有完全的意义,但我自己正试图解决这个问题。
现在我确信这样的事情会在 Linux 或任何操作系统中实现性能问题(没有人愿意通过在启动时打开所有外围设备来浪费电力)。我想了解它的软件架构。到目前为止,来自任何操作系统的引用都至少可以抢占先机。此外,我不是在编写自己的操作系统,有一个操作系统,但我更多地关注板级软件,即 BSP 来工作。但是无论如何感谢操作系统链接,它们真的很棒。欣赏它。
谢谢!