Какое программное обеспечение должно находиться в оперативной памяти после загрузки компьютера

Обновлено: 17.05.2024

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

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

Этот процесс загрузки отлично подходит для прикладных программ, но как загружается сама ОС? При первом включении компьютера основная память не содержит допустимых битов. Сама операционная система должна быть загружена с жесткого диска в основную память. Это похоже на уловку-22! Решение — последовательная последовательность все больших и больших программ загрузки, которые загружают ОС.

Программа запуска

Очень маленькая программа запуска хранится в специальной области памяти компьютера, которая сохраняет свое значение даже при выключении компьютера. Эту память часто называют флэш-памятью или памятью BIOS. Аппаратное обеспечение компьютера предназначено для автоматического запуска программных инструкций из этой памяти (а НЕ из основной памяти, которая в этот момент будет содержать ерунду). Крошечная программа содержит достаточно инструкций для инициализации оборудования компьютера, отображения чего-либо на мониторе и загрузки небольшого количества битов из определенного места на жестком диске (загрузочный сектор). Пока эта крошечная программа загружает биты загрузочного сектора в основную память, она отображает несколько информационных сообщений на мониторе компьютера (или, возможно, через какое-то другое средство связи, если на компьютере нет монитора).

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

Загрузочная программа

Биты из загрузочного сектора жесткого диска образуют большую программу, содержащую достаточно инструкций для загрузки остальной части операционной системы. Как только крошечная стартовая программа, описанная выше, загрузится в загрузочный сектор, она немедленно переведет ЦП на эту новую программу. Программа загрузки обычно специфична для операционной системы, поскольку она запускает определенную операционную систему, хотя некоторые операционные системы предоставляют программу загрузки, называемую «загрузчиком», которая позволяет пользователю выбирать из ряда операционных систем, доступных на жестком диске компьютера. водить машину. Примером загрузчика является программа LILO, доступная в операционной системе Linux.

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

I, Включение компьютера

При запуске компьютера из выключенного состояния (холодная загрузка) или при его перезагрузке из-за того, что программа обнаружила ошибку, после которой не может восстановиться (горячая загрузка, например: [Control]+[Alt]+ [Удалить]) ваш компьютер выполнит ряд инициализаций, тестов и загрузок, называемых загрузкой. Boot — это сокращение от bootstrap, которое в прежние времена представляло собой ремешок, прикрепленный к верхней части ботинка, за который можно было потянуть, чтобы надеть ботинок. Отсюда и выражение «подтягиваться за бутсы». Точно так же утилиты начальной загрузки помогают компьютеру начать работу.

BIOS (базовая система ввода-вывода) отвечает за загрузку компьютера, предоставляя базовый набор инструкций и предоставляя компьютеру небольшой встроенный стартовый набор для запуска остального программного обеспечения с дискет (FDD) и жестких дисков. (жесткий диск). BIOS выполняет все задачи, которые необходимо выполнить во время запуска: POST. POST — это сокращение от самопроверки при включении, серия диагностических тестов, которые запускаются автоматически при включении компьютера. Фактические тесты могут различаться в зависимости от того, как настроен BIOS, но обычно POST тестирует ОЗУ, клавиатуру и дисководы. Если тесты пройдены успешно, компьютер загружается сам. Если тесты не пройдены, компьютер сообщает об ошибке, издавая серию звуковых сигналов и, возможно, отображая сообщение об ошибке и код на экране дисплея. Количество звуков указывает на ошибку, но отличается от одного BIOS к другому. Если тест положительный, BIOS переходит к загрузке операционной системы с FDD или HDD).

