System idle process постоянно грузит процессор

Организация аппаратных прерываний в персональном компьютере

Как вы знаете, персональные компьютеры начались с IBM PC. Его архитектура предусматривала
восемь линий аппаратных прерываний (IRQ), которыми управлял специальный контроллер.
Каждой из них назначался номер, который определял приоритет прерывания и адрес
его обработчика (так называемый вектор прерывания). Новая архитектура, IBM PC
AT, предусматривала еще восемь линий прерываний, для которых использовался второй
контроллер, подключаемый к одной из линии прерывания первого контроллера. К сожалению,
данная архитектура стала последней после того, как фирма IBM потеряла возможность
управлять развитием созданной ей платформы, поэтому все современные компьютеры
по-прежнему имеют только шестнадцать прерываний, одно из которых используется
вторым контроллером.

У компьютера IBM PC AT была только одна шина, по которой устройства могли общаться
с процессором и памятью — ISA. Большинство линий прерываний были закреплены за
стандартными ISA-устройствами, оставшиеся были зарезервированы на будущее. Когда
это будущее наступило, выяснилось, что новой универсальной шине PCI досталось
всего четыре свободных прерывания. Поэтому и был придуман хитрый механизм совместного
использования прерываний (IRQ Sharing) и динамического переопределения номеров
(IRQ Steering или Mapping).

Суть механизма управления прерываниями PCI-устройств в следующем. В общем случае
существует четыре физических линии PCI-прерываний, называемых PIRQ0, PIRQ1, PIRQ2
и PIRQ3. Они подключены к контроллеру прерываний. Каждое PCI-устройство со своей
стороны как бы имеет четыре разъема, называемые INT A, INT B, INT C и INT D. Подключать
линии к разъемам можно в любом порядке. Например, для первого PCI-слота можно
сделать такую разводку: PIRQ0 — INT A, PIRQ1 — INT B, PIRQ2 — INT C, PIRQ3 — INT
D. А для второго — по-другому: PIRQ0 — INT B, PIRQ1 — INT C, PIRQ2 — INT D, PIRQ3
— INT A. Обычно устройство требует только одну линию прерывания, подключенную
к INT A. Будучи установленным в первый слот, устройство использует линию PIRQ0,
а во втором слоте на том же контакте будет линия PIRQ1. Тем самым устройства в
разных слотах будут использовать разные физические линии прерываний. Аппаратный
конфликт между ними будет исключен.

Шина AGP, являясь по сути специализированной модификацией PCI, тоже использует
одну из линий PIRQ — обычно PIRQ0.

Для современных систем четырех линий оказывается недостаточно, поэтому в новых
чипсетах часто применяются восемь линий PIRQ, которые точно так же в разных комбинациях
подключаются к слотам PCI и встроенным в плату устройствам.

Линии PIRQ подключаются к контроллеру прерываний. Им, как и другим линиям,
назначаются логические IRQ-номера. Если на одной физической линии находятся несколько
устройств (а это допустимо), то все они будут иметь один и тот же номер IRQ. Если
устройства находятся на разных физических линиях, они все равно могут получить
одинаковые номера IRQ. Нормальные драйверы позволят им свободно работать без потери
производительности, так как шина PCI все равно может захватываться только одним
устройством. Главное — распознать, от какого устройства пришел сигнал.

Номера линиям PIRQ назначаются автоматически благодаря пресловутому механизму
Plug&Play. Но ведь есть и ISA-устройства, поддерживающие Plug&Play. Они тоже имеют
возможность автоматически получить номер IRQ. Но их линия прерывания принадлежит
им монопольно, и если такой же номер получит одна из линий PIRQ, возникнет неразрешимый
конфликт.

Итак, мы выяснили, что устройства PCI должны быть лишены проблем с конфликтами
IRQ. Если они, конечно, правильно работают, а так бывает не всегда. К тому же
драйверы должны поддерживать механизм совместного использования прерываний. Устройства
ISA не умеют делиться линиями прерываний и потому являются провокаторами конфликтов.
Следовательно, задача устранения конфликтов сводится к правильному распределению
номеров (источник проблем — ISA-устройства и «кривые» драйверы) или к разведению
по разным физическим линиям («кривые» PCI-контроллеры).

