Наверняка многие задавались вопросом: "чем конкретно нынче ОС 100% занята?" Интересует следующее: можно ли гуманно описать суть занятости на сейчас? Исходя из ядрёного доступа.
Честно говоря, немного не понял, что имеется в виду, поясни. Зачем это, для чего? Какая цель? О какой системе вообще речь? Windows? Первое, что мне приходит на ум, это перечисление потоков и раскрутка стека вызовов каждого из них. По стекам уже можно более-менее судить, что происходит в том или ином потоке, в том или ином приложении, а значит и в системе в целом. Это то, что можно сделать относительно быстро и документировано. Кроме того, можно пройтись по спискам планировщика потоков и посмотреть, какие на данный момент потоки запланированы к выполнению. Но это уже грязные хаки и система никаких сервисов для работы с планировщиком не предоставляет. Далее, ещё неплохо бы уточнить, какая именно системная активность интересует? Может быть что-то конкретное - файлы, реестр, сеть, что-то другое? И, к слову, ты уверен, что тебе это нужно именно в текущий момент? Может быть, лучше было бы сделать некий фильтр, ловить им интересующие события на некотором промежутке времени (скажем, 1 секунда) и анализировать их?
baldr Process Explorer (1,64Mb) ? Process Monitor ? Или интересует то что в ProcessExplorer скрывается под System idle process ?
Попробую развернуть мысль. К моему сканеру с интерфейсом SCSI попался адаптер на чипе Domex 3191. Как показала практика, именно драйвер этого адаптера загружает процессор на 100% как при пользовании сканером, так и в случайные моменты времени. Вот и хотелось бы кнопку, по которой причина неожиданной занятости стала бы более понятной (к примеру, "Практически не вылезаю из KeStallExecutionProcessor()").