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

时间:2016-12-10 18:23:21

标签: operating-system cpu hardware ram bios

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

  1. 我的操作系统如何知道它?
  2. 硬盘,CPU或RAM中是否存在存储此类信息的位置?
  3. 这种信息的格式是否有一些标准?

2 个答案:

答案 0 :(得分:2)

SMBIOS(以前称为DMI)包含大部分此类信息。 SMBIOS是一种数据结构/ API,是BIOS / UEFI固件的一部分,包含计算机的品牌和型号等信息。

其余部分由操作系统直接查询硬件收集。

答案 1 :(得分:0)

superuserMokubai抓取的答案。

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

如果您认为每个设备都是通过地址和数据线访问的,并且在某些情况下仅 数据线,那么您就需要进行相关处理,在这些数据行中您需要某种“协议“决定你如何与这些设备通信。

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

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

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

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

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

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