Pages Menu
Categories Menu

Опубликовано | Нет комментариев

Исполняющая система

Исполняющая система Windows находится на верхнем уровне файла Ntoskrnl.exe. (Ядро составляет его нижний уровень.) Она включает функции следующих типов:

  • Функции, экспортируемые и вызываемые из пользовательского режима. Эти функции называются системными службами и экспортируются посредством Ntdll. Большинство служб доступно через Windows API или через API-интерфейсы других подсистем среды окружения. Но часть служб не доступна ни через какие документированные функции подсистем. (В качестве примера можно привести ALPC и различные функции запросов, например, NtQueryInformationProcess, специализированные функции, такие как NtCreatePagingFile и т. д.).
  • Функции драйверов устройств, вызываемые с помощью функции DeviceIoControl, которая предоставляет общий интерфейс из пользовательского режима к режиму ядра для вызова тех функций в драйверах устройств, которые не связаны с чтением или записью.
  • Функции, которые могут быть вызваны только из режима ядра, экспортируемые из WDK и документированные в этом инструментальном наборе.
  • Функции, экспортируемые и вызываемые из режима ядра, но недокументированные в WDK (например, функции, вызываемые загрузочным видеодрайвером, чьи имена начинаются с префикса Inbv).
  • Функции, определенные в качестве глобальных символов, но при этом не подлежащие экспорту. К их числу относятся внутренние вспомогательные функции, вызываемые внутри Ntoskrnl, например, такие функции, чьи имена начинаются с префикса Iop (внутренние функции поддержки диспетчера ввода-вывода) или с префикса Mi (внутренние функции поддержки диспетчера памяти).
  • Функции, являющиеся внутренними по отношению к модулю, но не определенные в качестве глобальных символов.

Исполняющая система содержит следующие основные компоненты:

  • Диспетчер конфигурации, который отвечает за реализацию и управление системным реестром.
  • Диспетчер процессов создает процессы и потоки и завершает их работу. Исходная поддержка процессов и потоков реализована в ядре Windows; исполняющая система добавляет к этим низкоуровневым объектам дополнительную семантику и функции.
  • Монитор безопасности (securityreferencemonitor, SRM) обеспечивает соблюдение политики безопасности на локальном компьютере.

Он охраняет ресурсы операционной системы, выполняя защиту и проверку объектов времени выполнения.

  • Диспетчер ввода-вывода реализует аппаратно-независимый ввод-вывод и отвечает за направление на соответствующие драйверы устройств для дальнейшей обработки.
  • Диспетчер устройств plug and play (PnP) определяет, какие драйверы требуются для поддержки конкретного устройства, и загружает эти драйверы. В процессе переписи устройств для каждого из них извлекаются требования к аппаратным ресурсам. На основе требований к ресурсам каждого устройства диспетчер PnP назначает соответствующие аппаратные ресурсы, такие как порты ввода-вывода, линии запроса на прерывание (IRQ), DMA-каналы и адреса памяти. Он также отвечает за отправку соответствующих уведомлений о событиях при изменениях в устройствах (добавлении или удалении устройства) в системе.
  • Диспетчер электропитания согласовывает события электропитания и генерирует уведомления ввода-вывода, касающиеся управления электропитания, посылаемые драйверам устройств. При простое системы диспетчер электропитания может быть настроен на снижение расхода электроэнергии путем перевода центрального процессора в спящий режим.

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

  • Подпрограммы инструментария управления Windows для модели драйверов — Windows Driver Model Windows Management Instrumentation routines позволяют драйверам устройств публиковать информацию о производительности и конфигурации, а также получать команды от WMI-службы пользовательского режима. Потребители WMI-информации могут быть на локальной машине или на удаленной, имеющей сетевой доступ
  • Диспетчер кэша повышает производительность файлового ввода-вывода, размещая данные, полученные с диска, к которым недавно было обращение, в основной памяти для ускорения доступа к этим данным (и задерживая записи на диск путем кратковременного хранения обновлений в памяти перед их отправкой на диск). Вы увидите, что это делается путем поддержки диспетчером памяти отображаемых файлов.
  • Диспетчер памяти реализует виртуальную память, схему управления памятью, предоставляющую каждому процессу большое, закрытое адресное пространство, которое может превышать по объему доступную физическую память. Диспетчер памяти также предоставляет исходную поддержку диспетчеру кэша.
  • Логическая предвыборка и Superfetch ускоряют работу системы и запуск процесса путем оптимизации загрузки данных, на которые есть ссылка во время запуска системы или процесса.

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

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

  • Диспетчер объектов, который работает с исполняющими объектами Windows и абстрактными типами данных, используемыми для представления таких ресурсов операционной системы, как процессы, потоки и различные объекты синхронизации, создает эти объекты, управляет ими и удаляет их.
  • Усовершенствованная система вызова локальных процедур (ALPC) передает сообщения между клиентским и серверным процессами на одном и том же компьютере. Кроме всего прочего, ALPC используется в качестве локального средства сообщения для вызова удаленных процедур (remote procedure call, RPC), стандартного средства связи для клиентских и серверных процессов по сети.
  • Широкий набор библиотечных функций времени выполнения общего назначения, среди которых функции обработки строк, арифметических операций, преобразований типов данных и работы со структурой безопасности.
  • Вспомогательные подпрограммы исполняющей системы, к которым относятся подпрограммы распределения системной памяти (выгружаемого и невыгружаемого пула), доступа к памяти с взаимной блокировкой, а также три специальных типа объектов синхронизации: ресурсы (resources), быстрые мьютексы (fastmutexes) и пуш-блокировки (pushlocks).

Исполняющая система также содержит различные инфраструктурные подпрограммы:

  • Библиотеку отладчика ядра, позволяющую вести отладку ядра из поддерживающего отладку KD, переносимого протокола, поддерживаемого через различные средства транспортировки данных (такие как USB и IEEE 1394) и реализованного в утилитах WinDbg и Kd.exe.
  • Среду отладки в режиме пользователя, которая отвечает за отправку событий API-интерфейсу отладки в режиме пользователя и позволяющую расставлять контрольные точки и проводить пошаговое выполнение кода для его отработки, а также для изменения контекста запущенных потоков.
  • Диспетчер транзакций ядра, предоставляющий диспетчерам ресурсов простой, двухфазный механизм выделения ресурсов, такой как транзакционный реестр —(TxR) и транзакционная NTFS (TxF).
  • Библиотеку гипервизора, часть стека Hyper-V в Windows Server 2008, предоставляющая на уровне ядра поддержку среды виртуальных машин и оптимизирующая определенные части кода, когда системе известно, что она работает в клиентском разделе (виртуальной среде).
  • Диспетчер исправлений, предоставляющий пути обхода для нестандартных или несовместимых аппаратных устройств.
  • Средство проверки драйверов — Driver Verifier, реализующее дополнительные проверки целостности кода и драйверов режима ядра.
  • Средство трассировки событий — Event Tracing for Windows, предоставляющее вспомогательные подпрограммы для трассировки общесистемных событий для компонентов режима ядра и пользовательского режима.
  • Инфраструктуру диагностики Windows, допускающую интеллектуальное отслеживание деятельности системы на основе сценариев диагностики.
  • Подпрограммы поддержки архитектуры аппаратных ошибок Windows, предоставляющие общую среду для отчетов об ошибках оборудования.
  • Библиотеку времени выполнения файловой системы, предоставляющую подпрограммы общей поддержки для драйверов файловой системы.

Оставить комментарий

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

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

↓