Индустрия программирования


Множественные прикладные среды Windows NT - часть 2


/p>



Обращение к системным сервисам в традиционных ОС

  • аппаратное прерывание
  • процессор переходит в режим ядра
  • выполняется требуемая системная функция
  • возврат процессора в пользовательский режим
  • выполнение нити с прерванного места


Вызов системной функции (API Win32) в Windows NT

  • Динамическая библиотека DLL Win32 обращается
    к системному сервису NT с просьбой послать сообщение серверу,
    выполняющему требуемую функцию
  • Сервис посылает сообщение и ждет ответ
  • Сервер получает сообщение, выполняет функцию
    и отсылает ответ
  • NT-executive выполняет следующую последовательность
    действий:

    • сохраняет контекст клиентской нити
    • выбирает серверную нить для выполнения и загружает
      ее контекст
    • выполняет функцию API Win32, используя серверную
      нить
    • сохраняет контекст серверной нити
    • загружает контекст клиентской нити и обрабатывает
      результаты выполнения функции API



Оптимизация

  • некоторые функции API реализованы внутри библиотеки
    заглушек
  • некоторые данные Win32 хранятся в адресном пространстве
    NT-executive
  • запросы приложений на выполнение функций API
    объединяются в пакеты





Начало  Назад  Вперед



Книжный магазин