Кроме того, BIOS предоставляет интерфейс к основному оборудованию для операционной системы в виде библиотеки обработчиков прерываний, что позволяет выполнять весь код, необходимый для управления клавиатурой, экраном дисплея, дисководами, последовательной связью и рядом устройств. различных функций. Например, каждый раз, когда нажимается клавиша, ЦП (центральный процессор) выполняет прерывание для чтения этой клавиши. Это аналогично для других устройств ввода/вывода (последовательные и параллельные порты, видеокарты, звуковые карты, контроллеры жестких дисков и т. д.). Некоторые старые ПК не могут работать со всем современным оборудованием, потому что их BIOS не поддерживает это оборудование. Операционная система не может вызвать процедуру BIOS для ее использования; эту проблему можно решить, заменив BIOS на более новый, который поддерживает ваше новое оборудование, или установив драйвер устройства для оборудования.

BIOS обычно помещается в микросхему ПЗУ (постоянное запоминающее устройство), которая поставляется вместе с компьютером (часто ее называют ПЗУ BIOS). Это гарантирует, что BIOS всегда будет доступен и не будет поврежден, например, при отказе диска. Поскольку ОЗУ работает быстрее, чем ПЗУ, многие производители компьютеров разрабатывают системы таким образом, чтобы BIOS копировался из ПЗУ в ОЗУ при каждой загрузке компьютера. Это известно как затенение. Многие современные ПК имеют флэш-BIOS, а это значит, что BIOS записан на микросхему флэш-памяти, которую при необходимости можно обновить.

Для выполнения своих задач BIOS необходимо знать различные параметры (конфигурацию оборудования). Они постоянно сохраняются в небольшой части (64 байта) CMOS RAM (комплементарная память с произвольным доступом на основе оксидов металлов и полупроводников). Питание CMOS обеспечивается маленькой батарейкой, поэтому ее содержимое не потеряется после выключения ПК. Поэтому на борту есть аккумулятор и небольшая оперативная память, которая никогда (должна. ) не теряет свою информацию. Раньше память была частью микросхемы часов, а теперь она является частью высокоинтегрированной схемы (ИС). CMOS — это название технологии, которая требует очень низкого энергопотребления, поэтому батарея компьютера не используется слишком много. Собственно, на новых платах стоит не батарея, а аккумулятор (Ni_Cad в большинстве случаев). Подзаряжается каждый раз при включении компьютера. Если ваш CMOS питается от внешних батарей, убедитесь, что они находятся в хорошем рабочем состоянии. Также убедитесь, что они не протекают. Это может повредить материнскую плату. В противном случае ваша CMOS может внезапно «забыть» свою конфигурацию, и вы можете искать проблему в другом месте. В некоторых новых материнских платах используется технология Dallas Nov-Ram. Он избавляет от встроенной батареи: в чип вклеен литиевый элемент со сроком службы 10 лет.

Чтобы изменить параметры, с помощью которых BIOS настраивает ваш набор микросхем (интегральные схемы, содержащие основные функции материнской платы и платы расширения), вы будете использовать набор процедур, называемых НАСТРОЙКА. Первоначальный IBM PC настраивался с помощью DIP-переключателей (Dual-In-line Package), встроенных в материнскую плату. Правильная настройка DIP-переключателей ПК и XT была чем-то вроде тайного искусства. Переключатели/перемычки DIP (Dual-In-line Package) по-прежнему используются для конфигурации памяти и выбора тактовой частоты. Когда был представлен PC-AT, он включал в себя CMOS-память с питанием от батареи. Первоначально CMOS устанавливалась программой на диагностическом диске, однако более поздние клоны включали процедуры в BIOS, которые позволяли (пере)настраивать CMOS, если использовались определенные волшебные нажатия клавиш (например, [DEL]). К сожалению, по мере того, как чипсеты, управляющие современными ЦП, становились все более сложными, росло и разнообразие параметров, задаваемых в SETUP. Более того, между полдюжиной поставщиков BIOS, тремя десятками производителей чипсетов и большим количеством производителей материнских плат практически не стандартизирована терминология. Жалобы на плохую документацию материнской платы по параметрам SETUP очень распространены. Ситуацию усугубляет то, что некоторые параметры определяются поставщиками BIOS, другие - разработчиками чипсетов, третьи - разработчиками материнских плат, третьи - различными комбинациями вышеперечисленного. Параметры, предназначенные для использования при проектировании и разработке, смешиваются с параметрами, предназначенными для настройки техническими специалистами.

