Меня глубоко интересует, как программное обеспечение может проверять фактическую температуру ядра моего ноутбука / ПК.
Может кто-нибудь объяснить мне этот процесс?
Меня глубоко интересует, как программное обеспечение может проверять фактическую температуру ядра моего ноутбука / ПК.
Может кто-нибудь объяснить мне этот процесс?
Внутри вашей системы есть ряд датчиков, которые определяют температуру и тому подобное.
Они связаны с различными внутренними чипсетами - как правило, это супер-чип ввода-вывода, который обрабатывает это вместе с другими функциями, и который доступен вашей системе через различные API.
Что касается самих датчиков - они встроены в микросхемы - у вашего процессора есть датчик на основе термочувствительного диода.
Ваша ОС, вероятно, общается с ними по какому-то внутреннему API - в Linux это будет SensorD и его внешний интерфейс lm_sensors вместе с соответствующим драйвером.
На моей машине класса NUC и Fedora я использую следующие драйверы
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 имеют термопару в каждом ядре. Некоторые материнские платы могут иметь термопару в разъеме процессора, поэтому вы можете получить "внутреннюю" и "внешнюю" температуру.