Загрузка

редактировать

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

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

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

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

Boot - это сокращение от bootstrap или bootstrap load и происходит от фразы , чтобы подтянуться за свои бутстрапы. Использование загруженного программного обеспечения, согласно которому, если большая часть программного обеспечения загружается на другой компьютер, уже запущенным на компьютере, требуется какой-то механизм для загрузки исходного программного обеспечения на компьютер. Ранние используемые специальные методы для загрузки небольшой программы в память для решения этой проблемы. Изобретение постоянной памяти (ROM) различных типов разрешило этот парадокс, позволяющий поставлять компьютеры с помощью программы запуска, которую невозможно стереть. Возможности ROM позволили реализовать все более сложные процедуры запуска.

Содержание

  • 1 История
    • 1.1 Примеры предустановленных ПЗУ
      • 1.1.1 Первые компьютеры
      • 1.1.2 Первые коммерческие компьютеры
      • 1.1.3 IBM System / 360 и последующие
      • 1.1. 4 Миникомпьютеры
        • 1.1.4.1 Первые примеры загрузчика миникомпьютеров
      • 1.1.5 Загрузка первых микрокомпьютеров
    • 1.2 Эпоха памяти только для чтения на интегральных схемах
  • 2 Современные загрузчики
    • 2.1 Первый -стадийный загрузчик
    • 2.2 Загрузчик второго уровня
    • 2.3 Загрузка по сети
  • 3 Персональные компьютеры (ПК)
    • 3.1 Загрузочные устройства
    • 3.2 Последовательность загрузки
  • 4 Другие виды последовательностей загрузки
  • 5 См. Также
  • 6 Примечания
  • 7 Ссылки

История

Переключатели и кабели, используемые для программирования ENIAC (1946)

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

Примеры ПЗУ на интегральных схемах

Ранние компьютеры

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

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

Первые коммерческие компьютеры

Первые программируемые компьютеры для коммерческой продажи, такие как UNIVAC I и IBM 701, включающие функции, упрощающие их работу. Обычно они включаются инструкции, выполняющие полное ввод или вывод. Та же аппаратная логика 1 Введение в программу ввода перфокарты (наиболее типичные) или другого носителя ввода, такого как магнитный барабан или магнитная лента, который содержит программу начальной загрузки нажатием одной кнопки. Эту концепцию загрузки называли по-разному для компьютеров IBM 1950-х и начала 1960-х, но IBM использовала термин «начальная загрузка программы» с IBM 7030 Stretch, а затем использовала его. для своих линий мэйнфреймов, начиная с System / 360 в 1964 году.

Перфокарта начальной загрузки программы для IBM 1130 (1965)

IBM 701 компьютер (1952–1956) имел кнопку «Загрузить», которая инициировала чтение первого 36 -битного слова в основную память с перфокарты. в устройстве чтения карт , на магнитной ленте в ленточном накопителе или на магнитном барабане, в зависимости от положения переключателя выбора нагрузки. Затем левое 18-битное полуслово выполнялось как инструкция, которая обычно считывала дополнительные слова в память. Затем была выполнена загрузка программы, которая в свою очередь, загрузила более крупную программу с этого носителя в память без дополнительной помощи человека-оператора. Термин «загрузка» используется в этом смысле по крайней мере с 1958 года.

Консоль IBM System / 3 1970-х годов. Селекторный переключатель программ находится внизу слева; Переключатель загрузки программы находится внизу справа.

Другие компьютеры IBM той эпохи имели аналогичные функции. Например, система IBM 1401 (c. 1958) использовала кардридер для загрузки программ с перфокарты. 80 символов, хранящиеся на перфокарте, считывались в ячейку памяти с 001 по 080, затем компьютер переходил в ячейку памяти 001, чтобы прочитать свою первую сохраненную команду. Эта инструкция всегда была одной и той же: переместить информацию из этих 80 ячеек памяти в область сборки, где информация на перфокартах 2, 3, 4 и так далее может быть объединена для формирования сохраненной программы. Как только эта информация будет перемещена в зоне сборки, машина перейдет к инструкции в ячейке 080 (чтение карты), и следующая карта считана, а ее информация будет обработана.

Другим примером был IBM 650 (1953), десятичный аппарат на панели управления которого была группа из десяти-позиционных переключателей, которые можно было адресовать как память (адрес 8000) и может как инструкция. Таким образом, установка переключателей на устройство 7004000400 и устройства к устройству считывания кнопки устройства к считыванию первой карты устройства чтения карт в память (код операции 70), начиная с устройства 400, а перейдет к 400, чтобы начать выполнение на этой карте.

Конкуренты IBM также предлагали загрузку программ одной кнопкой.

  • CDC 6600 (около 1964 г.) имела панель мертвого старта со 144 тумблерами; выключатель мертвого пуска ввел 12 слов с тумблеров в память периферийного процессора (PP) 0 и инициировал последовательность запуска. PP 0 загрузил необходимый код в свою память, а затем инициализировал другие PP.
  • GE 645 (ок. 1965 г.) имеет кнопку «SYSTEM BOOTLOAD», при нажатии которой один из контроллеров ввода / вывода для загрузки программы из 64 слов в память из диода Запуск этой программы постоянной памяти и выдачи прерывания.
  • Первая модель на PDP-10 была кнопка «READ IN», при нажатии на которую она сбрасывала процессор и запускает ввод / вывод на устройстве, указанном переключателями на панели управления, считывая 36- битный слово, дающее адрес и счетчик чтений слова; когда чтение завершилось, процессор начал выполнять считанный код, перейдя к последнему считанному слову.

Заслуживающий внимания вариант этого можно найти в Burroughs B1700, где не является ни загрузочным ПЗУ, ни аппаратной операцией IPL. Вместо этого после сброса системы считывания и выполнения операций панели с ленточного накопителя, установленного на передней панели; это устанавливает загрузчик в ОЗУ, который затем запускается. Однако, поскольку это предположение о системе, его также можно использовать для загрузки диагностических лент (процедура технического обслуживания), которые отображают понятный код на передней панели даже в случае серьезного сбоя ЦП.

IBM System / 360 и последователи

В IBM System / 36066>и его преемниках, включая текущие машины z / Architecture, загрузочный процесс известен как Загрузка начальной программы (IPL).

IBM придумала этот термин для 7030 (Stretch), возродила его для дизайна System / 360 и продолжает использовать его в этих средах сегодня. В процессоре System / 360 IPL последующим оператором компьютера является устройство адресации устройства из трех шестнадцатеричных цифр (CUU; C = адрес канала выбора ввода-вывода, UU = блок управления и адрес устройства ввода-вывода) с нажатием кнопки LOAD. В моделях верхнего уровня System / 360, большинство System / 370 и некоторых более поздних уровней системы функций переключателей и кнопки ЗАГРУЗИТЬ имитируются с использованием выбираемых областей на экране графического изображения. консоль, часто это IBM 2250 -подобное устройство или IBM 3270 -подобное устройство. Например, в System / 370 Model 158 последовательность клавиш 0-7-X (ноль, семь и X в этом порядке) приводит к IPL-адресу устройства, который был введен в область ввода. Амдал 470V / 6 и связанные с ним ЦП поддерживали четыре шестнадцатеричных цифры на тех ЦП, в которых был установлен дополнительный блок второго канала, всего 32 канала. Позже IBM также будет поддерживать более 16 каналов.

Функция IPL в System / 360 и его преемниках, а также в его совместимых устройствах, таких как Amdahl, считывает 24 байта из оператором в оперативную память, начиная с реального адреса с нуля. Вторая группа из восьми байтов обрабатывается как командные слова канала (CCW) для продолжения запуска программы (CCW всегда моделируется ЦП и состоит из команды чтения IPL, 02h, цепочка команд и подавление принудительного указания неверной длины). Когда команды ввода-вывода завершены, первая группа из байтов загружается в слово состояния программы восьми процессора (PSW), и программа запускает выполнение в указанном PSW. Устройство IPL обычно представляет собой дисковод, отсюда особое значение команды чтения 02h, но такая же процедура также используется для IPL с других устройств ввода, таких как ленточные накопители или даже устройства чтения карт., независимо от устройства, что позволяет, например, установить операционную систему на новый компьютер с магнитной ленты начального распространения ОС. Для дисковых контроллеров команда 02h также заставляет выбранное устройство искать цилиндр 0000h, головку 0000h, имитируя команду поиска цилиндра и головки, 07h, и искать запись 01h, имитация команды Search ID Equal, 31ч; Поиск и поиск не моделируют контроллерами лент и карт, поскольку для этих классов устройств команда 02h является просто командой последовательного чтения, а не командой чтения IPL.

Диск, лента или колода карт должны содержать специальную загрузку для фактической операционной системы или автономной утилиты в хранилище, и для этой конкретной цели «Текст IPL» помещается на диск автономной программой DASDI (инициализация устройства с прямым доступом) или эквивалентная программа, работающая под управлением операционной системы, например ICKDSF, но ленты и колоды карт с помощью IPL обычно распространяются с уже присутствующим «текстом IPL».

Миникомпьютеры

Передняя панель PDP-8 / E, на которой показаны переключатели, используемые для загрузки программы начальной загрузки

Миникомпьютеры, начиная с Digital Equipment Corporation (DEC) PDP-5 и PDP-8 (1965) упрощенная конструкция за счет использования ЦП для операций ввода и вывода. Это сэкономить средства, но сделало загрузку более сложной, чем с помощью одной кнопки. Миникомпьютеры обычно имели возможность переключаться в коротких программах с помощью набора переключателей на передней панели. Временные миникомпьютеры использовали память на магнитных сердечниках, которая не теряла свою информацию при отключении питания, эти загрузчики оставались на месте, если их не стереть. Стирание иногда происходило случайно, когда ошибка программы вызывала цикл, который перезаписывал всю память.

Другие миникомпьютеры с таким простым способом использовать серию серию Hewlett-Packard HP 2100 (середина 1960-х), оригинальный Data General Nova (1969) и DEC. ПДП-11 (1970).

DEC позже добавила дополнительную память диодную матрицу только для чтения для PDP-11, в которой хранилась программа начальным объемом до 32 слов (64 байта). Он состоял из печатной платы M792, которая подключалась к Unibus и содержала матрицу 32 на 16 полупроводниковых диодов. После установки всех 512 диодов в памяти были все «единицы»; карта была запрограммирована отключением каждого диода, бит которого должен быть "нулем". DEC продавала версию карты, BM792-Yx, также исключительные запрограммированные для многих устройств ввода, просто ненужные диоды.

Следуя более старому подходу, более ранняя PDP-1 имеет загрузчик оборудования, таким образом, оператору нужно использовать переключатель «загрузка», чтобы дать команду считвателю бумажной ленты загрузить программу непосредственно в основную память. Data General Supernova использовала переключатели на передней панели, чтобы компьютер автоматически загружал инструкции в память с устройства, заданного переключателями данных на передней панели, а затем переходил к загруженному коду; у Nova 800 и 1200 был переключатель, который загружает программу в основную память из постоянной памяти и переходил к ней.

Примеры загрузчика ранних миникомпьютеров

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

  1. Установить регистр P на 9
  2. Проверить готовность устройства чтения бумажной ленты
  3. Если не готов, перейти к 2
  4. Прочитать байт из устройства чтения бумажной ленты в аккумулятор
  5. Сохранить аккумулятор по адресу в регистре P
  6. Если конец ленты, перейти к 9
  7. Увеличить P
  8. Перейти к 2

Связанный пример основан на загрузчике для миникомпьютера Nicolet Instrument Corporation 1970-х годов, использующем устройство чтения-перфорации бумажной ленты на телетайпе Модель 33 ASR телетайп. Байты его загрузчика второй ступени считываются с бумажной ленты в обратном порядке.

  1. Установить регистр P на 106
  2. Проверить готовность устройства считывания бумажной ленты
  3. Если не готов, перейти к 2
  4. Считать байт из устройства чтения бумажной ленты в аккумулятор
  5. Сохранить накопитель по адресу в P
  6. Уменьшить значение регистра P
  7. Перейти к 2

Длина загрузчика второй ступени такова, что последний байт перезаписывает позицию 7. После выполнения инструкции в ячейка 6 ячейка 7 выполняет загрузчика второй ступени. Затем загрузчик второй стадии, пока более длинная лента с операционной системой будет помещена в устройство чтения ленты. Разница между загрузочным устройством и загрузочной ступенью заключается в использовании средства обнаружения ошибок чтения с бумажной лентой, которое часто используется при использовании недорогого оборудования, работающего неполного рабочего дня, такого как Teletype Model 33 ASR. (Friden Flexowriters были гораздо более надежными, но и относительно дорогими.)

Загрузка первых микрокомпьютеров

Самые ранние микрокомпьютеры, такие как Altair 8800 (впервые выпущены в 1975 году)) и даже более ранняя аналогичная машина (на базе процессора Intel 8008) не имеет оборудования для начальной загрузки как такового. При запуске ЦП будет видеть память, которая будет содержать исполняемый код, содержащий только двоичные нули - память была очищена сбросом при включении питания. На передних панелях этих машин были тумблеры для ввода адресов и данных, по одному переключателю на бит слова памяти компьютера и адресной шины. Простые дополнения к оборудованию позволяли загружать с этих переключателей одну ячейку памяти за раз для хранения кода начальной загрузки. Тем временем ЦП не мог пытаться выполнить содержимое памяти. После правильной загрузки ЦП был включен для выполнения кода начальной загрузки. Этот процесс был утомительным и не должен был содержать ошибок.

Эра памяти только для чтения на интегральных схемах

Intel 2708 EPROM «микросхема» на печатной плате.

Процесс загрузки для миникомпьютеров и микрокомпьютеров был революционизирован благодаря внедрению интегральной схемы постоянного запоминающего устройства (ПЗУ) с его многочисленными вариантами, включая программируемые по маске ПЗУ, программируемые ПЗУ (ППЗУ), стираемые программируемые ПЗУ (СППЗУ) и флэш-память. Они позволили включить прошивку загрузочные программы как часть компьютера. Введение (внешнего) ПЗУ произошло в итальянском разработчике телефонной коммутации, названном "Gruppi Speciali", запатентованном в 1975 г. Альберто Чьярамелла, исследователем из CSELT. Gruppi Speciali, начиная с 1975 года, представляла собой полностью однокнопочный компьютер, загружающий операционную систему из ПЗУ, состоящего из полупроводников, а не из ферритовых сердечников. Хотя устройство ПЗУ изначально не было встроено в компьютер Gruppi Speciali, из-за конструкции машины оно также позволяло однокнопочную загрузку ПЗУ на машинах, не предназначенных для этого (следовательно, это «устройство начальной загрузки» не зависело от архитектуры.), например PDP-11. Сохранение состояния машины после выключения также было на месте, что было еще одной важной функцией в конкурсе на переключение телефона.

Как правило, каждый микропроцессор после сброса или включения питания выполняет процесс запуска, который обычно принимает форму «начать выполнение найденного кода, начиная с определенного адреса» или «найти многобайтовый код по определенному адресу и перейти в указанное место, чтобы начать выполнение». Система, построенная с использованием этого микропроцессора, будет иметь постоянное ПЗУ, занимающее эти специальные места, так что система всегда начинает работать без помощи оператора. Например, процессоры Intel x86 всегда запускаются с выполнения инструкций, начинающихся с F000: FFF0, в то время как для процессора MOS 6502 инициализация начинается счтения двухбайтового адреса вектора в $ FFFD. (Байт MS) и $ FFFC (байт LS) и переход в это место для запуска начальной загрузки.

Первый компьютер Apple Inc., Apple 1, представленный в 1976 году, отличался Микросхемы PROM, которые устранили необходимость в передней панели для процесса загрузки (как в случае с Altair 8800) в коммерческий компьютер. Согласно объявлению Apple, в котором говорится: «Больше никаких переключателей, никаких огней... прошивка в PROMS позволяет вам вводить, отображать и отлаживать программы (все в шестнадцатеричном формате) с клавиатуры».

Из-за расходов Из памяти только для чтения в то время, Apple II загружает свои дисковые операционные системы, используя серию очень маленьких пошаговых шагов, каждый из которых передается управление следующей фазе постепенно более сложного процесса загрузки. (См. Apple DOS: Загрузчик ). Операционная система очень мало полагалась на ПЗУ, оборудование было так же гибким и поддерживало широкий спектр настраиваемых механизмов защиты диска от копирования. (См. Взлом программного обеспечения: История.)

Некоторые операционные системы, в первую очередь системы Macintosh до 1995 года выпуска Apple, настолько напрямую загрузить с операционной системы, отличную от стандартной. Это противоположная крайность сценария с использованием переключателей, упомянутых выше; он очень негибкий, но относительно безошибочный и надежный, пока все оборудование работает нормально. Распространенным решением в таких ситуациях является разработка загрузчика, который работает как программа, являющаяся стандартной ОС, которая захватывает систему и загружает альтернативную ОС. Этот метод был использован Apple для реализации A / UX Unix и скопирован бесплатными бесплатными системами и BeOS Personal Edition 5.

на некоторых машинах, таких как Atari ST микрокомпьютер был "мгновенным", при этой операционная система выполнялась из ПЗУ. Таким образом, извлечение ОС из вторичного или третичного хранилища было исключено как одна из характерных операций для начальной загрузки. Чтобы обеспечить автоматическую загрузку систем, аксессуаров и другого вспомогательного программного обеспечения, флоппи-дисковод, чтобы обеспечить наличие дополнительных компонентов в процессе загрузки. Была задержка тайм-аута, которая давала время на то, чтобы вставить дискету, пока система дополнительные компоненты. Этого можно было избежать, вставив чистый диск. Аппаратное обеспечение Atari ST также было спроектировано таким образом, чтобы слот для картриджей мог обеспечить выполнение программ для игровых целей в наследстве от унаследованных от Atari электронных игр; вставив картридж Spectre GCR с системным ПЗУ Macintosh в игровой слот и включив Atari, он мог «изначально загрузить» операционную систему Macintosh, не собственные TOS.

Atari. 83>Персональный компьютер IBM включал встроенное ПО на основе ПЗУ, называемое BIOS ; одной из функций этой прошивки было выполнение самотестирования при включении, когда машина была включена, а затем чтение программного обеспечения с загрузочного устройства и его выполнение. Прошивка, совместимая с BIOS на персональном компьютере IBM, используется в компьютерах, совместимых с IBM PC. Extensible Firmware Interface был разработан Intel, используем для компьютеров на базе Itanium, а позже также использовался в качестве альтернативы BIOS на базе x86, в том числе Apple Mac с процессорами Intel.

рабочие станции Unix имели встроенное ПО на основе ПЗУ конкретного производителя. Sun Microsystems позже разработала OpenBoot, позже известную как Open Firmware, которая включает интерпретатор Forth, причем большая часть прошивки была написана на Forth. Он был стандартизирован IEEE как стандарт IEEE 1275-1994; Прошивка, реализующая этот стандарт, использовалась в PowerPC Mac и некоторых других машинах на базе PowerPC, а также на собственных компьютерах Sun на базе SPARC. Спецификация Advanced RISC Computing определяет другой стандарт прошивки, который был реализован на некоторых машинах на базе MIPS и Alpha, а также на SGI Visual Workstation Рабочие станции на базе x86.

Современные загрузчики

Когда компьютер выключен, его программное обеспечение - «включая операционные системы, приложения и данные» - остается в энергонезависимой памяти. Когда компьютер включен, он обычно не имеет операционной системы или ее загрузчика в оперативной памяти (RAM). Компьютер сначала представляет собой небольшую программу, хранящуюся в постоянной памяти (ПЗУ) вместе с небольшим объемом необходимых данных, для доступа к энергонезависимому устройству или устройствам, с которыми могут быть загружены программы и данные операционной системы. в оперативную память.

Маленькая программа, запускающая эту последовательность, известна как загрузчик начальной, загрузчик или загрузчик. Единственная задача этой программы - загрузить другие данные и небольшие программы, которые выполняются из ОЗУ. Часто используются многоступенчатые загрузочные системы. Одна компьютерная система после загрузки сигнала от человека-оператора или периферийного устройства загружает одну за другой в процессе цепочки.

. устройство, может загрузить очень небольшое количество фиксированных в памяти в определенном месте, инициализировать по крайней мере один ЦП, указать их инструкции ЦП на инструкции и начать выполнение. Эти инструкции обычно запускают операцию ввода с некоторого периферийного устройства (которое может оператором). Другие системы могут отправлять аппаратные команды непосредственно на периферийные устройства или контроллеры ввода-вывода, которые выполняются очень простые операции ввода (например, «чтение нулевого сектора системы в память, начиная с 1000»), эффективно загружая небольшое количество инструкций загрузчика в память ; [сигнал завершения устройства от ввода-вывода] Сообщение для начала инструкций ЦП.

Маленькие компьютеры часто используют менее гибкие, но более автоматические механизмы загрузчика, чтобы обеспечить быстрый запуск компьютера с заданной конфигурацией программного обеспечения. Например, на многих настольных компьютерах процесс начальной загрузки начинается с того, что ЦП работает программное обеспечение, содержащееся в ПЗУ (например, BIOS на IBM PC ) по заранее заданному адресу (некоторые ЦП, включая Intel x86 series, предназначена для запуска этого программного обеспечения после сброса без посторонней помощи). Это программное обеспечение содержит элементарные функции для устройств поиска, которые могут участвовать в загрузке и загрузке небольшой программы из специального раздела (чаще всего загрузочный сектор ) наиболее многообещающего устройства, обычно начиная с фиксированного точка входа, например, начало сектора.

Загрузчик первого уровня

Загрузчики могут сталкиваться со специфическими ограничениями, особенно по размеру; например, на IBM PC и совместимых устройствах загрузочный сектор обычно должен работать только в 32 КБ (позже уменьшен до 64 КБ) системной памяти и использовать только инструкции, поддерживаемые исходным 8088 / 8086 процессоры. Первый этап загрузчиков ПК (FSBL, загрузчик первого этапа), расположенный на фиксированных дисках и съемных дисках, должен уместиться в первые 446 байтов Основная загрузочная запись, чтобы оставить место для 64-байтовой таблицы разделов по умолчанию с четырьмя основными сигнатурой загрузочной сигнатурой, которая требуется BIOS для правильного загрузчика - или даже меньше, когда дополнительные функции, такие как более четырех записей разделов (до 16 по 16 байтов), подпись диска (6 байтов), метка времени диска (6 байт), Advanced Active Partition (18 байт) или специальные загрузчики также поддерживаются в некоторых средах. В гибких дисках и superfloppy загрузочных быстрых тома до 59 байтов занято для расширенного блока параметров BIOS на FAT12 и FAT16 тома, начиная с DOS 4.0, тогда как FAT32 EBPB, представленный в DOS 7.1, требует даже 87 байтов, оставляя только 423 байта для загрузчика, если принять размер сектора 512 байтов. Таким образом, загрузочный сектор Microsoft традиционно накладывает ограничения на процесс загрузки, например, загрузочный файл должен располагаться в корневом каталоге файловой системы и храниться в виде последовательных секторов, условия, сохраненные SYS и немного ослаблена в более поздних версиях DOS. Затем загрузчик смог загрузить первый три сектора файла в память, которая, как оказалось, оказался встроенный другой загрузчик, способный загрузить оставшуюся часть файла в память. Когда Microsoft добавила поддержку LBA и FAT32, они даже переключились на загрузчик, охватывающий два физического сектора и использующий 386 инструкций по соображениям размера. В то же время другим поставщикам удалось установить гораздо больше функций в одном загрузочном секторе, не ослабив исходных ограничений только на минимальную доступную память (32 КБ) и поддержку процессора (8088/8086). Например, загрузочные секторы DR-DOS могут найти загрузочный файл в файловой системе FAT12, FAT16 и FAT32 и загрузить его в память в целом через CHS или LBA, даже если файл не хранится в фиксированном месте и в последовательных секторах.

Примеры загрузчиков первого уровня включают coreboot, Libreboot и Das U-Boot.

Загрузчик второго уровня

Загрузчики второго уровня, такие как GNU GRUB, rEFInd, BOOTMGR, Syslinux, NTLDR или BootX сами по себе не являются операционными системами, но могут правильно загружать операционную систему и выполнение ей работы; Операционная система инициализируется и может загружать дополнительные драйверы устройств. Загрузчику второго уровня не нужны драйверы для собственной работы, но вместо этого он может использовать общие методы доступа к хранилищу, предоставляя системной прошивкой, например BIOS или Open Firmware, хотя обычно с ограниченной функциональностью оборудования и более низкой производственной.

Многие загрузчики (такие как GNU GRUB, Windows BOOTMGR и Windows NT / 2000 / XP NTLDR) могут быть настроены так, чтобы предоставить пользователю несколько вариантов загрузки. Эти варианты могут быть разные операционные системы (для двойной или многозагрузочной с разными разделами или дисков), разные версии одной и той же операционной системы (в случае, если новая версия имеет неожиданные проблемы), разные варианты загрузки операционной системы. (например, загрузка в аварийном режиме или безопасном режиме ) и некоторые автономные программы, которые могут работать без операционной системы, например, тестеры памяти (например, memtest86 + ), базовая оболочка (как в GNU GRUB), или даже игры (см. Список игр PC Booter ). Некоторые загрузчики могут также загрузить другие загрузчики; например, GRUB загружает BOOTMGR вместо прямой загрузки Windows. Обычно по умолчанию выбирается временная задержка, в течение которого пользователь может нажать кнопку, чтобы изменить выбор; после этой задержки автоматически выполняется выбор по умолчанию, поэтому нормальная загрузка может происходить без взаимодействия.

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

Многие встроенные системы должны загружаться немедленно. Например, обычно неприемлемо ждать минуту для включения цифрового телевидения или GPS-навигатора. Следовательно, такие устройства имеют программные системы в ПЗУ или флэш-память, поэтому устройство может начать работу немедленно; требуется небольшая загрузка или ее отсутствие, поскольку загрузка может быть произведена в ПЗУ при создании устройства.

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

Загрузка по сети

Большинство компьютеров также могут загружаться по компьютерной сети. В этом сценарии операционная система хранится на диске сервера, и определенные ее части передаются клиенту с использованием простого протокола, такого как Trivial File Transfer Protocol ( TFTP). После того, как эти части были перенесены, операционная система берет на себя управление процессом загрузки.

Как и в случае загрузчика второго уровня, загрузка по сети начинается с использования общих методов доступа к сети, предоставляемых загрузочным ПЗУ сетевого интерфейса, которое обычно содержит образ Preboot Execution Environment (PXE). Никаких драйверов не требуется, но функциональность системы ограничена до тех пор, пока ядро ​​операционной системы и драйверы не будут перенесены и запущены. В результате, как только загрузка из ПЗУ завершена, вполне возможно выполнить загрузку по сети в операционную систему, которая сама по себе не имеет возможности использовать сетевой интерфейс.

Персональные компьютеры (ПК)

Загрузочные устройства

Windows To Go загрузочная флешка, пример Live USB

Загрузочным устройством является устройство, с которым загружена операционная система. Прошивка ПК UEFI или BIOS поддерживает загрузку с различных устройств, обычно с локального твердотельного накопителя или современного диска через GPT или Основная загрузочная запись (MBR) на таком диске или диске, дисковод оптических дисков (с использованием El Torito ), USB запоминающее устройство (флэш-накопитель на базе FTL, SD-карта или слот для мультимедийной карты ; жесткий диск, оптический диск накопитель и т. д.) или сетевую карту (используя PXE ). Старые, менее распространенные загрузочные устройства BIOS включают дисководы гибких дисков, устройства SCSI, дисководы Zip и LS-120.

Обычно прошивка (UEFI или BIOS) позволяет пользователю настроить порядок. Если порядок установлен на «DVD-привод, а во-вторых, жесткий диск», микропрограмма будет пытаться загрузиться с DVD-привода, и если это не помогает (например, из-за того, что в приводе нет DVD), он попытается загрузиться с локального жесткого диска.

Например, на ПК с Windows, установленной на жестком диске, пользователь может установить порядок загрузки, несколько выше, а затем вставить Linux Live CD, чтобы опробовать Linux без установки системы на жесткий диск. Это пример двойной загрузки, в котором пользователь выбирает, какую операционную систему запускать после того, как компьютер выполнил свою самотестирование при включении (POST). В этом примере двойной загрузки пользователь выбирает, вставляя или удаляя DVD с компьютера, но чаще всего выбирают, какую операционную систему загружать, выбирая из BIOS или UEFI <66.>Меню загрузки с помощью клавиатуры компьютера; в меню обычно можно попасть, закрытый переключатель F12или F11во время POST; Настройка BIOS обычно вводится нажатием клавиш F2или DELво время POST.

Доступно несколько устройств, которые позволяют пользователю быстро -загрузиться в то, что обычно использует Linux для различных простых задач, таких как доступ в Интернет; примерами являются Splashtop и Latitude ON.

Последовательность загрузки

A шестнадцатеричный дамп файла FreeBSD boot0 MBR Award Software BIOS из 2000 во время загрузки

После запуска IBM-системный персональный компьютер x86 CPU в реальном режиме команду, расположенную в векторе сброса (физический режим сброса FFFF0h на 16-битных процессорах x86 и FFFFFFF0h на 32-битных и

Последняя правка сделана 2021-05-13 14:44:01
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте