由于一些显而易见的原因,我所问的问题肯定是一种低效的做事方式,但我只是想问一些硬件/软件领域的专家是否可行。
我的方案是,HDD/SSD 控制器的板载固件会在开始向主机内存进行 DMA 传输之前在其自己的计时器中设置预定义的时间量。通过对控制器寄存器进行编程,固件已经预先编程了 DMA 到 RAM 的地址/计数。
回到计时器位...在开始 DMA 到主机内存之前的预定义时间量是 CPU 从其 Nor 闪存或其他东西获取 Bios/Uefi 并初始化所有其他硬件(包括 SSD/HDD)所需的时间量,然后一旦完成所有被编程为暂停的操作,CPU 将停止使用总线。一旦加载操作系统,SSD/HDD 就会中断 CPU。
我知道这个问题听起来可能有点疯狂,但我喜欢深入底层去了解事情是如何运作的,并想知道你是否可以做到这一点,或者是否有人可以向我解释,由于某种原因这是不可能的或者没有意义?
抱歉,这不是提出此类问题的正确论坛
答案1
磁盘控制器可以自行加载操作系统吗?
不,典型的 PC 架构无法做到这一点。HDD
/SSD 的集成控制器只能通过 SATA 接口与主机通信。SATA
接口具有主/从层次结构:主机是主设备,HDD/SDD 是从设备。
换句话说,数据传输的内容和时间由主机控制,而不是 HDD/SSD。
不管驱动器是如何被黑客入侵的,主机仍然拥有控制权。例如
,DMA/主机总线传输和 SATA 操作(您似乎将这两个不同的操作混为一谈)仍然必须由主机启动,而 HDD/SDD 无法启动 DMA/主机总线传输或 SATA 操作。
你所写的大部分内容都没有意义。
答案2
是的,好的,不。
必要的工作已经完成事实证明,磁盘控制器有足够的备用内存和 CPU 来执行此类技巧 -你的噩梦之根工具包。
所以影响你要能可以通过硬盘向CPU提供与真实操作系统不同的操作系统(如果有的话)来获得。
但这是不可能的由硬盘控制. 事实并非如此。