> > И решили мелко-мягкие перевести эти службы со всей их > > прорисовкой окошек в ядро чтоб при переходе из > юзерского в > > режим ядра описатель не отлавливать каждый раз. > SMSS - не работает в режиме ядра, это пользовательский > процесс.
Описался я, говоря "эти службы" я забыл добавить что говорю о Win32 USER GDI и поддержке драйверов ввода-вывода графики , а SMSS & CSRSS я привел в качестве служб которые создавали потоки выполнявшие подпрограммы в режиме ядра и из-за потери описателя процесса при взаимодействии этих служб и видеодров система отваливалась, ессно - SMSS является первым процессом пользовательского режима созданным в системе, по сути только процесс System служит носителем потоков которые выполняются в режиме ядра, а Smss порождается системным потоком отвечающим за последний этап инициализации исполнительной системы и ядра. Но он также запусает процессы Winlogon & Csrss. По умолчанию владельцем системных потоков является процесс System, но дрова могут создавать системные потоки в любом процессе, в том числе в процессе подержки системы напрямую работающим с ядром . Просто непонятка вышла из-за того, что Win2k.sys - драйвер режима ядра включает в себя диспетчер окон, и библиотеку функций для устройств вывода графики ( GDI ) а не уточнил ничего, а просто ляпнул "эти службы" :-(, но суть все равно такая : Win32 USER GDI работают в режиме ядра - они прорисовывают форточки и выводят их на железо, раньше часть процессов выполнялась в Csrss, а часть в режиме ядра - теперь все в ядре.
Еще раз извини что неточно выразился упомянув SMSS и CSRSS и сразу написав после этого:
> >И решили мелко-мягкие перевести эти службы со всей их прорисовкой
> >окошек в ядро чтоб при переходе из юзерского в режим ядра описатель
> >не отлавливать каждый раз.
---
Но я написал это об обсуждаемом вопросе :
> >Да и то что они в 2000 запихнули поддержку прорисовки
> окошек в ядро
---
>Только от обычных пользовательских процессов его
> отличает то, что во-первых он является trusted процессом, в > связи с чем, он может, например, создавать маркеры защиты.
А вот тут ты не прав, маркеры доступа aka access token object дает не Smss, а Lsass который порождается процессом Winlogon.
> А во-вторых - он использует не подсистему Win32 а > NativeAPI, поскольку при его старте Win32 еще не > функционирует, и одна из его задач, как раз и есть запуск > Win32. > CSRSS - так же работает в пользовательском режиме, как и > любой другой сервис, его стартует SMSS. После завершения > инициализации SMSS переходит в бесконечный цикл ожидания > описателей процессов Winlogon и CSRSS. Так как это > критически важные процессы, в случае их сбоя SMSS вызывет > BSOD.
|