От кнопки Power до рабочего стола: миллионы операций за секунды. Что на самом деле происходит в ПК, пока загружается Windows

✦ ИИ  Этот пост, предположительно, был создан при помощи искусственного интеллекта
Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Статья | Платформа ПК

Нажимаете одну-единственную кнопку Power на системном блоке, а в ответ сложнейшая цифровая вселенная — операционная система — пробуждается к жизни. Как физическое действие, простой электрический импульс, запускает цепочку из миллионов логических операций, превращая «мертвое» железо в мощный рабочий инструмент? Этот процесс кажется мгновенным, но на самом деле за ним стоит четкая и выверенная до наносекунд последовательность событий.

Дорогие комплектующие, аккуратная сборка… но пока это лишь красивая и безжизненная коробка. Нам предстоит выяснить, какая искра магии (и инженерии) заставляет всё это ожить за считанные секунды после одного щелчка.
Автор: Bretwa Источник: commons.wikimedia.org

Секвенсор питания и сигнал Power Good

Все начинается еще до нажатия кнопки. В состоянии программного выключения (ACPI S5, Soft-Off), блок питания (БП) продолжает подавать на материнскую плату дежурное напряжение по линии +5VSB. Это необходимо для питания южного моста (PCH) или контроллера Super I/O, которые отслеживают сигналы пробуждения.

При нажатии кнопки Power формируется логический сигнал, который заставляет чипсет установить низкий уровень на контакте PS_ON# разъема ATX. Это команда для БП на полный запуск. Блок питания начинает формировать основные силовые линии (+12V, +5V, +3.3V), но система не стартует мгновенно. Она ожидает от БП сигнала Power Good (PWR_OK). Этот сигнал подтверждает, что все напряжения стабилизировались в пределах спецификации ATX (+-5%). Это критически важный механизм, предотвращающий запуск компонентов на нестабильном питании, что могло бы привести к повреждению или сбоям в работе логики.

Вот она, главная артерия питания и одновременно — самый строгий фейс-контроль в вашем ПК. Блок питания может уже гудеть вовсю, но пока по одному из этих крошечных контактов не прилетит заветный сигнал «Power Good», для процессора и остального железа вечеринка не начнется. Железная дисциплина против скачков напряжения.
Автор: Jacek Halicki Источник: commons.wikimedia.org

Инициализация процессора и эра обратной совместимости

Получив сигнал Power Good, системная плата снимает с процессора сигнал Reset. С этого момента CPU начинает работать. И здесь мы сталкиваемся с первым великим наследием — обратной совместимостью. Процесс пробуждения любого современного 64-битного процессора с архитектурой x86 начинается с активации особого, унаследованного режима — 16-битного реального (Real Mode). В этом режиме процессор может адресовать лишь 1 МБ памяти и не имеет никаких механизмов защиты. Кстати, точно так «просыпались» процессора Intel 8088 из 1981 года в первых IBM PC.

Первое, что он делает — обращается к вектору сброса (Reset Vector) по фиксированному адресу FFFFFFF0h (адрес в конце первого мегабайта памяти, к которому процессор обращается в реальном режиме). Он указывает на микросхему SPI Flash, где хранится прошивка — сегодня это UEFI, пришедший на смену устаревшему BIOS.

Забудьте на секунду про привычные меню с мышкой и красивыми графиками. Вот так выглядит истинное, низкоуровневое лицо UEFI — его командная оболочка. Именно здесь прошивка материнской платы предстает как настоящая, пусть и миниатюрная, операционная система, способная работать с файлами и устройствами еще до того, как появится первый логотип на экране.
Автор: TianoCore contributors Screenshot: Maximilien Ric Источник: commons.wikimedia.org

UEFI и POST — аппаратная инициализация

