我的操作系统如何获取有关磁盘大小、RAM 大小、CPU 频率等的信息

Gab*_*是好人 0 bios memory cpu operating-systems hard-drive

我可以从我的操作系统中看到有关我的硬盘、RAM 和 CPU 的信息。但我从来没有告诉我的操作系统这些信息。

  1. 我的操作系统如何知道它?
  2. 硬盘或CPU或RAM中是否有存储此类信息的地方?
  3. 这种信息的格式有什么标准吗?

Mok*_*bai 5

您不需要告诉它,因为每个设备都已经知道(或有办法)识别自己。

如果您认为每个设备都可以通过地址和数据线访问,并且在某些情况下只有数据线,那么您就会意识到在这些数据线中您需要某种“协议”来确定您如何与这些数据线交谈设备。

在该协议中,您有一些命令说“阅读这个”和“发送那个”或“把这个放在那里”。拥有一个说“识别你自己”的命令也相对容易,它不会读取磁盘或内存块或将像素涂成特定颜色,而是返回一个预制的字符串或一组字符串,告诉驱动程序或操作系统那个设备是什么。使用一系列身份命令,您可以发现设备类型、它的功能以及可以使用它的驱动程序。

你不需要告诉设备它是什么,因为它已经知道了。而且您不需要告诉操作系统它是什么,因为它可以询问设备本身。

你不会告诉人们他们叫什么以及他们如何说话,你会他们。


每个设备都有自己的这些消息的协议,并且它们不存储其他设备的详细信息,因为如果您可以随时删除任何设备,这样做会很疯狂并且几乎毫无用处。除了操作系统用来与之通信的驱动程序外,您的硬盘驱动器不需要存储有关您的内存或图形卡的信息。

PC UEFI 规范将定义每台计算机都具有的一组核心系统规范,允许处理器启动,并允许存储在 EEPROM 中的程序开始确定处理器所需的基本系统探测,设置 RAM,找到一个磁盘和显示器,从而继续启动计算机。

从那里 UEFI 系统将移交给具有更详细探测和识别程序的操作系统,但这一切都始于最基本的“我有一个处理器,我周围有什么?” 情况。