При обсуждении архитектуры ОС Windows NT постоянно
используются понятия «режим пользователя» и «режим ядра», поэтому стоит
определить, что это значит. Начнем с обсуждения разницы между пользовательским
режимом и режимом ядра (user mode/kernel mode).
Пользовательский режим - наименее привилегированный режим, поддерживаемый NT; он
не имеет прямого доступа к оборудованию и у него ограниченный доступ к памяти.
Режим ядра - привилегированный режим. Те части NT, которые
исполняются в режиме ядра, такие как драйверы устройств и подсистемы типа
Диспетчера Виртуальной Памяти, имеют прямой доступ ко всей аппаратуре и памяти.
Различия в работе программ пользовательского режима и режима ядра поддерживаются
аппаратными средствами компьютера (а именно - процессором).
Большинство архитектур процессоров обеспечивают, по крайней
мере, два аппаратных уровня привилегий. Аппаратный уровень привилегий процессора
определяет возможное множество инструкций, которые может вызывать исполняемый в
данный момент процессором код. Хотя понятия «режим пользователя» и «режим ядра»
часто используются для описания кода, на самом деле это уровни привилегий,
ассоциированные с процессором. Уровень привилегий накладывает три типа
ограничений: 1) возможность выполнения привилегированных команд, 2) запрет
обращения к данным с более высоким уровнем привилегий, 3) запрет передачи
управления коду с уровнем привилегий, не равным уровню привилегий вызывающего
кода.
Тестирование параллельного программного обеспечения представляет собой более
сложную задачу по сравнению с тестированием последовательной программы. Программист
должен знать о подводных камнях при тестировании параллельного кода, имеющихся
методологиях и инструментарии.
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее
реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности,
достоинства и недостатки.