Це мене глибоко заінтригує, як програмне забезпечення може перевірити фактичну температуру ядра мого ноутбука / ПК.
Хтось може мені пояснити цей процес?
Це мене глибоко заінтригує, як програмне забезпечення може перевірити фактичну температуру ядра мого ноутбука / ПК.
Хтось може мені пояснити цей процес?
Відповіді:
У вашій системі є серія датчиків, які визначають температуру тощо.
Вони пов'язані з різними внутрішніми наборами мікросхем - зазвичай це супер чіп IO, який справляється з іншими функціями, і це піддається вашій системі через різні API.
Що стосується самих датчиків - вони інтегровані в мікросхеми - ваш процесор має такий, який базується на діоді, чутливому до температури .
Ваша ОС, ймовірно, спілкується з ними через якийсь внутрішній API - в Linux це буде сенсорний і його lm_sensors на передньому кінці разом із відповідним драйвером.
На моїй машині та Fedora класу NUC я використовую наступні драйвери
Driver `it87':
* ISA bus, address 0xa40
Chip `ITE IT8771E Super IO Sensors' (confidence: 9)
Driver `coretemp':
* Chip `Intel digital thermal sensor' (confidence: 9)
і це говорить мені (наприклад)
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +68.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +67.0°C (high = +105.0°C, crit = +105.0°C)
Насправді, як це звучить. У пакеті процесора є термоелемент, і він передає значення на комп'ютер. Розташування датчика залежить від процесора. Більшість процесорів Intel мають термопару в кожному ядрі. Деякі материнські плати можуть мати термопару в розетці процесора, тому ви можете отримати "внутрішню" і "зовнішню" температуру.
/sys
безпосередньо, без демонів простору користувачів .... також, здається, що у вашого термінала є проблеми з Unicode.