Давайте рассмотрим, каким образом в системе происходит распределение номеров,
и как мы можем повлиять на этот процесс.

Карта прерываний

Как я уже говорил, большинство номеров IRQ уже заняты стандартными устройствами,
точнее, назначены их линиям прерываний. Пройдемся по порядку:
0 — системный таймер (номер всегда занят);
1 — клавиатура (номер всегда занят);
2 — второй контроллер прерываний (всегда занят);
3 — порт COM2 (может быть отключен, а номер — освобожден);
4 — порт COM1 (может быть отключен, а номер — освобожден);
5 — порт LPT2 (обычно номер свободен);
6 — контроллер гибких дисков (может быть отключен, а номер — освобожден);
7 — порт LPT1 (если не в режиме EPP или ECP, то номер свободен);
8 — часы реального времени (всегда занят);
9 — свободен;
10 — свободен;
11 — свободен;
12 — мышь PS/2 (может быть свободен, если нет такой мыши);
13 — сопроцессор (всегда занят);
14 и 15 — контроллер жестких дисков (может быть отключен, а номер — освобожден).

В типичной системе свободны номера 5, 7, 9-11, то есть пять из пятнадцати.
Кроме того, можно смело отключить COM2 и LPT1-порты, увеличив число свободных
номеров до семи. Свободны — не значит, что не заняты, просто между ними возможна
свободная перетасовка.

В любой системе имеется три стандартных PCI-устройства — ACPI-, USB-контроллеры
и видеокарта, каждое из которых займет по одному номеру. Сложное устройство (например,
звуковая карта) может потребовать несколько линий — INT A, INT B и т.д. для своих
компонентов, которые между собой не будут конфликтовать (как-никак разные физические
линии), а вот с другими устройствами — запросто.

Узнать, как в данный момент распределены номера прерываний, можно несколькими
способами. В самом начале загрузки компьютера появляется текстовая таблица конфигурации.
Сразу после нее идет перечень PCI-устройств с указанием назначенного им номера
IRQ. Другой способ работает в Windows 9x. В панели управления есть иконка «Система»,
в вызываемом апплете — закладка «Устройства. Выбираем свойства устройства «Компьютер»,
и там будут перечислены все устройства с указанием их IRQ (см. скриншот).


В Windows 2000 у нас нет доступа к управлению прерываниями, поэтому для просмотра
списка IRQ нужно воспользоваться стандартной информационной утилитой (Панель управления/Администрирование/Управление
компьютером/Сведения о системе/Ресурсы аппаратуры).


Автоматическое обновление системы

Частая причина чрезмерной работы процесса System – автоматическое обновление системы, в том числе загрузка новых драйверов. Эта функция хоть и полезна, но удобна далеко не всегда.

Поэтому имеет смысл ее временно отключить, чтобы освободить ресурсы процессора, а при необходимости включать обновление вручную.

Сделать это просто, но для этого требуются права Администратора компьютера. Если они есть, у вас будет доступ к администрированию операционной системы.

Чтобы отключить автоматическое обновление потребуется из меню Пуск запустить Панель управления и в ней выбрать пункт Администрирование. В открывшемся окне потребуется выбрать раздел Службы. После загрузки он отобразит список всех работающих и отключенных служб операционной системы скрыто работающих на ПК. В этом списке найдите пункт Центр обновления Windows.

рис. 2 – диалог подраздела Службы раздела Администрирования

Чтобы отключить эту службу применяйте контекстное меню. Вызывается оно щелчком правой кнопки мыши на объекте.

В нем нужно выбрать строчку Свойства, а в отобразившемся окошке на вкладке кликнуть кнопку Остановить, если она активна.

Сделать это нужно для того, чтобы процесс корректно завершился. После этого можно полностью отключить работу центра обновления.

Для этого выше над кнопкой в выпадающем списке с заголовком выбрать пункт Отключена.

Чтобы изменения вошли в силу потребуется нажать кнопку , закрыть окно и перезапустить ПК.

Какие причины могут быть для сбоя

