Как происходит загрузка компьютера

Как происходит загрузка компьютера

И почему он иногда пищит при включении

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

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

Воткнули вилку в розетку

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

Ток поступает на контакты питания материнской платы, а оттуда — на системный контроллер. Системный контроллер — специальная микросхема (или группа микросхем), которая управляет всем, что находится на материнской плате, включая процессор и оперативную память. Когда есть питание, системный контроллер просто ждёт, пока пользователь не нажмёт кнопку включения компьютера.

Получается, даже когда компьютер условно выключен, на самом деле он включён — работает системный контроллер, который, как сторож, проверяет, нужно ли подавать электричество на остальные устройства внутри компьютера. 

Нажали кнопку включения

После нажатия кнопки включения системный контроллер получает от неё сигнал и говорит блоку питания: «Мне нужно больше тока». Блок начинает полноценно работать и подаёт полноценное питание на материнскую плату и остальные компоненты — теперь начинают работать все основные компоненты компьютера:

  • процессор,
  • оперативная память,
  • микросхемы BIOS или UEFI (про них позже),
  • жёсткий диск.

Когда всё это заработало, системный контроллер берёт содержимое микросхемы BIOS, загружает его в оперативную память и говорит «Ну всё, дальше ты». С этого момента управление компьютером переходит к BIOS.

Загрузился BIOS

BIOS — это аббревиатура от Basic Input/Output System, базовая система ввода-вывода. Она отвечает за первоначальную загрузку компьютера. Все данные BIOS хранятся в отдельной микросхеме на материнской плате, а чтобы настройки не пропали после отключения от розетки, ставят батарейку. Если питания от сети не будет, батарейка будет поддерживать память в микросхеме около 10 лет.

Как происходит загрузка компьютера
Микросхема BIOS рядом с батарейкой

Первое, что делает BIOS, — запускает POST (Power On Self Test), самотестирование при включении. Тест проверяет работу процессора, оперативной памяти, контроллеров, загрузчиков и всего остального оборудования, важного для загрузки компьютера. Если всё в порядке, то компьютер пропищит один раз и продолжит загрузку — так он сообщает о результатах тестирования. А если будут ошибки — пропищит иначе, например:

  • короткий и длинный — ошибка с оперативной памятью;
  • длинный и 2 коротких — проблемы с видеокартой;
  • постоянно длинный и короткий гудки — что-то с процессором;
  • всё время пищит — ошибки с блоком питания.

Когда POST пройден, BIOS начинает искать загрузчик операционной системы. Для этого он смотрит у себя в настройках порядок загрузки — список дисков по очереди, с которых можно загрузиться. Например, вот порядок загрузки на экране BIOS компьютера Lenovo. Видно, что сначала нужно попробовать загрузиться с USB (первые три строчки), потом, если USB-дисков нет, — с жёсткого диска (п. 4), а если и диска нет — то попробовать с CD-дисковода или загрузиться по сети:

Как происходит загрузка компьютера
Порядок загрузки на экране BIOS компьютера Lenovo. Если нигде загрузчика не будет, BIOS остановится и выдаст ошибку

Как только загрузчик найден, BIOS считывает его код и передаёт ему всё дальнейшее управление компьютером.

Немного про UEFI

У BIOS есть проблема — устаревший интерфейс и мало возможностей для настроек компьютера. Чтобы это исправить, придумали UEFI — мини-операционную систему, которая так же, как и BIOS, может управлять основными настройками, но ещё обладает дополнительными возможностями. Например, у неё есть полноценный графический интерфейс с мышкой, расширенные возможности по настройке устройств и более полный доступ к возможностям железа. 

Основное отличие от BIOS в том, что UEFI требуется больше памяти для первоначальных программ загрузки компьютера. Для этого UEFI забирает себе первые 100 мегабайт на диске и берёт эти данные оттуда, а сам раздел делает скрытым. 

Как происходит загрузка компьютера

Работа загрузчика

Загрузчик — это сборное название всех программ и драйверов, которые понадобятся операционной системе для полноценной загрузки. 

Можно провести такую аналогию: операционная система — это строительная бригада, которая может сделать что угодно. Но для её работы нужен менеджер, чтобы он заранее съездил к заказчику, выяснил, что нужно сделать, составил смету, закупил материалы и прикинул график работ. Загрузчик — это как раз тот самый менеджер, который делает все предварительные работы. Если менеджер не сделает свою часть, бригада не сможет приступить к работам.

Сам загрузчик находится на жёстком диске, и как только BIOS его находит и отправляет в оперативную память, загрузчик начинает действовать:

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

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

Запуск ядра операционной системы

Если процесс загрузки дошёл до этой точки, то компьютер понимает, что скоро загрузится операционная система, а значит, можно показать пользователю стартовый экран. На Windows он выглядит так:

Как происходит загрузка компьютера

Пока крутится индикатор загрузки, ядро занимается тем, что загружает и запускает все служебные программы и скрипты:

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

Смысл ядра — запустить все программы, которые будут нужны для дальнейшей работы операционной системы. В нашей аналогии со строительной бригадой, ядро — это прораб, который находится всё время на объекте от начала работ до их полного окончания. Прораб следит за ключевыми процессами и вмешивается, если что-то идёт не так. Ядро действует точно так же: обеспечивает работоспособность всей ОС и регулирует ключевые процессы.

Вход пользователя в систему

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

Как происходит загрузка компьютера

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

И всё.

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Рекламный блок «Яндекс Практикума»
Этот рекламный блок сообщает, что после обучения в «Яндекс Практикуме» вы можете получить высокооплачиваемую работу разработчика, тестировщика, аналитика, менеджера и дата-сайентиста.
В конце кнопка
Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума» Рекламный блок «Яндекс Практикума»
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Роман Халкечев, руководитель отдела аналитики в Яндекс.Еде и Лавке
Роман Халкечев, руководитель отдела аналитики в Яндекс.Еде и Лавке

Часть 2: о Яндекс.Еде и Лавке, аналитических задачах и оптимизации бизнеса на основе данных.

easy
Декомпозиция задач: что это и зачем нужно
Декомпозиция задач: что это и зачем нужно

И как сделать так, чтобы всё шло по плану.

easy
Торренты: как они устроены

Сага о тех, кто качает по кусочкам.

easy
Как Вселенная может влиять на наши компьютеры
Как Вселенная может влиять на наши компьютеры

Почему электроника иногда даёт сбой сама по себе

medium
Как работает шумоподавление в наушниках
Как работает шумоподавление в наушниках

Противофаза, дай мне силу.

easy
Собираем макропад для повышения эффективности работы

Для игр тоже подойдёт

medium
Как отправить JSON-данные на сервер
Как отправить JSON-данные на сервер

Первый шаг на пути к облачному хранению данных.

medium
Зачем нужна командная строка в современных компьютерах

Разбираемся на Маках и Винде.

medium
Что такое обратная разработка
Что такое обратная разработка

актобарзар яантарбо еокат отЧ

medium
Vue.js — конструктор для веб-приложений
Vue.js — конструктор для веб-приложений

Переходим на новый уровень программирования

medium
medium