Каковы основные этапы загрузки операционной системы. Алгоритм загрузки операционной системы
Давным-давно, когда я был маленьким работал в институтской лаборатории на большом компьютере СМ-3 (что-то вроде знаменитой PDP-11), bootstrapping (загрузка) ЭВМ выглядела так. В фотосчитыватель заправлялась коротенькая бумажная перфолента с пробитой на ней программой начальной загрузки, запускался процесс считывания, а дальше … как повезет.
Дело в том, что бумажная ленточка постепенно изнашивалась, начинала плохо читаться, и ЭВМ могла с первого раза «не завестись». В этом случае процесс нужно было повторять, порой несколько раз, до победного конца. Когда ленточка окончательно выходила из строя и машина никак не хотела «оживать», приходилось временно вводить программу начальной загрузки вручную при помощи расположенных на передней панели переключателей. Тут, главное, было не торопиться и не делать ошибок.
В современных компьютерах процесс загрузки большей частью автоматизирован, однако это не означает, что он не заслуживает того, чтобы с ним познакомиться.
Структура операционной системы компьютера:
- Ядро ОС – преобразует команды программ в машинные коды, понятные компьютеру.
- Драйверы – программы, предназначенные для взаимодействия компьютера с аппаратными устройствами.
- Интерфейс – программная оболочка для общения пользователя с компьютером.
Выполнение любой работы на компьютере, как правило, сопряжено с обменом файлами устройств между собой. За работу с файлами отвечает группа программ ОС, называемая файловой системой.
За работу с запросами пользователя отвечает часть ОС – командный процессор. Операционная система должна выполнить любые команды пользователя, оперирующие файлами, будь то команды перемещения, удаления, копирования, либо команды обмена файлами между устройствами.
Все устройства компьютера подсоединяются к нему через системную шину. Это и монитор, и клавиатура, и принтер, и дисководы, и различного рода манипуляторы, и другие. Для управления работой всего многообразия устройств современного компьютера для каждого устройства создаются специальные программы, понимающие как команды устройства, так команды процессора, – драйверы.
Пользовательский интерфейс современных ОС является графическим. Это позволяет пользователю вводить команды, указывая при помощи графических манипуляторов (например, мышью) на требуемый объект на экране, не прибегая к вводу команд с клавиатуры.
Неотъемлемой частью операционной системы являются утилиты, или служебные сервисные программы – программы обслуживания дисков, программы-архиваторы, программы работы в сетях и т.д.
К услугам пользователя предоставлена справочная система ОС, которая даёт возможность получения сведений как о работе операционной системы, так и по каждой её части.
Третий этап
К третьему этапу компьютер подходит после того, как система BIOS запустит программы, позволяющие читать данные, записанные на внутренних и внешних дисковых носителях. Цель третьего этапа — загрузить операционную систему. На самом деле этот этап сам разбивается на несколько этапов, но мы так далеко погружаться не будем.
Как и на втором этапе, управляющее стороной третьего этапа запуска является программа. Только теперь она не «зашита» в ПЗУ материнской платы, а берется с того диска, который назначен системным. Эта программа — первоначальный загрузчик операционной системы.
Если человека по каким-то причинам не устраивает, какую операционную систему загружает первоначальный загрузчик и в каком режиме он ее запускает, в работу загрузчика можно вмешаться. То есть, управление начальной загрузкой человек может взять на себя. Обычно этого не делают, но если надо выполнить какие-то специфические действия или устранить обнаруженные неполадки, возможность управления начальной загрузкой бывает весьма полезной.
Вмешательство с целью управления начальной загрузкой должно происходить сразу после того, как на экране появятся сведения о распознанных дисковых накопителях.
Включение динамика ПК
Включение динамика ПК Ключ:[HKEY_CURRENT_USERControl
Включение отображения В этот момент обработчик событий Tick должен отобразить в панели toolStripStatusLabelClock текущее время, если значением по умолчанию члена-переменной DateTimeFormat является DateTimeFormat.ShowClock. Чтобы позволить пользователю переключаться между отображением даты и времени,
Этапы загрузки компьютера и сигналы BIOS
Первым и самым основным этапом загрузки компьютера после нажатия кнопки включения, является, если можно так сказать, «оживление» (Basic Input-Output System – базовая система ввода-вывода). Это своеобразная программа, которая прошита в микросхеме под названием CMOS. Задача BIOS заключается в проверке компьютерной периферии, какие устройства подключения, параметры жестких дисков и других компонентов, в общем – производит диагностику компьютера и работоспособность его компонентов.
Важно понимать, что BIOS тоже производит поэтапную проверку устройств. Понятно, что для вывода информации нужна работоспособная видеокарта, которая и проверяется в первую очередь. Хорошей особенностью компьютера является тот факт, что в случае не работоспособности видеокарты будет подаваться соответствующий сигнал (speaker, типы BIOS сигналов будут рассмотрены далее), из внутреннего динамика. Это довольно удобно, поскольку при отсутствии изображения на дисплее и наличии звукового писка, позволяет сразу понять, в чем суть проблем.
Конечно, тип подаваемого сигнала может отличаться, в зависимости от версии BIOS. Да и вариации сигналов могут указывать на поломку не только видеокарты, но и других компонентов компьютера на этапе его загрузки. Понятно, если вы слышите неприятные писк, исходящий из внутреннего динамика, то это явно свидетельствует о наличии неисправности.
Как только BIOS завершит проверку видеокарты на первом этапе загрузки компьютера (так называемая, POST-диагностика), произойдёт вывод информации на экран монитора, в большинстве случаев, первым будет вводиться логотип версии BIOS.
Следующим этапом загрузки компьютера является последующая проверка остальных компонентов с вводом на экран базовой информации (параметры процессора, оперативной памяти, жестких дисков, наличие USB контроллеров и так далее), так называемая, POST-информация. Параллельно с этим тестируются самонастраивающиеся устройства PnP (Plug & Play), интегрированные или встроенные звуковые карты, модемы, а также дисководы Floppy, приводы CD/DVD и т.д.
После окончания проверки клавиатуры ( без её наличия, нельзя будет войти в BIOS или произвести ввод команд ), на ней зажигается индикатор Num Lock, после чего на экране появится сообщение о том, что при нажатии клавиши Del (Delete) можно войти в BIOS ( Возможен и другой вариант ). В случае, если какое-либо устройство не в порядке, опять же, система оповестит нас об этом в виде ошибки.
В конечном итоге, все устройства должны быть протестированы успешно.
Как войти в BIOS!
Если загрузиться с подключённой флешки или вставленного загрузочного диска не удаётся по описанным выше шагам, то вам придётся читать ниже, как настроить биос для установки порядка загрузки. Впрочем, BIOS нужен не только для выбора загрузочного устройства, но эта функция используется чаще всего, а все остальные могут и вообще никогда не применяться. И для новичков хождение по BIOS и его настройка может показаться сложной задачей, хотя на самом деле это лишь страшные слова:) В реальности сложность лишь в том, что BIOS на различных компьютерах могут отличаться. Но это не должно ни для кого стать проблемой, потому что различие лишь в расположении пунктов меню и некоторых дополнительных функциях. Основные функции, такие как, загрузка с других устройств, проверка температуры, характеристик железа, присутствуют обязательно в любой версии Биоса!
Загрузка bios, в зависимости от вашего компьютера может производиться различными клавишами. Самые распространённые – Del или F2. Одну из этих клавиш на клавиатуре нужно нажимать очень быстро и многократно в момент включения компьютера! (по принципу описанному выше). Перезагрузите компьютер или включите его (если выключен) и сразу же в момент запуска очень быстро нажимаете одну из выше указанных кнопок на клавиатуре. Если вы нажимали быстро клавишу Del, но ничего не изменилось и компьютер начал загрузку Windows, то снова перезагружайтесь и пробуйте другую клавишу – F2. Иногда при включении компьютера на пару секунд в самом начале появляется окно с логотипом производителя материнской платы и внизу указана кнопка, которую нужно в вашем случае нажать для входа в BIOS. Но на современных компьютерах чаще всего никаких подсказок уже не показывается.
Если загрузка биос так и не выполнилась, т.е. вам не удалось в него войти, то вероятнее всего вы не успеваете нажать нужную клавишу!
Когда вы войдёте в BIOS, то увидите примерно вот такой экран:
Примерно так выглядит биос современных ноутбуков и стационарных компьютеров. Вверху вы видите несколько вкладок – разделов.
Страница, на которую мы попадаем при входе в BIOS называется «Main». На ней можно увидеть основные характеристики вашего компьютера, такие как модель процессора и его частоту, количество установленной оперативной памяти, версию BIOS. Также в этом разделе обычно можно настроить системные дату и время, но эти опции должны быть изначально выставлены правильно автоматически и ничего настраивать в 99.9% случаев не придётся! А если у вас постоянно сбивается дата и время, то скорее всего вышла из строя батарейка, которая сохраняет настройки BIOS.
В первую очередь нас интересует в биосе загрузка с флешки. Рассмотрим как это сделать.
Содержание
Большинство компьютерных систем могут исполнять только команды, находящиеся в оперативной памяти компьютера, в то время как современные операционные системы в большинстве случаев хранятся на жёстких дисках, загрузочных CD-ROM, USB дисках или в локальной сети.
После включения компьютера в его оперативной памяти нет операционной системы. Само по себе, без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Таким образом мы сталкиваемся с парадоксом, который кажется неразрешимым: для того, чтобы загрузить операционную систему в память, мы уже должны иметь операционную систему в памяти.
Решением данного парадокса является использование специальной компьютерной программы, называемой начальным загрузчиком, или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему.
В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC — команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС.
Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байтах главной загрузочной записи, оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры 55AAh, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.
Первые компьютеры имели набор переключателей, которые позволяли оператору размещать начальный загрузчик в памяти до запуска процессора. Затем данный загрузчик считывал операционную систему с внешнего устройства, например с перфоленты или с жесткого диска.
Псевдо-ассемблерный код начального загрузчика может быть столь же простым, как и следующая последовательность инструкций:
Данный пример основан на начальном загрузчике одного из миниов, выпущенного в 1970-х годах фирмой Nicolet Instrument Corporation.
Длина загрузчика второго уровня была такой, что последний байт загрузчика изменял команду, расположенную по адресу 6. Таким образом, после выполнения пункта 5 стартовал загрузчик второго уровня. Загрузчик второго уровня ожидал заправки в устройство считывания перфолент длинной перфоленты, содержащей операционную систему. Различием между загрузчиком первого уровня и загрузчиком второго уровня были проверки на ошибки считывания с перфоленты, которые часто встречались в то время, и, в частности, на используемых в данном случае телетайпах ASR-33.
Некоторые операционные системы, наиболее характерными из которых являются старые (до 1995 года) операционные системы компьютеров Macintosh производимых Apple Computer, настолько тесно связаны с аппаратным обеспечением компьютеров, что на данных компьютерах невозможно загрузить какую-либо другую операционную систему. В данных случаях обычно разрабатывается начальный загрузчик, который работает как загрузчик стандартной ОС, а затем передает управление альтернативной операционной системе. Apple использовала данный способ для запуска A/UX версию Unix, а затем он использовался различными бесплатными операционными системами.
Что не так с BIOS?
Сам термин BIOS археологи впервые обнаружили в коде CP/M от 1975 года. Исходные тексты CP/M, в файле BDOS . PLM (CP/M 1.1) которых под авторством Гэри Килдалла и появилось упоминание BASIC I/O SYSTEM, Computer History Museum выложил в свободный доступ в 2014-м в честь 40-летия системы. Если тебе интересно ознакомиться с этим историческим артефактом, они доступны на сайте музея.
Базовая система ввода-вывода в некотором смысле выполняет функцию интерфейса между оборудованием и ОС, без нее операционка не загрузится, а железо останется холодным и безжизненным. К тому же в ней есть функции, которые можно вызывать из ОС для доступа к базовым возможностям оборудования, подобно тому, как приложения используют системные вызовы для доступа к функциям ОС. Однако операционные системы все же предпочитают использовать собственные драйверы для работы с оборудованием.
В x86-системах BIOS выполняет тестирование (POST) и инициализацию оборудования. Затем управление передается первичному загрузчику (master boot code), который ищет активный раздел и его загрузочный сектор, чтобы передать управление ему для загрузки операционной системы. В BIOS используется формат разметки MBR, который тем не менее строго определенного стандарта не имеет.
Например, Крис Касперски в своей книге «Восстановление данных. Практическое руководство» писал, что в последние четыре байта, отведенные под код первичного загрузчика, Windows записывала идентификатор диска, и это неизбежно убивало использующий их загрузчик. Таким образом, для корректной работы с Windows первичный загрузчик должен был занимать не более 442 байт вместо честно выделенных ему 446.
BIOS за 45 лет существования показала себя невероятным долгожителем мира IT, пережив дискеты, CP/M и PL/M, MS-DOS и Windows 9x. Но сколько ни обновляй ее под современные реалии, в выделенные для начального загрузчика 446 байт сейчас много ненужного не поместишь. Были у BIOS и другие недостатки, из-за которых назревала необходимость заменить 16-битную архитектуру, по крайней мере для «большого железа» вчетверо большей разрядности. Так посчитали ребята из Intel, и в 1998 году был основан проект Intel Boot Initiative. Исходная версия спецификации, разработанная в первую очередь для машин на Itanium (IA-64), была опубликована под названием EFI (Extensible Firmware Interface) в 1999 году. А в 2005-м на базе этого проекта появился Unified EFI Forum, занимающийся разработкой и поддержкой родившейся таким образом технологии по сей день.
Особенности загрузки операционных систем Windows Vista / 7 / 8
В Windows Vista или Windows 7 / 8 диспетчер загрузки называется Bootmgr. Он читает список установленных операционных систем не из простого текстового файла, коим является boot.ini, а из системного хранилища BCD (Boot Configuration Data), доступ к которому осуществляется посредством специальной утилиты bcdedit.exe .
Но это еще не все. Откроем “Управление компьютером” –> “Управление дисками” >
Процесс стандартной инсталляции операционной системы Windows Vista / 7 / 8 создает в начале диска дополнительный раздел «Зарезервировано системой». Ему не присваивается буква диска, благодаря чему, если не сделать дополнительных шагов, и сам раздел и его содержимое будут скрыты от пользователя. Этот основной раздел имеет статус «Системный» и «Активный» и, следовательно, удалить его тоже нельзя.
В Windows 7 размер такого раздела составляет 100 МБ, из которых занято около 30 МБ, в Windows 8 – уже 350 МБ, причем занято из них 105 МБ. Такая разница объясняется тем, что в Windows 8 на этот раздел перенесена папка “Recovery”.
Посмотрим содержимое раздела «Зарезервировано системой». Для этого назначим ему букву диска, например, «W» в “Управление дисками”. Дополнительно откроем «Панель управления» –> «Параметры папок» и на вкладке «Вид» снимем галку с «Скрывать защищенные системные файлы» и поставим о.
Если в системе установлен файловый менеджер FAR Manager, то для просмотра можно воспользоваться им и не заниматься настройкой видимости скрытых файлов.
Так выглядит содержимое раздела «Зарезервировано системой» в Windows 8 >
Как и ожидалось, в корне раздела мы видим загрузчик Bootmgr.
А так выглядит часть содержимого папки «Boot» >
В папке мы находим базу хранилища данных конфигурации загрузки BCD и сопутствующие ей папки с языковыми файлами и файлами шрифтов.
Для полноты картины осталось сказать о том, какой раздел называется загрузочным. Ответ уже показан на картинке с томами Windows 7. Очевидно, что это раздел, на котором находятся все основные файлы операционной системы.
Ну что же, запомнить названия разделов диска очень легко по принципу «всё наоборот» — на системном нет системы (операционной), но расположен загрузчик третьего уровня, на загрузочном как раз отсутствует загрузчик, но находится сама система . Естественно, эта «запоминалка» работает только тогда, когда есть несколько разделов. Если раздел один, то он может быть сразу системным, активным и загрузочным.
Главной задачей загрузчика 3-го уровня, в роли которого выступает, в зависимости от типа ОС, Bootmgr, Ntldr или GRUB, является чтение с загрузочного диска и загрузка ядра операционной системы. Кроме того, в случае множественной загрузки, когда на компьютере установлено несколько операционных систем, загрузчик 3-го уровня позволяет выбирать нужную при каждом запуске компьютера.
Классической ошибкой, которой Microsoft посвятила отдельную статью , является установка Windows XP после Windows Vista / 7 /8. Установщик Windows XP помечает свой раздел как активный, после чего, во время загрузки, MBR передает управление PBS этого раздела а он, в свою очередь, — Ntldr. Загрузчик Windows XP ничего не знает о более поздних версиях операционных систем Windows и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.
Добавить к этому практически нечего и можно переходить непосредственно к редактированию загрузочного меню. Начнем с загрузочного меню Windows.