No hardware x86, ele obtém muitas informações de DMI , uma API para obter informações do BIOS. Mais detalhes em github: lshw
Por exemplo:
Onde o programa de hardware lshw
- list lê as informações?
(Quero dizer, em um nível de software, que provavelmente há alguns chips de ROM aqui e é claro que é o caso)
Basicamente, tudo (o usuário poderia querer saber) sobre os componentes internos da máquina e do sistema é fornecido ao usuário pelo kernel com sistemas de arquivos virtuais. ou seja, procfs montado em /proc
, certo?
Então, a única maneira de ler (não processar / user-land), (significa o sistema-software real / kernel / os infos e não algum processo isolado que é contado tudo) é através desses sistemas de arquivos virtuais.
Como o kernel entende isso? Quero dizer, ele vê os chips / sensores da ROM como Hardware de E / S e eles têm um endereço físico que é mapeado pela memória?
Para a CPU, eu sei que o x86 tem uma instrução especial que coloca o cpuinfo em um registro a partir do qual ele pode ser lido com instruções adicionais (por exemplo, lscpu
)
No hardware x86, ele obtém muitas informações de DMI , uma API para obter informações do BIOS. Mais detalhes em github: lshw