Память ошибок страниц windows 7. Коды ошибок диспетчера устройств

Память ошибок страниц windows 7. Коды ошибок диспетчера устройств
Память ошибок страниц windows 7. Коды ошибок диспетчера устройств

Вытесняющие/невытесняющие алгоритмы.

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

Алгоритмы с квантованием.

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

Алгоритмы с приоритетами.

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

В Windows реализован смешанный алгоритм планирования – вытесняющий, на основе квантования и приоритетов.

  1. Тип многозадачности для приложения DOS
  2. Гарантии обслуживания
  3. Планирование процессов переднего плана
  4. Назначение файла подкачки
  5. Процессы Р1, Р2, Р3 выделяют 100, 20, 80 Мб памяти. В системе 128Мб ОП. Каков размер занятой памяти в файле подкачки. Какой размер файла подкачки.
  1. Что такое «страничная ошибка»?

Прерывание 14 - Страничная ошибка (#PF): Intel386 …

Генерируется, если страничный механизм активизирован (CR0.PG = 1) и при трансляции линейного адреса в физический возникает одна из следующих ситуаций:

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

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

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

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

  1. Высокая интенсивность ошибок страниц говорит о:

Ненадежности программы

Ненадежности оперативной памяти

Иное: пояснить

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск - в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

  1. Как формируется приоритет потока в Windows

Приоритеты

В ОС Windows реализовано вытесняющее приоритетное планирование, когда каждому потоку присваивается определенное числовое значение - приоритет, в соответствии с которым ему выделяется процессор. Потоки с одинаковыми приоритетами планируются согласно алгоритму Round Robin (карусель). Важным достоинством системы является возможность вытеснения потоков, работающих в режиме ядра - код исполнительной системы полностью реентерабелен. Не вытесняются лишь потоки, удерживающие спин-блокировку (см. "Синхронизация потоков"). Поэтому спин-блокировки используются с большой осторожностью и устанавливаются на минимальное время.

В системе предусмотрено 32 уровня приоритетов. Шестнадцать значений приоритетов (16-31) соответствуют группе приоритетов реального времени, пятнадцать значений (1-15) предназначены для обычных потоков, и значение 0 зарезервировано для системного потока обнуления страниц (см. рис. 6.2).

Рис. 6.2. Приоритеты потоков

Чтобы избавить пользователя от необходимости запоминать числовые значения приоритетов и иметь возможность модифицировать планировщик, разработчики ввели в систему слой абстрагирования приоритетов . Например, класс приоритета для всех потоков конкретного процесса можно задать с помощью набора констант-параметров функции SetPriorityClass, которые могут иметь следующие значения:

  • реального времени (REALTIME_PRIORITY_CLASS) - 24
  • высокий (HIGH_PRIORITY_CLASS) - 13
  • выше нормы (ABOVE_NORMAL_PRIORITY_CLASS) 10
  • нормальный (NORMAL_PRIORITY_CLASS) - 8
  • ниже нормы (BELOW_NORMAL_PRIORITY_CLASS) - 6
  • и неработающий (IDLE_PRIORITY_CLASS) 4

Относительный приоритет потока устанавливается аналогичными параметрами функции SetThreadPriority:

Совокупность из шести классов приоритетов процессов и семи классов приоритетов потоков образует 42 возможные комбинации и позволяет сформировать так называемый базовый приоритет потока

Базовый приоритет процесса и первичного потока по умолчанию равен значению из середины диапазонов приоритетов процессов (24, 13, 10, 8, 6 или 4 ). Смена приоритета процесса влечет за собой смену приоритетов всех его потоков, при этом их относительные приоритеты остаются без изменений.

Приоритеты с 16 по 31 в действительности приоритетами реального времени не являются, поскольку в рамках поддержки мягкого реального времени, которая реализована в ОС Windows, никаких гарантий относительно сроков выполнения потоков не дается. Это просто более высокие приоритеты, которые зарезервированы для системных потоков и тех потоков, которым такой приоритет дает пользователь с административными правами. Тем не менее, наличие приоритетов реального времени, а также вытесняемость кода ядра, локализация страниц памяти (см. "Функционирование менеджера памяти") и ряд дополнительных возможностей - все это позволяет выполнять в среде ОС Windows приложения мягкого реального времени, например, мультимедийные. Системный поток с нулевым приоритетом занимается обнулением страниц памяти. Обычные пользовательские потоки могут иметь приоритеты от 1 до 15.


Похожая информация.


В своей прошлой статье « » я рассказал о возможностях Монитора ресурсов Windows 7 (Resource Monitor), объяснил, как с его помощью наблюдать за распределением системных ресурсов между процессами и службами, а также упомянул, что его можно использовать для решения конкретных задач - например, для анализа расходования памяти. Именно об этом и пойдет речь в данной статье.

Немного о памяти

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

Диспетчер памяти Windows 7 создает виртуальную систему памяти, которая состоит из доступной физической RAM и файла подкачки на жестком диске. Это позволяет операционной системе выделять блоки памяти фиксированной длины (страницы) с последовательными адресами в физической и виртуальной памяти.

Запуск Монитора ресурсов Windows 7

Чтобы запустить Монитор ресурсов Windows 7, откройте меню «Пуск» (Start), введите в строке поиска «Resmon.exe» и нажмите . В открывшемся окне выберите вкладку «Память» (Memory, рис. A).

Рисунок A. На вкладке «Память» в Мониторе ресурсов Windows 7 приводятся подробные сведения о распределении памяти.

Таблица «Процессы»

На вкладке «Память» есть таблица «Процессы» (Processes, рис. B), в которой перечислены все запущенные процессы, а сведения об используемой памяти разбиты на несколько категорий.


Рисунок B. Сведения об используемой памяти для каждого процесса разбиты на несколько категорий.

Графа «Образ»

В колонке «Образ» (Image) указывается имя исполняемого файла процесса. Процессы, запущенные приложениями, узнать очень легко - например, процесс «notepad.exe» со всей очевидностью принадлежит Блокноту (Notepad). Процессы с именем «svchost.exe» представляют различные службы операционной системы. Название службы указывается в скобках рядом с именем процесса.

Графа «ИД процесса»

В колонке «ИД процесса» (PID) указывается номер процесса - уникальное сочетание цифр, позволяющее идентифицировать запущенный процесс.

Графа «Завершено»

В столбце «Завершено» (Commit) указывается объем виртуальной памяти в килобайтах, зарезервированный системой для данного процесса. Сюда входит и используемая физическая память, и сохраненные в файле подкачки страницы.

Графа «Рабочий набор»

В графе «Рабочий набор» (Working Set) указывается объем физической памяти в килобайтах, используемой процессом в данный момент времени. Рабочий набор складывается из общей и частной памяти.

Графа «Общий»

В колонке «Общий» (Shareable) указан объем физической памяти в килобайтах, которую данный процесс использует совместно с другими. Использование одного сегмента памяти или страницы подкачки для родственных процессов позволяет сэкономить место в памяти. При этом физически сохраняется только одна копия страницы, которая затем сопоставляется с виртуальным адресным пространством других процессов, которые к ней обращаются. Например, все процессы, инициированные системными библиотеками DLL - Ntdll, Kernel32, Gdi32 и User32 - используют общую память.

Графа «Частный»

В столбце «Частный» (Private) указывается объем физической памяти в килобайтах, используемой исключительно данным процессом. Именно это значение позволяет определить, сколько памяти нужно тому или иному приложению для работы.

Графа «Ошибок отсутствия страницы в памяти/сек.»

В графе «Ошибок отсутствия страницы в памяти/сек.» (Hard Faults/sec) указано среднее за последнюю минуту количество ошибок отсутствия страницы в памяти в секунду. Если процесс пытается использовать больше физической памяти, чем доступно в данный момент времени, система записывает часть данных из памяти на диск - в файл подкачки. Последующее обращение к данным, сохраненным на диск, и называется ошибкой отсутствия страницы в памяти.

О чем говорят ошибки отсутствия страницы в памяти

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

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

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

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

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

Таблица «Физическая память»

В таблице «Процессы» приводятся детальные сведения о распределении памяти между отдельными процессами, а таблица «Физическая память» (Physical Memory) дает общую картину использования RAM. Ее ключевой компонент - уникальная гистограмма, показанная на рис. C.


Рисунок C. Гистограмма в таблице «Физическая память» позволяет составить общее представление о распределении памяти в Windows 7.

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

Секция «Зарезервированное оборудование»

Слева расположена секция «Зарезервированное оборудование» (Hardware Reserved), обозначенная серым цветом: это память, выделенная на нужды подключенного оборудования, которую оно использует для взаимодействия с операционной системой. Зарезервированная для оборудования память заблокирована и недоступна диспетчеру памяти.

Обычно объем памяти, выделенной оборудованию, составляет от 10 до 70 Мбайт, однако этот показатель зависит от конкретной конфигурации системы и в некоторых случаях может достигать нескольких сотен мегабайт. К компонентам, влияющим на объем зарезервированной памяти, относятся:

;
компоненты материнской платы - например, усовершенствованный программируемый контроллер прерываний ввода/вывода (APIC);
звуковые карты и другие устройства, осуществляющие ввод/вывод с отображением на память;
шина PCI Express (PCIe);
видеокарты;
различные наборы микросхем;
флеш-накопители.

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

Секция «Используется»

Секция «Используется» (In Use, рис C), обозначенная зеленым цветом, представляет количество памяти, используемой системой, драйверами и запущенными процессами. Количество используемой памяти рассчитывается, как значение «Всего» (Total) за вычетом суммы показателей «Изменено» (Modified), «Ожидание» (Standby) и «Свободно» (Free). В свою очередь, значение «Всего» - это показатель «Установлено» (Installed RAM) за вычетом показателя «Зарезервированное оборудование».

Секция «Изменено»

Оранжевым цветом выделена секция «Изменено» (Modified), в которой представлена измененная, но не задействованная память. Фактически она не используется, но может быть в любой момент задействована, если снова понадобится. Если память не используется достаточно давно, данные переносятся в файл подкачки, а память переходит в категорию «Ожидание».

Секция «Ожидание»

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

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

Секция «Свободно»

В категории «Свободно», обозначенной голубым цветом, представлены страницы памяти, еще не выделенные ни одному процессу или освободившиеся после завершения процесса. В этой секции отображается как еще не задействованная, так и уже освобожденная память, но на самом деле, еще не задействованная память относится к другой категории - «Нулевые страницы» (Zero Page), которая так называется, потому что эти страницы инициализированы нулевым значением и готовы для использования.

О проблеме свободной памяти

Теперь, когда вы в общих чертах представляете, как работает диспетчер памяти, ненадолго остановимся на распространенном заблуждении, связанном с системой управления памятью в Windows 7. Как видно из рис. C, секция свободной памяти - одна из самых маленьких в гистограмме. Тем не менее, ошибочно на этом основании полагать, будто Windows 7 потребляет чересчур много памяти и что система не может нормально работать, если свободной памяти так мало.

На самом деле, все совсем наоборот. В контексте принятого в Windows 7 подхода к управлению памятью, свободная память бесполезна. Чем больше памяти задействовано, тем лучше. Заполняя память до максимума и постоянно перемещая страницы из одной категории в другую с использованием системы приоритетов, Windows 7 повышает эффективность работы и предотвращает попадание данных в файл подкачки, не давая ошибкам отсутствия страницы в памяти замедлить быстродействие.

Мониторинг памяти

Хотите понаблюдать систему управления памятью Windows 7 в действии? Перезагрузите компьютер и сразу же после запуска откройте Монитор ресурсов Windows 7. Перейдите на вкладку «Память» и обратите внимание на соотношение секций в гистограмме физической памяти.

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

Проделав этот экстремальный эксперимент, вы поймете, как Windows 7 управляет памятью на вашем конкретном компьютере, и сможете использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти в нормальных условиях повседневной работы.

А что думаете вы?

Нравится ли вам идея использовать Монитор ресурсов Windows 7 для наблюдения за распределением памяти? Поделитесь своим мнением в комментариях!

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

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

Информация обычно передается порциями, состоящими из фиксированного числа битов; МП 80386 использует порции размером 32 бит, если только он не получил указаний об уменьшении размеров порции до 16 бит. Эти порции носят названия слов. Процесс записи слова в запоминающую систему называется записью в память, процесс получения слова из памяти -чтением из памяти.

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

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

Прямой доступ к памяти (ПДП)

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

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

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

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

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

Компоненты ПДП . Основными компонентами ПДП являются триггер запроса, регистр адреса, счетчик и регистр данных, который используется периферийным устройством. Пересылка данных по каналу ПДП включает несколько этапов: 1) инициализация логики ПДП для выполнения ПДП в течение повторяющихся циклов занятия магистрали; 2) асинхронная по отношению к операциям программы активизация ПДП; 3) оповещение об окончании пересылок (по сигналу от счетчика или в результате изменении состояния устройства); 4) вызов программы «очистки» при окончании пересылок; 5) завершение ПДП с помощью программы обработки прерываний, которая возвращает управление в основную программу.