Прошивка UEFI, по сути, миниатюрная операционная система, задача которой подготовить аппаратную платформу к загрузке основной ОС. Ее работа делится на несколько ключевых фаз:

  • PEI (Pre-EFI Initialization): на этом раннем этапе происходит самая базовая инициализация процессора и, что самое важное, — оперативной памяти. UEFI считывает данные из SPD-чипов на модулях RAM, чтобы настроить частоты и тайминги. Если на этом этапе возникает сбой (например, несовместимый или неисправный модуль памяти), система не сможет продолжить работу и, не имея возможности вывести изображение, сообщит об ошибке звуковыми сигналами или диагностическими светодиодами.
  • DXE (Driver Execution Environment): после инициализации ОЗУ начинается основная фаза, в рамках которой выполняется POST (Power-On Self-Test). UEFI последовательно загружает драйверы и инициализирует все обнаруженные устройства: контроллеры PCIe, SATA, USB, сетевой и звуковой адаптеры. Ключевой момент здесь — инициализация видеокарты. UEFI запускает ее GOP-драйвер (Graphics Output Protocol), после чего на мониторе появляется изображение (логотип производителя).
Вот он, первый видимый рапорт о проделанной работе. После инициализации видеокарты UEFI сообщает: «Процессор на месте, память в порядке, диск вижу». На современных платах этот текстовый отчет чаще всего прячут за красивым логотипом производителя, но суть от этого не меняется — это и есть результат успешного прохождения POST.
Автор: Paowee Источник: commons.wikimedia.org

Выбор загрузочного устройства и передача управления

По завершении POST, UEFI переходит к фазе BDS (Boot Device Selection). Он обращается к энергонезависимой памяти (NVRAM), где хранятся настройки порядка загрузки. В отличие от старого механизма MBR, где BIOS просто читал первые 512 байт диска, UEFI работает умнее. Он ищет на диске специальный раздел, отформатированный в FAT32 — ESP (EFI System Partition) — и запускает из него указанный в настройках загрузочный файл.

Для Windows 10/11 это, как правило, \EFI\Microsoft\Boot\bootmgfw.efi. С этого момента управление полностью переходит от прошивки материнской платы к загрузчику операционной системы.

Загрузчик Windows — подготовка среды для ядра

Windows Boot Manager — не просто программа-запускатор. Она выполняет несколько критически важных функций:

  • Переключение режимов процессора. Переводит CPU из 16-битного реального режима через 32-битный защищенный режим в полноценный 64-битный длинный режим (Long Mode). Только в этом режиме ОС может адресовать гигабайты памяти и использовать все возможности современных процессоров.
  • Чтение конфигурации. Обращается к хранилищу BCD (Boot Configuration Data), чтобы узнать параметры запуска (например, если у вас установлено несколько ОС).
  • Загрузка ядра и HAL. На этом этапе в оперативную память помещаются два важнейших файла: ядро ntoskrnl. exe и Уровень аппаратных абстракций (HAL — hal. dll). HAL — прослойка, которая позволяет одному и тому же ядру Windows работать на тысячах разных аппаратных конфигураций.
Знакомый экран для всех, кто экспериментировал с установкой нескольких ОС. Но теперь для нас это не просто меню. Это видимый результат работы Windows Boot Manager, который только что переключил процессор в 64-битный режим и прочитал «карту маршрутов» из хранилища BCD. Увидев на карте две системы, он честно предлагает выбрать, куда ехать дальше.
Автор: Microsoft Источник: commons.wikimedia.org

Инициализация ядра и запуск пользовательского сеанса

С момента, когда ядро ntoskrnl. exe получает управление, стартует финальный этап программной загрузки, состоящий из нескольких ключевых шагов:

  • Загрузка реестра. Первым делом ядро подгружает в оперативную память системный реестр — базу данных, которая содержит все конфигурации оборудования и программного обеспечения.
  • Инициализация драйверов. Сразу после этого запускается диспетчер Plug and Play. Опираясь на данные из реестра, он последовательно загружает и активирует драйверы для всех распознанных в системе устройств.
  • Старт системных служб. Далее инициализируется один из самых ранних системных процессов — Session Manager Subsystem (smss.exe). Его основная задача — запустить другие критически важные службы, в том числе winlogon. exe, который отвечает за управление сеансами пользователей.
  • Запуск пользовательской оболочки. После того как пользователь успешно прошел аутентификацию (ввел пароль или вошел в систему автоматически), процесс winlogon. exe выполняет свою последнюю задачу: запускает программу, указанную в реестре в качестве оболочки. В стандартной конфигурации Windows это explorer. exe, который и создает для нас привычный рабочий стол.

Только после этого компьютер считается полностью загруженным и готовым к работе, хотя некоторые фоновые службы и приложения из автозагрузки могут продолжать свою инициализацию еще несколько секунд.

Финишная прямая нашего расследования. Система полностью загружена, все драйверы на местах, службы запущены. Перед нами — работа процесса winlogon. exe, последнего стража на пути к вашему рабочему столу. Компьютер уже готов к работе, теперь он ждет только вас.
Автор: Benh LIEU SONG Источник: commons.wikimedia.org

Заключение

Процесс, который мы только что разобрали, — это основа, заложенная десятилетиями назад. Но она не стоит на месте. Современные технологии, такие как UEFI Fast Boot, уже научились пропускать некоторые этапы POST, сокращая время загрузки до нескольких секунд. Накопители NVMe передают данные напрямую в процессор, минуя узкие места старых интерфейсов. А операционные системы все глубже интегрируются с прошивкой, создавая единую, почти монолитную среду. В будущем мы, вероятно, увидим «мгновенную» загрузку, где система будет находиться в состоянии глубокой, но почти моментально восстанавливаемой гибернации. Граница между «выключено» и «включено» будет стираться, а процесс запуска, который мы сегодня так подробно разбирали, станет невидимым наследием, скрытым еще глубже внутри системного блока.

Изображение в превью:
Автор: aistudio.google.com
Источник: aistudio.google.com
Другое
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Пишу статьи на различные темы.

1 комментарий

С
FFFFFFF0h (адрес в конце первого мегабайта памяти)

Ну вообще-то это адрес в конце 4-го гигабайта, тут искусственный идиот смешал древние процы и новые.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Как маленький Люксембург стал одним из самых богатых государств мира

Иногда смотришь на карту Европы и поражаешься: как получилось, что крошечный Люксембург, который можно пересечь на машине быстрее, чем добраться из одного конца Питера или Стамбула в другой,...

Как зимой проехать дольше на электромобиле. Несколько простых советов

Морозные условия доставляют неприятности электромобилям и снижают их эффективность. Одной из основных неприятностей при низкой температуре окружающей среды является падение характеристик...

Концептуальное часовое искусство Константина Чайкина и акриловые шестеренки: разбираемся с Агасфером

За последний год имя российского изобретателя, часовщика Константина Чайкина звучало особенно часто. И каждый раз, заметим, заслуженно!Во-первых, как часовой мастер, кажется, наш герой все...

Из чего на самом деле делали растворимый кофе в СССР

Если вы росли в Советском Союзе и помните маленькие жестяные баночки с надписью «Кофе растворимый», то почти наверняка пили вовсе не кофе. Это был один из самых грандиозных пищевых обманов XX...

Как получилось, что Канада — вторая по размеру страна мира, но почти пустая

Иногда смотришь на карту Канады и ловишь себя на странном ощущении. Страна огромная, почти десять миллионов квадратных километров, по общей площади это второй гигант мира после России. Но стоит...

210 лет «Павлу Буре»: в Москве открылась уникальная выставка коллекционных часов из частных собраний

Вероятно, даже тем, кто интересуется часами, при упоминании имени «Павел Буре» в первую очередь на память придет шайба и клюшка. Однако наша история помнит и «дохоккейные» времена, когда это имя...