За подобными ошибками всегда стоят технические или программные причины. В конкретном кейсе с ошибкой сбоя дескриптора устройства их целое множество:

  • подключаемое оборудование попросту неисправно;
  • используемый драйвер USB поврежден, установлен неверно или не соответствует техническим характеристикам системы (в данном случае в тексте ошибки также появится номер 0000002b);
  • компьютеру требуется обновление, но выбранный драйвер с ним несовместим, что также приводит к ошибке 43 или же к сбою дескриптора устройства;
  • если драйвер чипсета устарел или работает некорректно, то остальные аспекты системы тоже будут неработоспособны.

Ошибка «сбой запроса дескриптора» также может появиться, если гаджет подключён к порту с более высокой пропускной способностью, чем он сам. Например, порт USB 3.0 (этот вход всегда выделен синим входом) поддерживает устройства USB, указанные в стандарте USB 2.0, но при этом могут возникать трудности при соединении или передаче информации.

4 ответа

Я просто ответил на это в stackoverflow, но поскольку это не то место, которое я просто позволю ему: это только что произошло со мной, и ответ в том, что вы были взломаны!

Пожалуйста, проверьте: https: //forum.joomla.org/viewtopic.php?t=903755 о том, как очистить возможный бэкдор, оставшийся в некотором PHP-файле, и вот мой ответ на дополнительные шаги по очистке остальных здесь: https: //www.linuxquestions. org / questions / linux-enterprise-47 / troubleshootd-utilizing-high-cpu-and-memory-933116 /

Я бы рекомендовал обновить ваш php и предпринять другие меры безопасности, например, не предоставляя вашу информацию о версии PHP и apache в ответе сервера. Переустановка системы выглядит для меня очень громоздким, но неважным …

ответ дан
17 July 2018 в 16:07

Вероятно, это вредоносная программа. sync_supers — это поток ядра, который никогда не должен запускаться как www-data и вряд ли использовать какие-либо ресурсы. И он не должен использоваться в системе 16.04.

Итак, проверьте свою резервную копию на наличие вредоносного ПО, nuke на компьютере и переустановите из резервных копий, которые вы проверили, чистым. Скомпрометированной системе, вероятно, больше не следует верить, так как трудно найти все бэкдоры, которые, возможно, остались там.

ответ дан
17 July 2018 в 16:07

Я просто ответил на это в stackoverflow, но поскольку это не то место, которое я просто позволю ему: это только что произошло со мной, и ответ в том, что вы были взломаны!

Пожалуйста, проверьте: https: //forum.joomla.org/viewtopic.php?t=903755 о том, как очистить возможный бэкдор, оставшийся в некотором PHP-файле, и вот мой ответ на дополнительные шаги по очистке остальных здесь: https: //www.linuxquestions. org / questions / linux-enterprise-47 / troubleshootd-utilizing-high-cpu-and-memory-933116 /

Я бы рекомендовал обновить ваш php и предпринять другие меры безопасности, например, не предоставляя вашу информацию о версии PHP и apache в ответе сервера. Переустановка системы выглядит для меня очень громоздким, но неважным …

ответ дан
23 July 2018 в 17:02

Вероятно, это вредоносная программа. sync_supers — это поток ядра, который никогда не должен запускаться как www-data и вряд ли использовать какие-либо ресурсы. И он не должен использоваться в системе 16.04.

Итак, проверьте свою резервную копию на наличие вредоносного ПО, nuke на компьютере и переустановите из резервных копий, которые вы проверили, чистым. Скомпрометированной системе, вероятно, больше не следует верить, так как трудно найти все бэкдоры, которые, возможно, остались там.

ответ дан
23 July 2018 в 17:02

Что такое System Idle Process

Если компьютер тормозит, откройте «Диспетчер задач», нажав Win+X и выбрав одноименную утилиту. На первой вкладке приведен перечень выполняющихся процессов, кликните на столбец ЦП, чтобы отсортировать их по убыванию нагрузки на центральный процессор. На первой строке окажется главный виновник загрузки системы, иногда это System Idle Process или утилита «Бездействие системы» в русскоязычных версиях Windows.

System Idle Process – что же это такое? Это специальный процесс бездействия, но он не показывает процент простоя процессора. В Windows существует специальная утилита, которую ОС запускает в то время, когда компьютер не нагружен другими операциями. System Idle Process помогает снизить потребление энергии и температуру процессора, выполняя в цикле процедуру приостановки.

Во время остановки ЦП постоянно ожидает появления какого-либо прерывания – как только появится какая-нибудь задача, компьютер сразу проснется. Утилита бездействия имеет наименьший приоритет среди всех других, она не стартует, пока есть хоть один другой процесс для запуска.

Поэтому проценты у System Idle Process в диспетчере показывают не загруженность компьютера, а количество свободных ресурсов.

Высокая загрузка процессора из-за svchost.exe

Ищем svchost в папке AppData

Из-за неправильной установки библиотек в AppData может запуститься бессмысленный, но интенсивно нагружающий CPU процесс: svchost.exe. Не следует путать его с svchost.exe, принадлежащим непосредственно Windows.

  1. Повторите первое и второе действие из предыдущего абзаца.
  2. Если на самом верху находится процесс «svchost.exe», сделайте следующее.
  3. Нажмите клавиши + и введите в открывшемся окне команду «%appdata%».
  4. Найдите в появившемся окне «Проводника» папку, которая называется «dll» и удалите, если он существует, файл «svchost.exe».
  5. В качестве альтернативы вы можете скачать программу WinFuture, так как высокая нагрузка на процессор может быть вывана ошибками в работе функции обновлений операционной системы.
  6. Помощь в этом деле предлагает утилита WinFuture Update Pack, которую вы можете скачать как в полной версии, так и в качестве апгрейда.

Обновить драйвера, и ошибка уйдёт

Самым надёжным вариантом избавиться от «usb device descriptor failure» или же «сбой запроса дескриптора» является обновление программных компонентов составного usb устройства. Пошагово эта процедура выглядит следующим образом:

  1.  Для начала вам необходимо попасть ДУ. Нажмите Win+R, появится функция «Выполнить».
  2. Как только вы откроете «Выполнить», вы должны ввести «devmgmt.msc» и нажать Enter.
  3. Внутри диспетчера перейдите в подраздел о usb-контроллерах.
  4. Вам откроется несколько контролеров, в каждом из которых есть слово USB. Тапните ПКМ по всем и выберите «обновить»
  5. Далее необходимо нажать «Найти драйверы на этом ПК» — «Выбирать из списка моих драйверов».
  6. Подберите подходящий драйвер и продолжите.
  7. Подождите, пока инсталляция не закончится и закройте утилиту. Вы должны осуществлять то же самое для всех отображаемых там контроллеров. Если процедура прошла правильно, то при обновлении любого из этих драйверов пометка «Unknown Device» снимется и будет показываться, как рабочее устройство.

Распределение номеров IRQ средствами Windows

Второй раз номера прерываний распределяются операционной системой. Как показали
проведенные мной эксперименты, Windows’98 начинает вмешиваться в произведенные
BIOS’ом действия только в крайних случаях. При наличии нормального BIOS описанные
здесь приемы не понадобятся.

Следует заметить, что для правильной работы механизмов совместного использования
IRQ и динамического распределения необходимо, чтобы Windows распознала чипсет
материнской платы и загрузила IRQ Miniport. Чем более свежая версия у Windows,
тем больше чипсетов поддерживает ее собственный минипорт (PCIIMP.PCI). Однако
всегда лучше перестраховаться и установить самые свежие драйверы чипсета.

В Windows 98 управление системой распределения IRQ осуществляется с помощью
стандартного менеджера устройств. В списке системных устройств нужно найти шину
PCI. В ее свойствах есть особая закладка (см. скриншот).

Если все настроено правильно, там будет упомянут минипорт («успешно загружен»),
а управление шиной PCI (Steering) будет включено. Таким образом, Windows’98 имеет
средства для управления распределением номеров прерываний между физическими линиями.
Но поскольку и BIOS чаще всего с этим хорошо справляется, этот механизм не задействуется.

Но иногда он просто необходим. Как я уже говорил, PCI-устройства не должны
конфликтовать в случае, если они используют одно и то же логическое прерывание.
Другое дело — ISA-устройства, к которым относятся также и COM- и LPT-порты. Если
устройство не-Plug&Play, BIOS может его и не заметить, отдав занятое им прерывание
PCI-устройству. Тогда нужно прерывание зарезервировать. Это делается в диспетчере
устройств Windows’98: выбираем устройство «Компьютер», вызываем его свойства,
переключаемся на вторую закладку. Дальше все понятно.


Кроме резервирования, можно непосредственно задать номер прерывания для устройства.
Для этого нужно в его свойствах найти закладку «Ресурсы», отключить автоматическую
настройку и попытаться изменить назначенный номер прерывания. К сожалению, это
работает далеко не всегда.

Windows 2000 — система особая. Если у вас современный компьютер, то он наверняка
поддерживает интерфейс конфигурирования ACPI. Windows 2000 в таком случае вообще
проигнорирует действия BIOS и «повесит» все PCI-устройства на одно логическое
прерывание. В общем случае это будет отлично работать (когда нет ISA), но иногда
случаются проблемы. Чтобы получить возможность изменять номера прерываний, нужно
либо поменять HAL-ядро, либо переустановить Windows 2000 с отключенным в BIOS
ACPI. Замена ядра производится так: в диспетчере устройств выбирайте «Компьютер»/»Компьютер
с ACPI», меняйте драйвер на «Стандартный компьютер», перезагружайтесь. Если это
не поможет, придется переустановить Windows 2000 заново.

Надеюсь, приведенная выше информация поможет вам в борьбе с глюками «железа».
И помните: большинство возникающих проблем связано с низким уровнем компьютерной
грамотности хозяина компьютера. Поэтому нужно всегда стремиться к самообразованию,
тогда и проблем будет поменьше, а те, что все-таки возникнут — не будут казаться
неразрешимыми.

Остановить процесс фейковый csrss exe с помощью «Rkill»

Существует миниатюрная утилита rkill, с помощью которой можно быстро завершить все «подозрительные» процессы в Windows, включая и те, что маскируются в качестве системных под названием csrss exe.

Установочный пакет данной программы можно скачать с официального сайта разработчика https://www.bleepingcomputer.com/download/rkill/. Она абсолютно бесплатная.


Далее нужно инсталлировать программу и запустить её с ярлыка на рабочем столе. Появится окно терминала и запустится процесс поиска вредоносных запущенных файлов.
Оригинальный csrss exe процесс исполнения клиент сервер завершён не будет. А вот «фейковый» завершит. Компьютер после этого перезагружать ни в коем случае нельзя, так как csrss exe будет запущен повторно.

Для чего необходимо завершать процесс csrss?

Процесс csrss необходимо завершить для того, чтобы в дальнейшем его могла удалить полностью антивирусная программа.

Высокая загрузка процессора из-за программ в автозапуске

Ищем бесполезные программы, автоматически запускающиеся при запуске операционной системы

Возможно, высокую нагрузку на CPU обеспечивают программы, автоматически запускающиеся вместе с Windows.

  1. Повторите первое и второе действие из предыдущего абзаца, чтобы открыть «Диспетчер задач» на вкладке «Процессы».
  2. Найдите процессы, которые нагружают CPU особенно сильно.
  3. Нажмите клавиши + и введите в открывшемся окне команду «msconfig».
  4. Перейдите на вкладку «Автозагрузка» и посмотрите, есть ли там процесс, который в настоящее время сильно нагружает
  5. Вы можете исключить его из списка программ, автоматически запускающихся при старте Windows, убрав галочку слева от названия процесса. Но будьте внимательны: из числа автоматически запускающихся программ нельзя убирать антивирусное программное обеспечение и утилиту для резервного копирования. При этом, конечно, иногда они будут отнимать значительную часть производительности вашего компьютера.

Как удалить csrss exe

Самый простой вариант удалить из системы «фейковый» csrss — выполнить проверку ОС антивирусной программой. В Windows 10 с этой задачей отлично справляется интегрированный антивирус. Для его запуска нужно:

  1. Открыть «Параметры»
  2. Перейти в «Обновление и безопасность»
  3. Выбрать вкладку «Безопасность Windows». Нажать «Открыть службу»
  4. Далее — «Защита от вирусов».
  5. Нажать «Быстрая проверка».