Блочная пересылка данных . Процедура ПДП для высокоскоростных устройств использует пересылку данных блоками. Выполняя текущую программу, процессор инициирует пересылку блока данных и определяет число слов, составляющих блок. Однако фактическая передача слов выполняется под управлением отдельного устройства - контроллера ПДП. Максимальная скорость блочной передачи по каналу ПДП ограничивается только длительностью цикла памяти (чтения или записи) и скоростью работы контроллера ПДП.

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

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

ы подключили новое устройство, а оно не спешит работать, или старое устройство перестало функционировать, или делает свою работу некорректно. Что же делать в этих случаях? Переустанавливать всё? Хлопотно, да и не всегда в этом есть необходимость. Как же узнать в чём причина и как её устранить? Очень просто. Дело в том, что в ОС семейства Windows, и не только, имеется, некий Диспетчер устройств, на самом деле очень нужный и полезный менеджер, если его можно так назвать. Вот он то, нам и поможет выяснить в чём причина неполадки, а моя шпаргалка — устранить проблему. Итак, в выше упомянутом Диспетчере устройств остаються следы ошибок в работе устройств в виде кодов. Зная код ошибки, нетрудно установить причину неполадки. Для непосвящённых, коды — это всего лишь непонятные и ничего не говорящие цифры. Но знающему пользователю, они могут сказать о многом. Постараюсь, насколько мне это удасться, пролить свет на эту тему.


Для просмотра ошибок устройств, нам прежде всего необходимо войти в сам Диспетчер устройств. Делается это так. Войдите в Панель управления из меню Пуск ( можно, Мой компьютер , правой клавишей — Свойства Диспетчер устройств, а можно и через задание команды в выполнить , но зачем всё усложнять). Если мы входим через Панель управления , то путь таков: Система — Оборудование — Диспетчерн устройств . Выберем, войдя в меню Диспетчер устройств , тип интересующего нас устройства (клавиатура, принтер, модем и т.д.), щёлкнем на нём дважды, в результате увидим входящие в этот тип устройства. Выбирем нужное нам устройство и дважды щёлкнем на нём. Смотрим графу на вкладке О бщие, Состояние устройства. Если имеется проблема с работой устройства, то она будет отображена здесь в виде кода ошибки. Итак мы видим цифры и числа. Что же они обозначают. Ниже я привожу полный список ошибок, с кратким описанием ошибки и возможных способах устранения. Красным цветом выделен код ошибки, синим её описание и чёрным устранение.

Код 1 Проблема с настройкой устройства, не правильные настройки или отсутствует драйвер. Нажмите кнопку Обновить драйвер , для запуска мастера Обновление оборудования . Если вообще нет драйвера — установите его.

Код 3 Повреждён драйвер устройства, как вариант не хватает оперативной памяти для корректной работы устройства. 1. Удалим повреждённый драйвер и установим новый. Для этого: Свойства — Драйвер — Удалить, далее следуем указаниям мастера. Перезагрузка. Открываем опять Диспетчер устройств Действие Обновить конфигурацию оборудования и следуем указаниям мастера. 2. Если проблема в нехватке виртуальной памяти, закроем работающие приложения, что бы разгрузить память. Что бы проверить состояние памяти нам нужно попасть в Диспетчер задач , для этого жмём сочетание клавиш Ctrl+Shift+Esc. Настройки виртуальной памяти мы можем посмотреть ещё щёлкнув правой клавишей Мой компьютер Свойства — Дополнительно - Быстродействие — Настройки (Параметры) . Вы можете попробовать увеличить файл подкачки (как это делается, я описывал в одной из предыдущих статей моего блога ), но это далеко не радикальная мера. Придётся вам увеличивать оперативную память. Как это делается — отдельная тема, выходящая за рамки этого поста.

Код 10 В разделе реестра имеется соответствующий устройству параметр FailReasonString, значение этого параметра и отображается в данных ошибки, то есть, если параметра, как такового нет, то появляется код ошибки, проще говоря — запуск устройства не возможен. Обновите драйвер, как указано выше. Или установите более новый.

Код 12 Нет запаса ресурсов, необходимых для этого устройства. Отключите другие работающие устройства, хотя бы одно, для этого воспользуйтесь мастером устранения неполадок, который, если вы будете следовать его указаниям, отключит конфликтное устройство. (В кратце напомню: Свойства — Общие — Устранение неполадок.)

Код 14 Требует перезагрузки ПК для работы этого устройства.

Код 16 Невозможно выявить ресурсы, которые необходимы для работы устройства, устройство настроено не полностью. Нужно назначить устройству дополнительные ресурсы. Но это можно сделать без проблем если устройство относится к Plug and Play.

Свойства — Ресурсы. Если в списке ресурсов есть ресурс с знаком?, выбираем его, чтобы назначить выбранному устройству. Если ресурс не возможно изменить, жмём Изменить параметры , если эта функция недоступна, снимаем галочку с Автоматическая настройка

Код 18 Переустановите драйвер для устройства. Пробуем обновить драйвер или удалить и сделать, как в примере с кодом 3.

Код 19 Недостаточные сведения в реестре о настройках устройства, либо настройки повреждены. Запустите Мастер устранения неполадок и следуйте его указаниям, не поможет — переустановите устройство, как было сказано выше. (код 3). Либо, если не поможет, загрузите Последнюю удачную конфигурацию. Если и это не поможет — вам нужна помощь специалиста, так, как необходимо редактировать системный реестр. Неимея знаний и опыта, самостоятельно, там вам делать нечего, любой сисадмин вам это подтвердит. Знающий и умеющий, сам знает, как это сделать, без меня. А неопытному, лучше и не пробовать. Реестр — сердце операционной системы и проводить операции на нём должен только опытный специалист, или под его руководством. Ни в коей мере не хочу ни кого обидеть, но если вы не работали с системным реестром и если вам дорог ваш компьютер, мой совет — забудьте туда дорогу. Я пишу не для профессионалов, им это не нужно, а для среднего пользователя. Конечно, я могу написать, как и что там делать, но это будет объяснение на пальцах и если вы, в результате малейшей ошибки, повредите свой компьютер, буду виноват я. Мне это совсем не нужно, да и вам то же.

Код 21 Устройство удаляется из системы, то есть операционная система пытается удалить устройство, но процесс ещё не завершён.


Выдержите паузу в несколько секунд и нажмите клавишу


Код 22 Устройство отключено. Необходимо включить устройство. Действие — Включить и следуем дальнейшим инструкциям.


Код 24 Устройства нет или неправильно установлено, сбой в работе драйвера, может быть устройство было подготовлено к удалению. Удалите устройство и установите заново.


Код 28 Нет драйвера. Установите драйвер. Для этого нужно Обновить драйвер, действия, как в инструкции к Коду 1.


Код 29 Отключено устройство . Необходимо разрешить работу устройства в настройках BIOS, изучите инструкции к использованию устройства.


Код 31 Системе не удалось загрузить драйверы к этому устройству . Обновите драйверы, как описывалось выше.


Код 32 Драйвер к этому устройству отключен в системном реестре . Удалите и по-новой установите драйвер (описывалось выше)


Код 33 Операционная система не может определить ресурсы для данного устройства . Настройте устройство или замените его.


Код 34 Операционная система не может определить настройки устройства . Изучите прилагаемую документацию к оборудованию и настройте конфигурацию вручную на вкладке Ресурсы.


Код 35 Микропрограмма ПК неимеет нужных сведений для правильной работы устройства . Необходимо обновить BIOS. За инструкциями, как это сделать обратитесь к поставщику, а лучше воспользоваться услугами опытного мастера.


Код 36 Для работы устройства требуется прерывание PCI, а устройство настроено на прерывание ISA, или наоборот . Необходимо изменить настройки BIOS, обратитесь к опытному мастеру.


Код 37 Операционная система неопознаёт драйвер к этому устройству . Переустановите драйвер (описывалось выше).


Код 38 ОС не может загрузить драйвер для устройства, так как, предыдущая версия драйвера осталась в памяти . Необходимо перезагрузить ПК. Запустите мастер Устранения неполадок, если он не запустился (Свойства — Общие — Устранение неполадок) и следуйте указаниям мастера. После обязательная перезагрузка.


Код 39 ОС не может загрузить драйвер устройства. Драйвер повреждён или его нет вовсе . Переустановите драйвер, как было описано выше.


Код 40 Нет доступа к оборудованию, так, как нет информации в системном реестре или информация содержит ошибку . Переустановите драйвер.


Код 41 Необнаружено устройство . Запустите мастер Устранения неполадок (описано выше), если не помогло обновите конфигурацию оборудования (см. выше) или обновите драйвер. Если нет, установите более новую версию драйвера.


Код 42 В системе уже имеется такой драйвер. То есть имеются два разных устройства с одинаковым именем, возможно из-за ошибки . Перезагрузите ПК.


Код 43 Остановка работы устройства из-за возникших проблем в его работе . Запустите мастер Устранения неполадок и следуйте его указаниям.


Код 44 Приложение или служба остановили работу устройства . Перезагрузите ПК.


Код 45 Устройство не подключено . Подключите устройство.


Код 46 Такая ошибка появляется, если операционная система завершает свою работу. Ни чего не нужно делать, при следующем запуске ОС всё будет работать.


Код 47 Устройство было подготовлено для безопасного удаления, но ещё не удалено (например флеш) . Извлеките устройство, затем подключите снова, перезагрузите ПК.


Код 48 Устройство, вернее его програмное обеспечение, заблокировано . Обновите драйвер, или установите новый.


Код 49 Устройство не может быть запущено, так, как имеет большой объём системного куста реестра, который превышает допустимые параметры реестра . Удалите из реестра устройства которые не используются. Можно сделать так: Диспетчер устройств — Вид — Показать скрытые устройства. Здесь вы увидите скрытые устройства, которые не подключены к вашему ПК. Выберите те устройства которые хотите удалить, кликнете Свойства для устройства — Драйвер — Удалить, далее следуйте указаниям мастера и в завершении перезагрузка ПК.


Пособие по удалению любых вирусов с ПК собственноручно. Все способы удаления вирусов реально работающие и проверенные на практике, пошаговая инструкция с илюстрациями — просто и доступно даже для школьника + видеоуроки + программа ultraiso для создания загрузчиков+ полезные ссылки на инструменты в борьбе с вирусами. Скачать архив