От диспетчера сеансов до автозагрузки - Загрузка - Статьи о работе Windows - Каталог статей - Windows Web Wizard
 Windows  Web  Wizard
 

Привет Гость

Меню сайта

Время
Суббота
31.07.2010
11:48

 
Категории каталога
Загрузка [10]
BSOD [62]
Статьи и BSOD
Компоненты системы [3]
Статьи , посвящённые работе компонентов системы .
Настройка [7]
Некоторые хитрости системы

Форма входа
E-mail:
Пароль:

Поиск

Друзья сайта

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Мини-чат

Наш опрос
Какой поисковой системой вы пользуетесь чаще ?
1. Google
2. Yandex
3. Mail
4. Rambler
5. MSN
6. Aport
7. Другая
8. Nigma
9. Yahoo
Всего ответов: 25

Главная » Статьи » Статьи о работе Windows » Загрузка

От диспетчера сеансов до автозагрузки
Основные этапы загрузки :
1)POST этап
2)
MBR - главная загрузочная запись
3)Boot record - загрузочный сектор раздела
4)ntldr - загрузчик Windows
5) Инициализация  ядра
5) Диспетчер  сеансов
6) Запуск  подсистемы  Win32
7) Вход  в  систему
8) Автозагрузка

В  этой  статье  мы  закончим  загружаться smile .
После  иницилизации  ядра , kernel запускает  диспетчер  сеансов ( smss.exe )  для  создания  пользовательского  сеанса . Диспетчер сеансов  не  относится  к  ядру , но  также  использует  NativeAPI  и  может  создавать  и  редактировать  маркеры  доступа . Он  является  критическим  компонентом . Ядро ждёт  освобождения  описателя  smss.exe  в  течение 5  секунд . Если  описатель  освободился  раньше  положенного  времени , ядро  генерирует  крах SESSION_%НОМЕР%_INITALIZATION_FAILED .
Первым  делом smss.exe  создаёт  обьект  " Порт  LPC " и  символьные  ссылки  на  устройства . Далее  он  обрабатывает  значение HKLM\System\CurrentControlSet\Control\SessionManager\BootExecute\ и  запускает  требуемые  программы ( по  умолчанию  autocheck ) , совершает "Pending  rename operations" - переименовывание  файлов ( можно  использовать  как  удаление  или  перемещение ) . Следующей  критической  операцией является  загрузка  Known DLL ( advapi32.dll , gdi32.dll , kernel32.dll , shell32.dll , user32.dll , url.dll  и  других менее  мне  известных , но  критических  для  работы  Windows ( а  точнее  для  windows-приложений ) . Если  загрузка  хотя  бы  одной  библиотеки  провалилась , smss.exe  генерирует  крах  или  перезагрузку . Для  своей  работы он создаёт  дополнительные  страничные  файлы  и  иницилизирует  некоторые  разделы  реестра . Далее  он создаёт  переменные  окружения  и  приступает  к  запуску  подсистемы Win32 .
Подсистема Win32  представлена  драйвером  win32k.sys , переключающем  монитор  в  графический  режим , и  csrss.exe ( клиент-вервер приложением ) , отвечающем  за  создание  потоков  и  консоль . Для регистрации пользователя  в  системе диспетчер  сеансов  создаёт  процесс Winlogon . Поскольку  все  перечисленные  процессы - критически  важны , smss  ждёт  освобождения  их  описателей  бесконечно  долго , если  не  заметит   явного  краха . Наконец  smss создаёт  порты  LPC  для  отладки  приложений . На  этом  его  работа  заканчивается .
Теперь  загрузочный  процесс  продолжает  Winlogon . Первым  делом  он  регистрирует обект  вернего  уровня - свой  рабочий  стол  и  резервирует  комбинацию  клавиш Ctrl-Alt-Del ( user32.dll!RegisterHotKey ) . Потом  логон  создаёт  обект  WindowStation и  загружает библиотеку msgina.dll , которая  предоставляет  интерфейс  входа  пользователя . Запускается   services.exe - приложение  служб  и  контрллёров . Services запускает  службы PnP  пользователя и  Журнал  событий , а  также  остальные  системные  службы , упакованные  в  DLL . Хостом  для  dll-служб  является services.exe ( generic host process  for win32 services ) . Для  удобства  службы  делятся  на  несколько  категорий и  каждая  висит  на  своём  хосте . Поэтому  в  памяти  около  5  похожих  процессов ( но   с  раными  точками  входа ) . После  успешной  регистрации создаётся  процесс lsass.exe , отвечающий  за  локальную  аутентификацию  пользователя , и userinit.exe , который  заполняет  раздел  реестра  HKCU . Далее  Winlogon вызывает  оболочку .
Проводник  обрабатвает  значения Run , !Run , RunOnce  разделов  HKCU\Software\Microsoft\Windows\CurrentVersion  и HKLM\Software\Microsoft\Windows\Current Version  если  это  не  отключено (  HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\DisableLocalMachineRun , HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\DisableLocalMachineRunOnce   тоже  самое  для HKCU ) . Автозагрузка  таже  находится в  папке "Автозагрузка" пользователя .
Всё . Система  загрузилась .
Категория: Загрузка | Добавил: Admin (14.06.2008)
Просмотров: 304
Всего комментариев: 1
0  
1 AlexMan   (18.04.2009 22:03)
Спасибо!!! Как всегда на высшем уровне)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright FIL CORPORATION © 2010
Сайт управляется системой uCoz