Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску
В Windows NT операционная система семьи архитектура состоит из двух слоев ( пользовательский режим и режим ядра ), с большим количеством различных модулей в обеих этих слоях.

Архитектура Windows NT , линии операционных систем , произведенных и проданной Microsoft , представляет собой слоистый дизайн , который состоит из двух основных компонентов, пользовательский режим и режим ядра . Это вытесняющая , реентерабельная многозадачная операционная система, которая была разработана для работы с однопроцессорными и симметричными многопроцессорными (SMP) компьютерами. Для обработки запросов ввода / вывода (I / O) они используют управляемый пакетами ввод / вывод, который использует пакеты запросов ввода / вывода (IRP) и асинхронный ввод / вывод . Начиная сWindows XP , Microsoft начала выпускать 64-битные версии Windows; до этого существовали только 32-битные версии этих операционных систем.

Программы и подсистемы в пользовательском режиме ограничены с точки зрения того, к каким системным ресурсам они имеют доступ, в то время как режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Режим ядра в Windows NT имеет полный доступ к аппаратным и системным ресурсам компьютера. Ядро Windows NT - это гибридное ядро ; архитектура включает простое ядро , уровень аппаратной абстракции (HAL), драйверы и ряд сервисов (вместе именуемых Executive ), которые все существуют в режиме ядра. [1]

Пользовательский режим в Windows NT состоит из подсистем, способных передавать запросы ввода-вывода соответствующим драйверам устройств режима ядра с помощью диспетчера ввода-вывода. Уровень пользовательского режима Windows NT состоит из «подсистем среды», которые запускают приложения, написанные для многих различных типов операционных систем, и «интегральной подсистемы», которая выполняет специфические для системы функции от имени подсистем среды. В режиме ядра службы и приложения пользовательского режима не могут получить доступ к критическим областям операционной системы, к которым у них не должно быть доступа.

Исполнительные интерфейсы со всеми подсистемами пользовательского режима имеют дело с вводом-выводом, управлением объектами, безопасностью и управлением процессами. Ядро находится между уровнем аппаратной абстракции и исполнительным устройством для обеспечения многопроцессорной синхронизации , планирования и диспетчеризации потоков и прерываний, а также обработки прерываний и диспетчеризации исключений. Ядро также отвечает за инициализацию драйверов устройств при загрузке. Драйверы режима ядра существуют на трех уровнях: драйверы самого высокого уровня, промежуточные драйверы и драйверы низкого уровня. Модель драйвера Windows (WDM) существует на промежуточном уровне и была в основном предназначена для двоичной и исходной совместимости между Windows 98 и Windows 2000.. Драйверы самого низкого уровня - это либо устаревшие драйверы устройств Windows NT, которые управляют устройством напрямую, либо могут быть аппаратной шиной Plug and Play (PnP).

Пользовательский режим [ править ]

Пользовательский режим состоит из различных системных процессов и библиотек DLL.

Интерфейс между приложениями пользовательского режима и функциями ядра операционной системы называется «подсистемой среды». В Windows NT может быть несколько из них, каждый из которых реализует свой набор API. Этот механизм был разработан для поддержки приложений, написанных для многих различных типов операционных систем. Ни одна из подсистем среды не может напрямую обращаться к оборудованию; доступ к аппаратным функциям осуществляется путем вызова процедур режима ядра. [ необходима цитата ]

Существует три основных подсистемы среды: подсистема Win32, подсистема OS / 2 и подсистема POSIX . [2]

  • Подсистема среды Win32 может запускать 32-разрядные приложения Windows. Он содержит консоль, а также поддержку текстового окна, завершение работы и обработку жестких ошибок для всех других подсистем среды. Он также поддерживает виртуальные машины DOS (VDM), которые позволяют запускать приложения MS-DOS и 16-битной Windows ( Win16 ) в Windows NT. Существует специальный модуль VDM для MS-DOS, который работает в собственном адресном пространстве и эмулирует Intel 80486.под управлением MS-DOS 5.0. Однако программы Win16 запускаются в Win16 VDM. Каждая программа по умолчанию выполняется в одном и том же процессе, таким образом, используя одно и то же адресное пространство, и Win16 VDM дает каждой программе свой собственный поток для запуска. Однако Windows NT позволяет пользователям запускать программу Win16 в отдельном модуле Win16 VDM, что позволяет программе выполнять многозадачность с вытеснением, поскольку Windows NT вытесняет весь процесс VDM, который содержит только одно работающее приложение. Процесс подсистемы среды Win32 ( csrss.exe ) также включает в себя функции управления окнами, иногда называемые " оконным менеджером".". Он обрабатывает события ввода (например, от клавиатуры и мыши), затем передает сообщения приложениям, которые должны получать этот ввод. Каждое приложение отвечает за рисование или обновление своих собственных окон и меню в ответ на эти сообщения.
  • Подсистема среды OS / 2 поддерживает 16-битные символьные приложения OS / 2 и эмулирует OS / 2 1.x, но не 32-битные или графические приложения OS / 2, которые используются с OS / 2 2.x или новее, на Только машины x86. [3] Для запуска графических программ OS / 2 1.x необходимо установить дополнительную подсистему Windows NT для Presentation Manager. [3] Последней версией Windows NT, в которой была подсистема OS / 2, была Windows 2000; он был удален из Windows XP. [4] [5]
  • Подсистема среды POSIX поддерживает приложения, которые строго написаны в соответствии со стандартом POSIX.1 или соответствующими стандартами ISO / IEC . Эта подсистема была заменена Interix , которая является частью Windows Services для UNIX . [4] Это, в свою очередь, было заменено подсистемой Windows для Linux .

Подсистема безопасности имеет дело с маркерами безопасности, предоставляет или запрещает доступ к учетным записям пользователей на основе разрешений ресурсов, обрабатывает запросы входа и инициирует аутентификацию входа в систему, а также определяет, какие системные ресурсы должны проверяться Windows NT. [ необходима цитата ] Он также следит за Active Directory . [ необходима цитата ] Служба рабочей станции реализует сетевой перенаправитель , который является клиентской стороной общего доступа к файлам и принтерам Windows; он реализует локальные запросы к удаленным файлам и принтерам, «перенаправляя» их на соответствующие серверы в сети. [6]И наоборот, служба сервера позволяет другим компьютерам в сети получать доступ к общим папкам и общим принтерам, предлагаемым локальной системой. [7]

Режим ядра [ править ]

Режим ядра Windows NT имеет полный доступ к аппаратным и системным ресурсам компьютера и запускает код в защищенной области памяти. [8] Он контролирует доступ к планированию, приоритезацию потоков, управление памятью и взаимодействие с оборудованием. В режиме ядра службы и приложения пользовательского режима не могут получить доступ к критическим областям операционной системы, к которым они не должны иметь доступа; Процессы пользовательского режима должны запрашивать режим ядра выполнять такие операции от их имени.

Хотя архитектура x86 поддерживает четыре различных уровня привилегий (пронумерованные от 0 до 3), используются только два крайних уровня привилегий. Программы в пользовательском режиме запускаются с CPL 3, а ядро ​​работает с CPL 0. Эти два уровня часто называют «кольцо 3» и «кольцо 0» соответственно. Такое проектное решение было принято для достижения переносимости кода на платформы RISC, которые поддерживают только два уровня привилегий [9], хотя это нарушает совместимость с приложениями OS / 2, которые содержат сегменты привилегий ввода-вывода, которые пытаются напрямую обращаться к оборудованию. [10]

Код, работающий в режиме ядра, включает: исполнительную систему, которая сама по себе состоит из множества модулей, выполняющих определенные задачи; ядро , которое обеспечивает услуги низкого уровня , используемых органами исполнительной власти; уровень аппаратной абстракции (HAL); и драйверы ядра . [8] [11]

Исполнительный [ править ]

Службы Windows Executive составляют низкоуровневую часть режима ядра и содержатся в файле NTOSKRNL.EXE . [8] Он касается ввода-вывода, управления объектами, безопасности и управления процессами. Они разделены на несколько подсистем , среди которых кэш диспетчер , диспетчер конфигурации , ввод / вывод диспетчер , локальный вызов процедур (LPC) , менеджер памяти , менеджер объектов , структуры процесса и Security Reference Monitor (SRM) . Сгруппированные вместе, компоненты можно назвать исполнительными службами (внутреннее имя Ex). Системные службы (внутреннее имя Nt ), то есть системные вызовы , также реализованы на этом уровне, за исключением очень немногих, которые обращаются непосредственно к уровню ядра для повышения производительности. [ необходима цитата ]

Термин «служба» в этом контексте обычно относится к вызываемой программе или набору вызываемых процедур. Это отличается от концепции «служебного процесса», который представляет собой компонент пользовательского режима, в некоторой степени аналогичный демону в Unix-подобных операционных системах.

Каждый объект в Windows NT существует в глобальном пространстве имен . Это скриншот из Sysinternals WinObj .
Диспетчер объектов
Менеджер объектов (внутреннее название Ob ) является исполнительным подсистемой , что все другие исполнительные подсистемы, особенно системные вызовы, должны пройти к получают доступ к ресурсам Windows NT-существу , что делает его службы управления ресурсами инфраструктуры. [12] Диспетчер объектов используется для уменьшения дублирования функций управления ресурсами объектов в других исполнительных подсистемах, что потенциально может привести к ошибкам и затруднить разработку Windows NT. [13] Для диспетчера объектов каждый ресурс является объектом, независимо от того, является ли этот ресурс физическим (например, файловой системой или периферийным устройством) или логическим ресурсом (например, файлом). Каждый объект имеет структуру или тип объекта. о чем должен знать диспетчер объектов.
Создание объекта - это процесс, состоящий из двух этапов: создание и вставка . Создание вызывает выделение пустого объекта и резервирование любых ресурсов, необходимых диспетчеру объектов, таких как (необязательное) имя в пространстве имен. Если создание прошло успешно, подсистема, отвечающая за создание, заполняет пустой объект. [14] Наконец, если подсистема считает инициализацию успешной, она инструктирует диспетчер объектов вставить объект, что делает его доступным через его (необязательное) имя или файл cookie, называемый дескриптором . [15]С этого момента время жизни объекта обрабатывается диспетчером объектов, и подсистема должна поддерживать объект в рабочем состоянии до тех пор, пока диспетчер объектов не получит сигнал от него избавиться. [16]
Дескрипторы - это идентификаторы, которые представляют ссылку на ресурс ядра через непрозрачное значение. [17] Точно так же открытие объекта через его имя подлежит проверке безопасности, но действие через существующий открытый дескриптор ограничено только уровнем доступа, запрошенным при открытии или создании объекта. [ необходима цитата ]
Типы объектов определяют процедуры объекта и любые данные, относящиеся к объекту. Таким образом, диспетчер объектов позволяет Windows NT быть объектно-ориентированной операционной системой, поскольку типы объектов можно рассматривать как полиморфные классы , определяющие объекты . Однако большинство подсистем, за одним заметным исключением в диспетчере ввода-вывода, полагаются на реализацию по умолчанию для всех процедур объектного типа. [ необходима цитата ]
Каждый экземпляр создаваемого объекта сохраняет свое имя, параметры, которые передаются функции создания объекта, атрибуты безопасности и указатель на его тип объекта. Объект также содержит процедуру закрытия объекта и счетчик ссылок, чтобы сообщить диспетчеру объектов, сколько других объектов в системе ссылается на этот объект, и тем самым определяет, может ли объект быть уничтожен при отправке ему запроса на закрытие. [18] Каждый именованный объект существует в пространстве имен иерархического объекта .
Контроллер кеша
Тесно координируется с диспетчером памяти, диспетчером ввода-вывода и драйверами ввода-вывода, чтобы обеспечить общий кеш для обычного файлового ввода-вывода. Диспетчер кэша Windows работает с файловыми блоками (а не с блоками устройств) для согласованной работы между локальными и удаленными файлами и обеспечивает определенную степень согласованности с отображенными в памяти представлениями файлов , поскольку блоки кеша являются особым случаем отображенных в память просмотры и кеш пропускают особый случай ошибок страницы.
Диспетчер конфигурации
Реализует системные вызовы, необходимые для реестра Windows .
Менеджер ввода / вывода
Позволяет устройствам взаимодействовать с подсистемами пользовательского режима. Он переводит команды чтения и записи пользовательского режима в пакеты IRP для чтения или записи, которые передает драйверам устройств. Он принимает запросы ввода-вывода файловой системы и преобразует их в вызовы конкретных устройств и может включать низкоуровневые драйверы устройств, которые напрямую управляют оборудованием для чтения ввода или записи вывода. Он также включает в себя диспетчер кеша для повышения производительности диска за счет кэширования запросов чтения и записи на диск в фоновом режиме.
Вызов местных процедур (LPC)
Предоставляет порты межпроцессного взаимодействия с семантикой соединения. Порты LPC используются подсистемами пользовательского режима для связи со своими клиентами, исполнительными подсистемами для связи с подсистемами пользовательского режима и в качестве основы для локального транспорта для Microsoft RPC .
Менеджер памяти
Управляет виртуальной памятью , контролирует защиту памяти и подкачку памяти из физической памяти во вторичную память и реализует универсальный распределитель физической памяти. Он также реализует синтаксический анализатор исполняемых файлов PE, который позволяет отображать или отменять отображение исполняемого файла за один атомарный шаг.
Начиная с Windows NT Server 4.0, Terminal Server Edition, диспетчер памяти реализует так называемое пространство сеанса , диапазон памяти режима ядра, который подвержен переключению контекста, как и память пользовательского режима. Это позволяет нескольким экземплярам подсистемы Win32 режима ядра и драйверов GDI работать бок о бок, несмотря на недостатки в их первоначальной конструкции. Каждое пространство сеанса совместно используется несколькими процессами, вместе называемыми «сеансом».
Чтобы обеспечить определенную степень изоляции между сеансами без введения нового типа объекта, связь между процессами и сеансами обрабатывается контрольным монитором безопасности как атрибут объекта безопасности (токен), и его можно изменить только при наличии особых привилегий. .
Относительно простой и нерегулярный характер сессий объясняется тем фактом, что они не были частью первоначального дизайна и должны были быть разработаны с минимальным нарушением основной линии третьей стороной ( Citrix Systems ) в качестве предварительного условия. за их продукт терминального сервера для Windows NT, названный WinFrame . Однако, начиная с Windows Vista, сеансы, наконец, стали полноценным аспектом архитектуры Windows. Это больше не структура диспетчера памяти, которая проникает в пользовательский режим косвенно через Win32, они были расширены до всеобъемлющей абстракции, затрагивающей большинство исполнительных подсистем. Фактически, регулярное использование Windows Vista всегда приводит к многосеансовой среде. [19]
Структура процесса
Обрабатывает создание и завершение процессов и потоков, а также реализует концепцию Job , группы процессов, которые могут быть завершены в целом или помещены под общие ограничения (например, общий максимум выделенной памяти или время ЦП). Объекты заданий появились в Windows 2000 .
PnP-менеджер
Обрабатывает plug and play и поддерживает обнаружение и установку устройств во время загрузки. Он также отвечает за остановку и запуск устройств по запросу - это может произойти, когда шина (например, USB или IEEE 1394 FireWire ) получает новое устройство и для его поддержки требуется загруженный драйвер устройства. Его основная часть фактически реализована в пользовательском режиме в службе Plug and Play , которая выполняет часто сложные задачи по установке соответствующих драйверов, уведомлению служб и приложений о появлении новых устройств и отображению графического интерфейса пользователя для пользователя.
Менеджер питания
Обрабатывает события, связанные с питанием (отключение питания, ждущий режим, переход в спящий режим и т. Д.), И уведомляет затронутые драйверы специальными пакетами IRP ( Power IRP ).
Контрольный монитор безопасности (SRM)
Основной орган для обеспечения соблюдения правил безопасности подсистемы интеграции безопасности. [20] Он определяет, можно ли получить доступ к объекту или ресурсу с помощью списков управления доступом (ACL), которые сами состоят из записей управления доступом (ACE). ACE содержат идентификатор безопасности (SID) и список операций, которые ACE дает выбранной группе доверенных лиц - учетная запись пользователя, учетная запись группы или сеанс входа [21] - разрешение (разрешить, запретить или аудит) для этого ресурса. [22] [23]
GDI
Интерфейс графического устройства отвечает за такие задачи, как рисование линий и кривых, визуализация шрифтов и обработка палитр. В серии выпусков Windows NT 3.x компонент GDI был помещен в подсистему времени выполнения клиент / сервер пользовательского режима , но в Windows NT 4.0 он был переведен в режим ядра для повышения производительности графики. [24]

Ядро [ править ]

Ядро находится между HAL и исполнительной системой и обеспечивает многопроцессорную синхронизацию, планирование и диспетчеризацию потоков и прерываний, а также обработку прерываний и диспетчеризацию исключений; он также отвечает за инициализацию драйверов устройств при загрузке, которые необходимы для запуска и работы операционной системы. То есть ядро ​​выполняет почти все задачи традиционного микроядра ; Строгое различие между Executive и Kernel является наиболее заметным остатком первоначального дизайна микроядра, а в исторической проектной документации компонент ядра постоянно упоминается как «микроядро».

Ядро часто взаимодействует с диспетчером процессов. [25] Уровень абстракции таков, что ядро ​​никогда не обращается к диспетчеру процессов, а только наоборот (за исключением нескольких угловых случаев, но никогда не доходит до функциональной зависимости).

Гибридный дизайн ядра [ править ]

Конструкция Windows NT включает многие из тех же целей, что и Mach , архетипической системы микроядра, одной из наиболее важных является ее структура в виде набора модулей, которые обмениваются данными через известные интерфейсы, с небольшим микроядром, ограниченным основными функциями, такими как first -уровневая обработка прерываний, планирование потоков и примитивы синхронизации. Это позволяет использовать либо прямые вызовы процедур, либо межпроцессное взаимодействие.(IPC) для связи между модулями и, следовательно, для потенциального расположения модулей в разных адресных пространствах (например, в пространстве ядра или серверных процессах). Другие цели проектирования, разделяемые с Mach, включали поддержку различных архитектур, ядро ​​с достаточно общими абстракциями, позволяющими реализовать на его основе несколько личностей операционной системы, и объектно-ориентированную организацию. [26] [27]

Основная особенность операционной системы Windows - это Windows API , который всегда присутствует. Подсистема эмуляции, реализующая индивидуальность Windows, называется подсистемой времени выполнения клиент / сервер (csrss.exe). В версиях NT до 4.0 этот процесс подсистемы также содержал диспетчер окон, интерфейс графического устройства и драйверы графического устройства. Однако по соображениям производительности в версии 4.0 и новее эти модули (которые часто реализуются в пользовательском режиме даже в монолитных системах, особенно разработанных без поддержки внутренней графики) работают как подсистема режима ядра. [26]

Приложения, работающие на NT, написаны для одной из личностей ОС (обычно Windows API), а не для собственного NT API, документация для которого не является общедоступной (за исключением подпрограмм, используемых при разработке драйверов устройств). Индивидуальность ОС реализуется через набор библиотек DLL пользовательского режима (см. Библиотека динамической компоновки).), которые при необходимости отображаются в адресные пространства прикладных процессов вместе с серверным процессом подсистемы эмуляции (как описано ранее). Приложения получают доступ к системным службам, вызывая индивидуальные библиотеки DLL, отображаемые в их адресные пространства, которые, в свою очередь, вызывают библиотеку времени выполнения NT (ntdll.dll), также отображаемую в адресное пространство процесса. Библиотека времени выполнения NT обслуживает эти запросы путем перехвата в режим ядра для вызова исполнительных процедур режима ядра или выполнения локальных вызовов процедур (LPC) для соответствующих серверных процессов подсистемы пользовательского режима, которые, в свою очередь, используют NT API для связи с прикладные процессы, подсистемы режима ядра и друг друга. [28]

Драйверы режима ядра [ править ]

Windows NT использует драйверы устройств режима ядра, чтобы позволить ей взаимодействовать с аппаратными устройствами . Каждый из драйверов имеет четко определенные системные процедуры и внутренние процедуры, которые он экспортирует в остальную часть операционной системы. Все устройства воспринимаются кодом пользовательского режима как файловый объект в диспетчере ввода-вывода, хотя для самого диспетчера ввода-вывода устройства рассматриваются как объекты устройств, которые он определяет как объекты файлов, устройств или драйверов. Драйверы режима ядра существуют на трех уровнях: драйверы самого высокого уровня, промежуточные драйверы и драйверы низкого уровня. Драйверы самого высокого уровня, такие как драйверы файловой системы для FAT и NTFS, полагайтесь на промежуточных драйверов. Промежуточные драйверы состоят из функциональных драйверов или основного драйвера для устройства, которые могут быть размещены между драйверами фильтра нижнего и верхнего уровня. Затем функциональный драйвер полагается на драйвер шины - или драйвер, который обслуживает контроллер шины , адаптер или мост, - который может иметь дополнительный драйвер фильтра шины, который находится между ним и функциональным драйвером. Драйверы среднего уровня в своей работе полагаются на драйверы самого низкого уровня. Модель драйвера Windows (WDM) существует на промежуточном уровне. Драйверы самого низкого уровня - это либо устаревшие драйверы устройств Windows NT, которые управляют устройством напрямую, либо могут быть аппаратной шиной PnP. Эти драйверы нижнего уровня напрямую управляют оборудованием и не полагаются на какие-либо другие драйверы.

Уровень аппаратной абстракции [ править ]

Уровень абстракции оборудования Windows NT , или HAL, - это уровень между физическим оборудованием компьютера и остальной частью операционной системы. Он был разработан, чтобы скрыть различия в оборудовании и обеспечить согласованную платформу, на которой работает ядро. HAL включает аппаратно-зависимый код, который управляет интерфейсами ввода-вывода, контроллерами прерываний и несколькими процессорами.

Однако, несмотря на свое предназначение и назначенное место в архитектуре, HAL не является уровнем, который находится полностью ниже ядра, как ядро ​​находится ниже исполнительного: все известные реализации HAL в некоторой степени зависят от ядра или даже от ядра. Исполнительный. На практике это означает, что варианты ядра и HAL входят в соответствующие наборы, специально созданные для совместной работы.

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

См. Также [ править ]

  • Файлы библиотеки Microsoft Windows
  • МинВин
  • Архитектура Unix
  • Сравнение ядер операционных систем
  • Платформа драйвера пользовательского режима
  • Платформа драйвера режима ядра
  • Гибридное ядро

Дальнейшее чтение [ править ]

  • Martignetti, E .; Что делает его страницей ?: Диспетчер виртуальной памяти Windows 7 (x64) ( ISBN  978-1479114290 )
  • Руссинович, Марк Э .; Соломон, Дэвид А .; Ионеску, А .; Внутреннее устройство Windows, часть 1: Windows Server 2008 R2 и Windows 7 ( ISBN 978-0735648739 ) 
  • Руссинович, Марк Э .; Соломон, Дэвид А .; Ионеску, А .; Внутреннее устройство Windows, часть 2: Windows Server 2008 R2 и Windows 7 ( ISBN 978-0735665873 ) 

Примечания и ссылки [ править ]

Примечания
  1. ^ Finnel 2000 , Глава 1: Введение в Microsoft Windows 2000, стр 7-18..
  2. ^ «Приложение D - Запуск чужих приложений в Windows 2000 Professional» . Пакет ресурсов Microsoft Windows 2000 Professional . Microsoft .
  3. ^ a b «Пакет ресурсов для рабочих станций Windows NT, глава 28 - Совместимость с OS / 2» . Microsoft.
  4. ^ a b «POSIX и OS / 2 не поддерживаются в Windows XP или Windows Server 2003» . Microsoft.
  5. Рианна Рейтер, Брайан (24 августа 2010 г.). «Печальная история подсистемы Microsoft POSIX» .
  6. ^ «Базовая архитектура сетевого перенаправителя» . Microsoft . Проверено 18 ноября 2016 .
  7. ^ "Сетевая архитектура Windows NT" . Microsoft . Проверено 18 ноября 2016 .
  8. ^ a b c Роман, Стивен (1999). «Архитектура Windows» . Программирование Win32 API с помощью Visual Basic . ISBN O'Reilly and Associates, Inc. 1-56592-631-5.
  9. ^ "Пользователь режима ядра MS Windows NT и официальный документ GDI" . Документация по Windows NT Workstation . Microsoft TechNet . Архивировано 15 декабря 2007 года . Проверено 9 декабря 2007 .
  10. ^ «Глава 28 - Совместимость с OS / 2» . Комплект ресурсов для рабочих станций Windows NT . Microsoft . Архивировано 10 февраля 2009 года . Проверено 18 января 2009 .
  11. ^ Марк Э. Руссинович; Дэвид А. Соломон; Алекс Ионеску. Внутреннее устройство Windows, пятое издание . Microsoft Press. С. 228–255.
  12. ^ Руссинович и Соломон 2005 , стр. 124-125.
  13. ^ Руссинович 1997 , Введение.
  14. ^ Руссинович 1997 , "Типы объектов".
  15. ^ Russinovich & Solomon 2005 , стр. 135-140.
  16. ^ Russinovich & Solomon 2005 , стр. 141-143.
  17. ^ «Ручки и объекты» . MSDN - Win32 и разработка COM . Microsoft . Проверено 17 января 2009 .
  18. ^ Руссинович 1997 , "Объекты".
  19. ^ «Влияние изоляции сеанса 0 на службы и драйверы в Windows Vista» . Microsoft.
  20. ^ «Хранилище данных Active Directory» . Microsoft.
  21. ^ "Определение Доверительного управляющего" . MSDN.
  22. ^ Сиян 2000 .
  23. ^ «1.2 Глоссарий» . [MS-AZOD]: Обзор протоколов авторизации . запись контроля доступа (ACE).
  24. ^ "Изменение режима ядра Windows NT 4.0" . Пользователь MS Windows NT в режиме ядра и официальный документ GDI . Microsoft. Архивировано 13 января 2009 года . Проверено 19 января 2009 .
  25. ^ Соломон и Russinovich 2000 , стр. 543-551.
  26. ^ a b «Пользователь режима ядра MS Windows NT и официальный документ GDI» . Корпорация Майкрософт. 2007 . Проверено 1 марта 2007 .
  27. ^ Зильбершатц, Авраам; Галвин, Питер Баер; Ганье, Грег (2005). Понятия операционной системы; 7-е издание (PDF) . Хобокен, Нью-Джерси: ISBN John Wiley & Sons Inc.  978-0-471-69466-3.
  28. ^ Проберт, Дэйв (2005). «Обзор архитектуры Windows» . Использование проектов на основе внутренних NT API для обучения принципам работы с ОС . Microsoft Research / Азия - Пекин . Проверено 1 марта 2007 .
Рекомендации
  • Финнел, Линн (2000). Экзамен MCSE 70-215, Microsoft Windows 2000 Server . Microsoft Press . ISBN 1-57231-903-8.
  • Руссинович, Марк (октябрь 1997 г.). "Внутри диспетчера объектов NT" . Windows для ИТ-специалистов.
  • «Хранилище данных Active Directory» . Microsoft . Проверено 9 мая 2005 .
  • Соломон, Давид ; Руссинович, Марк Э. (2000). Внутри Microsoft Windows 2000 (Третье изд.). Microsoft Press. ISBN 0-7356-1021-5. Архивировано из оригинала на 2005-03-23.
  • Руссинович, Марк ; Соломон, Дэвид (2005). Microsoft Windows Internals (4-е изд.). Microsoft Press. ISBN 0-7356-1917-4.
  • Шрайбер, Свен Б. (2001). Недокументированные секреты Windows 2000 . Эддисон-Уэсли Лонгман. ISBN 978-0201721874.
  • Сиян, Канаджит С. (2000). Справочник по Windows 2000 Professional . Новые всадники. ISBN 0-7357-0952-1.

Внешние ссылки [ править ]

  • «Официальный сайт Microsoft Windows 2000» . Архивировано из оригинального 29 февраля 2000 года.
  • «Microsoft Windows 2000 Plug and Play» . Архивировано из оригинала 8 августа 2004 года.
  • Управление памятью в ядре Windows XP