От кнопки 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-го гигабайта, тут искусственный идиот смешал древние процы и новые.

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

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

Новости

Публикации

Обзор ручной хинкальницы: как быстро лепить хинкали дома

Популярное грузинское блюдо — хинкали — знакомо многим, ведь его готовят во множестве кафе и ресторанов. Но как сформировать хинкали красивой традиционной формы, если у вас...

Почему Италия управляет кусочками Швейцарии, а Швейцария — кусочками Италии

Иногда смотришь на карту Альп и ловишь себя на странном ощущении: границы здесь выглядят так, будто их рисовал не государственный картограф, а упрямый художник, которому нравилось оставлять...

Что такое Jolla Phone и как он решил вернуться: история компании с корнями Nokia

Финская компания Jolla представила новое поколение собственного смартфона, наследника оригинальной модели 2013 года. Чем же фирма занималась все эти 12 лет и с чего вообще начиналась её история?

Осторожно, говорят «да»! Как не стать жертвой телефонных мошенников

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

ЮАР – единственная страна мира с тремя равноправными столицами. Как так получилось и для чего это нужно

Большинство стран мира довольствуются одной столицей. Иногда их две, как в Боливии или Нидерландах. А вот Южно-Африканская Республика пошла дальше всех и официально имеет сразу три.

Как выбрать живую ёлку для дома?

  • Тематическая подборка
  • Оффтопик
Запах хвои, смолистые иголки, настоящая лесная красавица в углу гостиной — живая ёлка создаёт ту самую новогоднюю магию, которую не заменит никакой пластик. Но как выбрать дерево,...