BIOS ПК, поддерживающий работу с устройствами Plug-and-Play (PnP), известен как PnP BIOS или BIOS с поддержкой PnP. Plug-and-play относится к способности компьютерной системы автоматически конфигурировать платы расширения и другие устройства. Вы должны иметь возможность подключить устройство и играть с ним, не беспокоясь о настройке DIP-переключателей, перемычек и других элементов конфигурации. PnP BIOS всегда реализуется с использованием флэш-памяти, а не ПЗУ. ESCD — это сокращение от Extended System Configuration Data, формата для хранения информации об устройствах Plug-and-Play (PnP) в BIOS. Windows и BIOS получают доступ к области ESCD каждый раз, когда вы перезагружаете компьютер. SCAM — это сокращение от SCSI Configuration Automatically, подмножество спецификации PnP, которая обеспечивает поддержку plug-and-play для устройств SCSI.

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

II, Типы программного обеспечения

Программное обеспечение – это компьютерные инструкции или данные. Все, что может храниться в электронном виде, является программным обеспечением. Различие между программным и аппаратным обеспечением иногда сбивает с толку, потому что они неразрывно связаны. Понятно, что когда вы покупаете программу, вы покупаете программное обеспечение. Но чтобы купить ПО, нужно купить диск (железо), на котором записано ПО. Без программного обеспечения компьютер — это просто черный ящик электронного оборудования, не способного выполнять какие-либо полезные функции. Программное обеспечение сообщает компьютеру, что и когда делать.

Операционную систему иногда называют «первой программой», позволяющей запускать другие программы. Однако обычно он хранится в виде файла (или, чаще, набора файлов) на диске. Как запускается эта «первая» программа?

PDP-11 /70 передняя панель

Передняя панель PDP–11/70

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

Когда вы включаете компьютер, его память обычно не инициализируется. Следовательно, нечего бегать. Ранние компьютеры имели аппаратное обеспечение, которое позволяло оператору нажатием кнопки загружать последовательность байтов с перфокарт, перфоленты или ленточного накопителя. Переключатели на передней панели компьютера будут определять источник данных и целевой адрес памяти. В некоторых случаях программное обеспечение загрузчика было жестко подключено как энергонезависимая память (на ранних компьютерах это была сетка проводов с разрезами в соответствующих местах, где требовался 0-бит).

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

В более поздних системах постоянная память будет содержать небольшой загрузчик, обладающий базовыми интеллектуальными возможностями для чтения, скажем, первого сектора (512 байт) диска.

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

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

Чтобы конкретизировать пример процесса загрузки, давайте взглянем на 32-разрядные Intel-совместимые ПК (через некоторое время мы перейдем к 64-разрядным системам). Эта архитектура известна как IA-32 (32-разрядная архитектура Intel) и определяет набор инструкций большинства микропроцессоров Intel, начиная с Intel 80386, представленного в 1986 году. Она по-прежнему поддерживается в новейших процессорах Intel.

Ожидается, что ПК на базе IA-32 будет иметь BIOS (базовую систему ввода/вывода, которая включает прошивку загрузчика) в энергонезависимой памяти (в прошлом ПЗУ и флэш-память NOR в наши дни). BIOS является потомком BIOS ранних систем CP/M, поскольку содержит низкоуровневые функции для доступа к некоторым базовым системным устройствам, таким как дисковый ввод-вывод, чтение с клавиатуры и доступ к видеодисплею. Он также содержит код для загрузки загрузчика этапа 1.

Когда ЦП сбрасывается при запуске, компьютер начинает выполнение в ячейке памяти 0xffff0 (архитектура IA–32 использует форму адресации сегмент:смещение; сегмент кода устанавливается на 0xf000, а указатель инструкции устанавливается на fff0 ) .

Процессор запускается в реальном режиме, что дает ему доступ только к 20-битному адресному пространству памяти и обеспечивает прямой доступ к вводу-выводу, прерываниям и памяти (в игру вступают 32-битная адресация и виртуальная память). при переключении процессора в защищенный режим). Адрес 0xffff0 фактически находится в конце ПЗУ BIOS и содержит инструкцию перехода в область BIOS, содержащую код запуска.

При запуске BIOS выполняет следующую последовательность действий:

  1. Самопроверка при включении питания (POST)
  2. Определить BIOS видеокарты (чипа) и выполнить его код для инициализации видеооборудования.
  3. Обнаружение любых других BIOS устройств и вызов их функций инициализации
  4. Отображение начального экрана BIOS
  5. Выполните краткий тест памяти (узнайте, сколько памяти в системе)
  6. Установите параметры памяти и накопителя
  7. Настройка устройств Plug & Play (обычно устройств с шиной PCI)
  8. Назначить ресурсы (каналы DMA и IRQ)
  9. Определить загрузочное устройство

Когда BIOS идентифицирует загрузочное устройство (обычно это один из нескольких дисков, помеченных как загрузочный диск), он считывает блок 0 с этого устройства в ячейку памяти 0x7c00 и переходит туда.

Этап 1: основная загрузочная запись

  • Загрузчик первого этапа (≤ 440 байт)
  • Подпись диска (4 байта)
  • Таблица разделов диска, которая определяет отдельные области диска (16 байт на раздел × 4 раздела)

Этап 2: Загрузочная запись тома

После того как BIOS передает управление началу MBR, который был загружен в память, код MBR просматривает свою таблицу разделов и загружает загрузочную запись тома (VBR) для этого раздела. VBR — это последовательность последовательных блоков, начиная с первого блока диска назначенного раздела. Первый блок VBR идентифицирует тип и размер раздела и содержит начальный загрузчик программы (IPL), который представляет собой код, загружающий дополнительные блоки, составляющие загрузчик второй ступени. В системах, производных от Windows NT (например, Windows Server 2012, Windows 8), IPL загружает программу NTLDR, которая затем загружает операционную систему.

Одна из причин, по которой низкоуровневым загрузчикам сложно загрузить полную ОС, особенно такую, которая может состоять из нескольких файлов, заключается в том, что для этого требуется возможность анализировать структуру файловой системы. Это означает понимание того, как располагаются каталоги и имена файлов и как найти блоки данных, соответствующие конкретному файлу. Без большого количества кода гораздо проще просто читать последовательные блоки. Загрузчик более высокого уровня, такой как Microsoft NTLDR, может читать форматы файлов NTFS, FAT и ISO 9660 (CD).

За пределами Windows

Существует множество вариантов загрузки других операционных систем на ПК с процессором Intel. Одним из популярных загрузчиков в системах Linux является GRUB или GRand Unified Bootloader. GRUB также является многоэтапным загрузчиком. BIOS, разумеется, делает то же, что и всегда: идентифицирует загрузочное устройство, загружает основную загрузочную запись и передает управление этому только что загруженному коду. В GRUB MBR обычно содержит загрузчик первого этапа, называемый GRUB Stage 1. Этот загрузчик этапа 1 загружает GRUB Stage 2. Загрузчик этапа 2 предоставляет пользователю выбор операционных систем для загрузки и позволяет пользователю указать любую дополнительные параметры загрузки для этих систем (например, установить максимальный объем памяти, включить отладку). Затем он считывает ядро ​​выбранной операционной системы и передает ему управление.

Особая проблема с использованием GRUB для загрузки Windows заключается в том, что Windows не совместима с мультизагрузкой. Мультизагрузка — это спецификация Free Software Foundation по загрузке нескольких операционных систем с использованием одного загрузчика. В этом случае GRUB имитирует обычный процесс загрузки Windows. Он загружает загрузчик, который обычно находится в MBR (или запускает программу меню загрузки Windows). С этого момента GRUB исчезает, Windows понятия не имеет, что произошло, и вступает во владение собственный процесс загрузки Windows.

До свидания, BIOS. Здравствуй, UEFI

Поскольку 64-разрядные архитектуры пришли на смену 32-разрядным, BIOS стал выглядеть довольно устаревшим. Intel намеревалась создать спецификацию преемника BIOS, в котором не было бы ограничений на выполнение кода запуска в 16-битном режиме с 20-битной адресацией. Эта спецификация называется Unified Extensible Firmware Interface или UEFI. Хотя он разработан Intel, с 2005 года им управляет Unified EFI Forum. Он используется во многих новых 64-разрядных системах, включая Mac, которые также имеют устаревшую поддержку BIOS для запуска Windows.

Загрузка с UEFI

Благодаря UEFI больше нет необходимости в основной загрузочной записи для хранения загрузчика этапа 1; UEFI умеет анализировать файловую систему и загружать файл сам по себе, даже если этот файл не занимает смежные блоки диска. Вместо этого UEFI считывает таблицу разделов GUID (глобальный уникальный идентификатор) (GPT), которая находится в блоках сразу после блока 0 (где MBR все еще находится по устаревшим причинам). GPT описывает структуру таблицы разделов на диске. Исходя из этого, загрузчик EFI идентифицирует системный раздел EFI. Этот системный раздел содержит загрузчики для всех операционных систем, установленных на других разделах устройства.Для систем Windows с поддержкой EFI UEFI загружает Диспетчер загрузки Windows (bootmgfw.efi). Для более старых 64-разрядных систем NT EFI загружал IA64ldr. Для Linux есть много вариантов. Двумя распространенными способами являются использование EFI-совместимой версии GRUB (Grand Unified Bootloader) и загрузка файла, такого как grub.efi, или загрузка EFI load load elilo.efi, загрузчик EFI.

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

Все наше обсуждение до сих пор было сосредоточено на загрузке с архитектурой на базе ПК Intel (включая архитектуры, совместимые с IA-32/IA-64, например, от AMD). Это доминирующая архитектура в современных ПК (от ноутбуков до серверов), но существует очень много устройств не Intel, особенно во встроенных устройствах, таких как сотовые телефоны. А что с ними?

Существует множество реализаций процесса загрузки. Многие встроенные устройства не загружают операционную систему, но уже хранят ее в энергонезависимой памяти (например, во флэш-памяти или ПЗУ). Те, которые загружают ОС, такие как телефоны Android на базе ARM, например, будут выполнять код в постоянной памяти (обычно во флэш-памяти NOR), когда устройство включено. Этот загрузочный код встроен в ASIC ЦП на некоторых устройствах, поэтому вам не нужна отдельная микросхема флэш-памяти на плате.

При перезагрузке системы (включая включение питания) процессор находится в режиме супервизора (SVC), а прерывания отключены. В системах на базе ARM процессор начинает выполнение по адресу 0x00000000. Флэш-память, содержащая код запуска, отображается на адрес 0x00000000 при сбросе. Этот код выполняет различные инициализации, включая настройку таблицы векторов исключений в DRAM и копирование кода приложения из ROM в DRAM (в DRAM код выполняется быстрее). Код переназначает DRAM на адрес 0, тем самым скрывая флэш-память (процессор имеет бит REMAP для изменения отображения флэш-памяти). Затем инициализируется система памяти. Это включает в себя настройку защиты памяти и настройку системных стеков. Затем инициализируются устройства ввода/вывода, а процессор переключается в пользовательский режим. Загрузочная прошивка обнаруживает загрузочный носитель, загружает и запускает загрузчик второго уровня (при необходимости). Загрузчик второго этапа часто представляет собой GRUB для больших систем или uBoot для встроенных систем. Этот загрузчик второго этапа загружает операционную систему и передает ей управление.

Старые версии систем Apple Macintosh на базе PowerPC, начиная как минимум с OS 8, а также с OS X, основывались на Open Firmware. Открытая прошивка была разработана Sun и использовалась в компьютерах, отличных от Intel Sun. Как только Apple перешла на системы Intel, она приняла UEFI в качестве встроенного ПО на уровне загрузки.

Старые компьютеры Mac

Открытая прошивка хранится в ПЗУ и, как и BIOS ПК, запускается при включении питания. Поскольку Open Firmware была разработана как независимая от платформы, она реализована на Forth (простой язык на основе стека) и скомпилирована в байт-коды, а не в машинные инструкции. Прошивка содержит интерпретатор байт-кода.

В отличие от BIOS, Open Firmware предоставляет пользователю процессор командной строки, из которого можно редактировать параметры конфигурации системы, такие как уменьшение объема физической памяти, отладка системы или даже запуск сервера telnet, чтобы вы могли взаимодействовать с прошивкой и процессом загрузки с удаленного компьютера через соединение Ethernet.

Перед загрузкой операционной системы Open Firmware создает дерево устройств, исследуя компоненты на основной плате и устройствах расширения.

Как и BIOS ПК, Open Firmware содержит драйверы устройств, которые в процессе загрузки встроенного ПО могут использоваться для доступа к диску, клавиатуре, монитору и сети. Однако все эти драйверы реализованы в FCode, системе байт-кода Forth. Также как и BIOS, эти драйверы используются только в процессе загрузки. Сама операционная система имеет собственные драйверы среды выполнения.

В отличие от BIOS, Open Firmware может анализировать файловые системы HFS/HFS+ (исходная файловая система на компьютерах Mac), поэтому вы можете использовать интерпретатор команд Open Firmware для загрузки загрузочного файла с жесткого диска и его запуска. По умолчанию Open Firmware загружает файл из системного раздела. В системах OS 9 это был файл с именем «Mac OS ROM» в папке System. В системах OS X он загружает /System/Library/CoreServices/BootX. BootX — это загрузчик, который затем загружается в ядро.

Макинтош сегодня

Mac использует UEFI для своей системной прошивки.

При запуске Mac первым выполняется код BootROM. При этом устанавливаются драйверы EFI для соответствующих аппаратных устройств, инициализируются некоторые аппаратные интерфейсы, проверяется наличие достаточного объема памяти и выполняется краткая самопроверка при включении питания.В отличие от BIOS ПК, который ничего не знал о файловых системах и мог только читать необработанные блоки диска, UEFI на Mac был расширен для анализа файловых систем FAT (устаревшие DOS/Windows) и HFS+ (родной Mac) на диске. Он считывает GPT (таблицу разделов GUID) для идентификации разделов диска. Загрузочный том по умолчанию хранится в NVRAM.

Вместо указания пути к загрузчику заголовок тома HFS+ (данные в начале файловой системы HFS+) указывает на благословенный файл или благословенный каталог (см. команду bless. Если каталог благословлен, это указывает прошивке EFI искать в этом каталоге загрузчик. Если файл благословлен, это указывает прошивке EFI загружать этот файл в качестве загрузчика (есть дополнительные варианты, такие как загрузка с несмонтированного тома).

По умолчанию загрузчик находится в /System/Library/CoreServices/boot.efi в корневом (часто единственном) разделе диска.

Кроме того, прошивка поддерживает загрузку загрузчика второго уровня или ядра с сетевого сервера (сервера сетевой загрузки).

При загрузке файла boot.efi на экране компьютера отображается металлический логотип Apple. Загрузчик загружает ядро, а также основные расширения драйверов, которые затем запускают launchd, выполняющий различные сценарии и программы запуска. После загрузки ядра под логотипом Apple появляется вращающаяся шестеренка. Когда ядро ​​запускает первый процесс, launchd, экран становится синим.

Описание запуска OS X можно найти в статье Что такое Mac OS X.

Для поддержки загрузки операционных систем на основе BIOS, таких как более старые системы Windows и системы Linux, использующие GRUB или другие загрузчики с поддержкой BIOS, EFI устанавливает компонент «модуль поддержки совместимости» (CSM) из микропрограммы системы. Затем запускается процесс загрузки на основе BIOS. Этот модуль поддержки совместимости загружается только тогда, когда пользователь выбирает Windows в качестве операционной системы по умолчанию для загрузки. Процесс загрузки теперь представляет собой стандартную загрузку на основе BIOS. Основная загрузочная запись (MBR) загружается и выполняется, которая затем находит и загружает загрузочную запись тома раздела Windows (или Linux).

Справочники по загрузке Mac

Ссылки на Mac OS X:

    , Справочная библиотека Mac OS X, Apple Inc. , Справочная библиотека Mac OS X, Apple Inc. , HT2674, Apple Inc. , © 2007 Apple Inc. , Проект rEFIt Sourceforge

Это обновленная версия исходного документа, написанного 14 сентября 2010 г.

© 2003-2015 Пол Кржижановский. Все права защищены.

С вопросами или комментариями по этому сайту обращайтесь к Полу Кржижановски, gro.kp@ofnibew

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

Любые мнения, выраженные на этой странице, не обязательно отражают мнение моих работодателей и могут даже не отражать мое собственное.

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

Обзор процесса загрузки


Процесс загрузки происходит каждый раз, когда вы включаете компьютер. Вы этого не видите, потому что это происходит так быстро. Вы нажимаете кнопку питания, возвращаетесь через несколько минут, и Windows XP, или Windows Vista, или любая другая операционная система, которую вы используете, загружается.

Микросхема BIOS указывает ему искать в фиксированном месте, обычно на жестком диске с наименьшим номером (загрузочный диск), специальную программу, называемую загрузчиком (в Linux загрузчик называется Grub или LILO). Загрузчик загружается в память и запускается. Задача загрузчика — запустить настоящую операционную систему.

Функции BIOS

POST (самотестирование при включении) Самотестирование при включении выполняется каждый раз, когда вы включаете компьютер. Звучит сложно, потому что так оно и есть. Ваш компьютер делает так много, когда он включен, и это только часть этого.

Он инициализирует различные аппаратные устройства. Это важный процесс, обеспечивающий бесперебойную работу всех устройств без каких-либо конфликтов. BIOS, следующие за ACPI, создают таблицы, описывающие устройства в компьютере.

Сначала POST проверяет BIOS, а затем тестирует CMOS RAM.Если с этим проблем нет, POST продолжает проверять ЦП, аппаратные устройства, такие как видеокарта, дополнительные устройства хранения, такие как жесткий диск, дисководы гибких дисков, Zip-диск или дисководы CD/DVD. Если обнаружены какие-либо ошибки, то на экране отображается сообщение об ошибке или раздается несколько звуковых сигналов. Эти звуковые сигналы известны как звуковые коды POST.

Главная загрузочная запись

Главная загрузочная запись (MBR) — это небольшая программа, которая запускается при загрузке компьютера для поиска операционной системы (например, Windows XP). Этот сложный процесс (называемый процессом загрузки) начинается с POST (самотестирование при включении питания) и заканчивается, когда Bios ищет MBR на жестком диске, который обычно находится в первом секторе, первой головке, первом цилиндре (цилиндр 0). , головка 0, сектор 1).

Типичная структура выглядит следующим образом:


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

инициализировать

  • 5 –> Полный многопользовательский режим с сетью и X display manager

Приведенный выше дизайн init называется SysV, что произносится как System Five. На данный момент написано несколько других реализаций init. Некоторые из популярных реализаций — это systemd и upstart. Upstart используется в Ubuntu с 2006 года. Более подробную информацию о выскочке можно найти здесь.

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

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

Читайте также: