Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Подсистема окружения Windows

Читайте также:
  1. Windows MetaFile.
  2. Windows Server 2003
  3. Глобальные флаги Windows
  4. Двойное кольцо окружения… Вязьма и Брянск
  5. Драйверы устройств в ОС Windows
  6. Инструментарий ОС (на основе Windows)
  7. Исполнительная система Windows

Состоит из следующих основных элементов:

1) процесс подсистемы окружения csrss.exe, который предоставляет следующие возможности: поддержка окон (консольных и др.), поддержка создания и удаления процессов и потоков; участвует в поддержке организации и эксплуатации 16-разрядной DOS виртуальной машины; поддержка специфических функций. связанных с созданием и удалением файлов, поддержки языков и др.

2) драйвер режима ядра Win32K.sys, включающий:

а) диспетчер окон (управляет выводом окон на экран, обрабатывает ввод с клавиатуры и мыши и др.)

б) GDI (Graphic device interface) – библиотека функций для устройств графического вывода

3) DLL модули подсистем: kernel32.dll, advapi32.dll, user32.dll транслируют вызовы документированных функций API в вызовы соответсвующих сервисов ядра. Из NTOSkernel и win32K.

4) драйверы графических устройств – для применения в конкретном оборудовании. Пример: для формирования элементов пользовательского интерфейса на экране (окон и кнопок) стандартные приложения вызывают стандартные функции, а диспетчер окон передает эти вызовы GDI, а тот – драйверам графических устройств, которые форматируют запрос в зависимости от устройства. Примечание: в Windows основная часть кода, ответственного за обработку окон и графики перенесена из контекста процесса подсистемы Windows в набор вызываемых сервисов, выполняемых в режиме ядра (начиная с Windows NT 4.0 файл win32K.sys). Это связано с тем, что процесс, поддерживающий графику, в случае его клиент-серверной организации, требовал многочисленные переключения контекстов процессов с одного на другой (значительные издержки). Поэтому наибольшая эффективность достигается, когда поддержка окон и графики полностью включена и выполняется в режиме ядра.

Подсистема POSIX (слайд 19) – Portable Operating System Interface Based On Unix (переносимый интерфейс ОС на основе Unix) – совокупность международных стандартов на интерфейсы, используемые в ОС Unix.

В Windows заложен один из стандартов POSIX: POSIX.1. Требования включения POSIX в Windows не обеспечивает охвата всего стандарта POSIX, т.е. POSIX.1 – ограниченный набор стандартов, поэтому не все приложения могут выполняться, не является полной средой программирования. Альтернатива – Windows Services For Unix. Включает инструментарий и утилиты, адаптированные из Unix, позволяет переносить в Windows Unix приложения. Замечание: это надо проверить.

Подсистема OS/2, так же как и POSIX, обладает ограниченной функциональностью и поддерживает на момент написания книги Руссиновича 16-разрядные приложения OS/2. Замечание: не поддерживает обращение приложений, которые используют так называемый расширенный ввод-вывод – инструкции прямого обращения к портам: in/out. Подсистема OS/2, использующая 32-разрядную адресацию, может предоставить приложениям OS/2 до 2 ГБ памяти (слайд 20). Структура виртуальной памяти подсистемы представлена на слайде 2 – мозаичная область, зарезервированное адресное пространство, откуда передается и куда возвращается память, используемая приложениями. Ведется таблица локальных дескрипторов с возможностью совместного использования отдельных сегментов. NT.dll – специальная библиотека системной поддержки, необходимая при функционировании DLL-подсистем. Выполняет функции двух типов: интерфейсы диспетчера системных сервисов – сервис к исполнительной системе Windows.

Функции внутренней поддержки, которые используются компонентами DLL-подсистем ОС. Первая часть функций может быть вызвана из пользовательского режима. Пример: ntcreatefile (доступна через WinAPI, но есть и недокументированные, выполняются внутри ОС). Для каждой из перечисленных функций существует точка входа с именем соответствующей функции – механизм, код внутри функции содержит специфичную для аппаратуры команду перехода в режим ядра, который обеспечивает вызов диспетчера системных сервисов, который, в свою очередь, вызывает реальный сервис ядра из ntoskrnl.exe. NT.dll включает также функции поддержки некоторых системных операций: загрузка образов, диспетчера динамически выделяемых областей памяти, диспетчера исключений и др.


Дата добавления: 2015-07-07; просмотров: 215 | Нарушение авторских прав


Читайте в этой же книге: Основные технологии программирования | Общие подходы к построению ОС. | Подходы к построению ОС. | Виртуализация | Инструментарий ОС (на основе Windows) | Режим ядра и пользовательский режим | Основные концепции построения Windows | Архитектура современных ОС | Обзор архитектуры | Многопроцессорная обработка |
<== предыдущая страница | следующая страница ==>
Подсистема окружения| Исполнительная система Windows

mybiblioteka.su - 2015-2024 год. (0.004 сек.)