Останется лишь дождаться её завершения (выполняется в фоновом режиме). А после перезагрузить ПК.

Итого, процесс csrss exe это системная служба, которую завершить невозможно. Но часто под неё маскируются вирусы. И если есть подозрения, что данный процесс загружает видеокарту или процессор, то это явный признак того, что система заражена.

Что происходит и как это выяснить

Убедиться в том, что именно процесс system грузит процессор совсем несложно. Но осилить эту задачу может пользователь со знаниями, которые несколько превышают базовые.

С целью проверить загрузку процессора потребуется запустить Диспетчер задач.

Существует несколько путей его запуска, но самый простой из них – щелкнуть левой клавишей мыши на панели задач, вызвав меню.

Панель задач – прямоугольная область, традиционно расположенная в нижней области экрана

В появившемся меню потребуется выбрать строчку Диспетчер задач, после чего появится небольшое окошко, в каком на одной из вкладок будет отображен список запущенных процессов.

рис. 1 – внешний вид диспетчера задач в Windows 7

Его внешний вид может существенно отличаться в зависимости от версии операционной системы, к примеру, Windows XP, Windows 8.1, Windows 10, но суть остается той же.

Чем выше цифра в колонке ЦП, тем больше процесс будет нагружать аппаратную часть, что в результате сказывается на производительности.

В критических ситуациях эта цифра достигает 100% и полноценно работать на ПК становится невозможно.

Причин столь непривычной активности скрытых от пользователя процессов может быть несколько, и все они решаются разными путями.

4.2. Маскирование прерываний

Часто при выполнении критических участков
программ приходится запрещать прерывания для
того чтобы гарантировать непрерываемое
выполнение определенной последовательности
команд. Это можно сделать командой CLI. Ее нужно
поместить в начало критической
последовательности команд, а в конце расположить
команду STI, разрешающую процессору воспринимать
прерывания. Команда CLI запрещает только
маскируемые прерывания, на обработку
немаскируемого прерывания эта команда никакого
влияния не оказывает.

Если вы используете запрет прерываний с
помощью команды CLI, следите за тем, чтобы
прерывания не отключались на длительный период
времени, так как это может привести к
нежелательным последствиям. Например, к
отставанию системных часов или неправильной
работе периферийных устройств компьютера.

Если вам надо запретить не все прерывания, а
только некоторые, например, от клавиатуры, то для
этого надо воспользоваться услугами контроллера
прерываний. Записывая в этот контроллер
определенную управляющую информацию, можно
замаскировать прерывания от отдельных
устройств.

Высокая загрузка процессора из-за вируса

Проверяем процессы в «Диспетчере задач»

Возможно, на вашем компьютере завелся вирус. Чтобы проверить это, вы можете сделать следующее:

  1. Откройте «Диспетчер задач». Для этого используйте сочетание нажатых клавиш ++, а затем выберите пункт «Открыть диспетчер задач».
  2. В появившемся окне выберите вкладку «Процессы» и отсортируйте список, кликнув на заголовок колонки «ЦП».
  3. Если в данный момент на вашем ПК не выполняется никаких работ, то ни один из процессов не будет иметь высокой нагрузки на Таким образом, попытайтесь найти процесс, нагружающий процессор. Если такового в списке не обнаружится, то скорее всего на вашем компьютере есть вирус, так как вредоносное ПО умеет прятаться от диспетчера задач.
  4. Запустите проверку с помощью антивирусного сканера, чтобы найти вирус.

Настройка Interrupt ReQuest

Надо сказать, что прерывания, закрепленные за некоторыми устройствами, не является фиксированными и их можно изменить программно. Например, IRQ стандартно использующееся последовательным портом Com 2, может использовать и устанавливаемый в слот расширения модем. В современных компьютерах и операционных системах, поддерживающих стандарт PnP и работающих под управлением ОС Windows, значения IRQ для устройств, подключаемых в слоты шины, подбираются автоматически.

Но не все было так просто в прежние времена, когда пользователь должен был вручную устанавливать значение IRQ во многих программах, работавших под операционной системой DOS. Например, при установке в систему звуковой карты, пользователю требовалось выбрать свободное прерывание из очень небольшого числа доступных (как правило, это было IRQ 5) и указать это значение  в запускаемой программе, например, в какой-нибудь игре.

Во многих BIOS имеется возможность поменять стандартные значения IRQ в программе Setup. Обычно эта опция располагается в разделах IRQ Resources или PCI/PNP Configuration.

Установка для устройства значения IRQ, равного значению IRQ, уже занятого каким-либо устройством в большинстве случаев приводит к неработоспособности одного из этих устройств или сразу обоих, а иногда чревато и зависанием компьютера.

В более современной шине PCI система управления прерываниями была кардинально изменена, а возможности управления прерываниями были расширены. Благодаря технологии IRQ Sharing, а также технологии ACPI стало возможным размещение нескольких устройств на одном канале прерывания, а у внешних устройств, подключаемых в слоты PCI, появилась возможность автоматического распределения ресурсов между собой.

Кроме того, в современных компьютерах обычно используется расширенный программируемый контроллер прерываний (APIC, Advanced Programmable Interrupt Controller), поддерживающий 24 канала Interrupt ReQuest. Расширенный контроллер прерываний выполнен в виде двух микросхем, одна из которых расположена в самом процессоре, а другая на материнской плате. Этот контроллер прерываний впервые появился в системах на основе процессоров Pentium. Однако при этом была оставлена поддержка старой системы прерываний в целях совместимости. Очередным шагом в развитии принципов обработки прерываний является технология Message Signaled Interrupts, поддержка которой появилась в линейке ОС Windows, начиная с Windows Vista.

Не следует путать аппаратные прерывания IRQ c программными прерываниями BIOS, о которых речь пойдет в отдельной статье. Программные прерывания BIOS, как правило, используются для организации работы программного обеспечения с устройствами ввода-вывода и обозначаются при помощи сокращения INT. Многие из них аналогичны по своим функциям аппаратным IRQ, но имеют при этом другие номера.

Список номеров Interrupt ReQuest в стандартной схеме для 16-битной шины ISA:

  1. Системный таймер
  2. Клавиатура
  3. Дополнительный контроллер прерываний (для совместимости с 8-битной шиной)
  4. Порты Com 1 и 3
  5. Порты Com 2 и 4
  6. Свободно (в 8-битной шине — контроллер жесткого диска)
  7. Контроллер гибких дисков (FDD)
  8. Параллельный порт LPT
  9. Часы реального времени CMOS
  10. Совмещено с IRQ 2
  11. Свободно
  12. Свободно
  13. Порт мыши PS/2
  14. Сопроцессор (в настоящее время практически не используется)
  15. Первый контроллер IDE
  16. Второй контроллер IDE

Список дополнительных номеров IRQ, которые использует расширенный контроллер прерываний APIC:

  1. Контроллер USB
  2. Интегрированная звуковая подсистема (AC’97 или HDA)
  3. Контроллер USB
  4. Контроллер USB
  5. Встроенная сетевая карта
  6. Свободно
  7. Свободно
  8. Контроллер USB 2.0

Соответствие номеров IRQ и прерываний BIOS:

Таблица соотношения аппаратных IRQ и программных INT BIOS

Что такое csrss exe в диспетчере задач

На программном уровне — это интерпретатор множества пользовательских команд. В актуальных версиях Windows, процесс csrss exe, например, отвечает за работу командной строки. То есть преобразовывает некоторые из команд в сигналы, с которыми работают системные библиотеки операционной системы.

Также процесс csrss. exe является критическим важным dll-процессом, а поэтому завершить csrss exe невозможно. Если попытаться это сделать, то диспетчер задач просто выдаст ошибку.

Также можно обнаружить, что процессов csrss exe может быть несколько. Это нормальное явление. Это означает, что в текущий момент запущено 2 копии интерпретатора. Например, один отвечает за работу командной строки, другой за обмен данными с COM-портом.

Виртуальные прерывания

Многие современные системы используют виртуальные машины, это означает, что операционная система — это не самое близкое и привилегированное программное обеспечение к процессору, а гипервизор, на котором он работает. Это вызывает конфликт при обработке прерываний на программном уровне. Решение? Дайте гипервизору более высокую иерархию и создайте дополнительные ФЛАГИ. Флаг разрешения прерывания активируется, когда операционная система выполняется без гипервизора и, следовательно, одна. В случае наличия гипервизора приоритет над флагом разрешения прерывания имеет сам гипервизор.

Если операционная система виртуализирована, то будет установлен бит Virtual Enable Flag. Причина такого разделения заключается в том, что разные работающие операционные системы всегда по-разному видят периферийные устройства и, следовательно, необходимость отдельного управления прерываниями. Обычно при активации флага виртуального включения он напоминает процессору, что для обработки прерывания необходимо останавливать потоки выполнения, связанные с виртуальной машиной, а не другие.

Установка драйверов на материнку в ручную

Если автоустановка драйверов на материнку не помогла, то попробуйте данный метод. Вы можете скачать драйверы чипсета с оф.сайта и установить их на свой компьютер вручную, для исключения ошибки usb device descriptor failure.

Но для этого вам необходимо сначала проверить системную информацию компьютера

Важно загрузить правильный драйвер, который подходит конкретно для вашей системы Windows — будь то Windows 10, 32-разрядная или 64-разрядная версия и т.п. Для этого:

После загрузки драйверов чипсета откройте загруженные файлы и следуйте инструкциям на экране, чтобы установить их на свой компьютер.

Что такое системные прерывания и как они себя проявляют

Системные прерывания — это не программный процесс в прямом понимании. Его значение в диспетчере задач указывает на то, какой процент производительности процессора отдаётся на сторонние нужды, а не пользовательские задачи. И в 99% случаев — это обработка сигналов от внешних подключённых устройств. И именно поэтому у исправного компьютера «Системные прерывания» практически всегда загружают процессор на 0 – 1%.
Если же системные прерывания грузят процессор Windows 10, то в большинстве случаев это указывает на сбой в работе любого внешнего оборудования. Это может быть как аппаратная поломка, так и неправильно работающий, отсутствующий драйвер.

Способы срабатывания

Каждый вход сигнала прерывания предназначен для запуска либо по уровню логического сигнала, либо по определенному фронту сигнала (переход уровня). Входы, чувствительные к уровню, постоянно запрашивают обслуживание процессора, пока к входу применяется определенный (высокий или низкий) логический уровень. Входы, чувствительные к фронту, реагируют на фронты сигнала: определенный (нарастающий или спадающий) фронт вызовет фиксацию запроса на обслуживание; процессор сбрасывает защелку при выполнении обработчика прерывания.

Срабатывает по уровню

Прерывание уровня срабатывает запрашивается путем проведения сигнала прерывания на своем конкретном (высокий или низкий) активного логического уровня . Устройство вызывает прерывание, инициируемое уровнем, направляя сигнал и удерживая его на активном уровне. Он отменяет сигнал, когда процессор дает ему команду сделать это, обычно после того, как устройство было обслужено.

Процессор производит выборку входного сигнала прерывания во время каждого командного цикла. Процессор распознает запрос прерывания, если сигнал поступает во время выборки.

Входы с синхронизацией по уровню позволяют нескольким устройствам использовать общий сигнал прерывания через проводное ИЛИ. Процессор опрашивает, чтобы определить, какие устройства запрашивают обслуживание. После обслуживания устройства процессор может снова опрашивать и, при необходимости, обслуживать другие устройства перед выходом из ISR.

Срабатывает по фронту

Прерывание фронтом сигнала является прерывание сигнализируется перехода уровня на прерывание линии, либо по заднему фронту ( от высокого до низкого уровня ) или нарастающий фронт ( от низкого до высокого). Устройство, желающее сигнализировать о прерывании, посылает импульс на линию, а затем переводит линию в неактивное состояние. Если импульс слишком короткий, чтобы его можно было обнаружить с помощью ввода / вывода по запросу, для его обнаружения может потребоваться специальное оборудование.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: