На прошлых уроках мы
узнали:
· Пользовательский
интерфейс – это совокупность средств и правил взаимодействия
человека и компьютера.
· Разновидностями
пользовательских интерфейсов:
· Командный
интерфейс управляется посредством команд, представляющих собой
комбинации символов,
· Графическим
интерфейс управляется через клавиатуру и различные
манипуляторы,
· SILK-интерфейс
управляется через речь или движения пользователя.
Вопросы:
· окна,
· значки
(иконки),
· меню.
Окнами
называются элементы графического интерфейса операционной системы, которые
представляют собой области экрана, ограниченные рамками. Именно через окна
происходит процесс управления графическим интерфейсом операционной системой.
В графическом интерфейсе
операционной системы можно выделить несколько типов окон:
· рабочий
стол,
который является главным окном операционной системы;
· окна
папок, которые содержат в себе информацию о каталогах;
· диалоговые
окна,
которые используются для наиболее детального и точного задания команд
пользователем;
· окна
приложений, через которые происходит управление приложениями и
их документами.
Рассмотрим подробнее
каждый тип.
Начнём с рабочего
стола. Так называется главное окно интерфейса операционной
системы. Это первое окно, которое пользователь видит сразу после запуска
операционной системы, при включении компьютера. Оно занимает всю площадь
экрана. Как правило рабочий стол, содержит три элемента, первый из них – фоновое
изображение. Так называется изображение, которое располагается на заднем
плане рабочего стола. Также на рабочем столе располагаются различные значки,
их мы рассмотрим позже. У одного из краёв экрана, чаще всего снизу
располагается панель задач. Она содержит информацию, о задачах, которые
компьютер выполняет в данный момент.
Рабочий
стол
Окна папок
– это окна, которые содержат в себе информацию о каталогах и их содержимом.
Окна папок также могут содержать несколько элементов.
Окно
папки
В верхней части такого
окна обычно располагается строка заголовка. Как правило, она содержит системный
значок, в нашем случае это изображение каталога. После системного значка
следует заголовок каталога, то есть его имя.
Строка
заголовка
В правой части строки
заголовка находятся три кнопки управления режимами окна. Рассмотрим их слева
направо. Первая кнопка называется свернуть, при нажатии на эту кнопку окно
перестанет отображаться на экране, но при этом оно будет оставаться открытым и
к нему можно будет получить доступ с помощью панели задач. Вторая кнопка может
иметь одно из двух состояний. Например, если окно каталога развёрнуто во весь
экран – то она называется свернуть в окно, это значит, что окно папки будет
занимать не всю площадь экрана, а лишь некоторую его часть. Если же окно папки
занимает экран полностью, изображение кнопки меняется, и она уже называется
«развернуть», при нажатии на эту кнопку окно папки принимает форму всего
экрана. Правая кнопка называется «закрыть», при нажатии на эту кнопку окно
папки будет закрыто. Чтобы открыть его, нужно снова проделать весь путь к
нужному каталогу.
Под строкой заголовка
располагается строка меню. Она содержит полный список команд, доступных для
выполнения в этом окне.
Строка
меню
Ниже строки меню
располагается панель быстрого доступа. Она содержит кнопки, задающие команды,
которые используются наиболее часто.
Панель
быстрого доступа
Под панелью быстрого
доступа находится адресная строка. Она содержит путь к каталогу и кнопки
управления перемещением. Кнопка, назад позволяет перейти к просмотру каталога,
который был запущен в этом окне до перехода к текущему. Кнопка вперёд
становится активной, только после использования кнопки назад. Кнопка «Последние
перемещения» выводит меню, которое позволяет выбрать переход к одной из
последних просматриваемых папок. Кнопка вверх позволяет перейти к просмотру
содержимого корневого каталога устройства внешней памяти или же тома жёсткого
диска, на котором находится текущий каталог. Справа от адресной строки
находится строка поиска.
Адресная
строка и строка поиска
Большую часть площади
окна папки занимает рабочая область, в ней, в виде значков, отображается
содержимое открытого каталога. Если этих значков слишком много, то в правой и
нижней частях рабочей области могут находиться полосы прокрутки, с помощью
которых можно менять положение рабочей области относительно значков. В нижней
части окна папки находится строка состояния, она отображает количество файлов и
подкаталогов в каталоге. С помощью вкладки меню «вид» может включаться и
выключаться отображение области навигации, облегчающей ориентирование в
файловой структуре, а также области просмотра и области сведений, которые
отображаются лишь в полноэкранном режиме.
Диалоговые окна
нужны для двухстороннего взаимодействия пользователя и компьютера, они
позволяют с помощью некоторых дополнительных элементов управления уточнить
указания, которые пользователь задаёт компьютеру. Рассмотрим
некоторые из инструментов, которые могут содержаться в диалоговых окнах.
·
Поля ввода позволяют пользователю задавать
информацию в виде набора символов с помощью клавиатуры.
· Переключатели
(радиальные кнопки) позволяют выбрать один из нескольких доступных вариантов.
Они имеют форму белых кружков. При выборе варианта в этом кружке появляется
точка.
· Флажки
служат для выбора, настроек, у которых может быть всего два значения: включено
или выключено. Они имеют форму квадратов. При включении настройки внутри
квадрата отображается птичка, тогда в этом случае говорится, что флажок выставлен.
· Счётчики,
как правило используются для ввода числовых значений. Они представляют собой
поле ввода с двумя кнопками, которые позволяют увеличить или уменьшить числовое
значение счётчика на единицу.
· Ползунки
представляют собой полосы, по которым указатель перетаскивается с помощью мыши,
тем самым плавно изменяя значение вводимой величины.
·
Командные
кнопки, или просто кнопки при нажатии на них задают компьютеру команды, которые
на них указаны.
·
Также
такие окна могут содержать несколько вкладок, на которых сгруппированы элементы
управления, между ними можно перемещаться с помощью мыши.
·
Списки
позволяют пользователю выбрать одно из значений, которые в них содержатся. При
большом количестве возможных значений они могут иметь полосы прокрутки. Есть и
раскрывающиеся списки. Значения, которые в них хранятся, можно увидеть нажав на
кнопку раскрытия справа от списка.
Окна приложений
– это области экрана, содержащие в себе информацию об используемом приложении и
документах, которые в нём открыты. Они могут содержать различные элементы
управления, знакомые нам по окнам папок и диалоговым окнам, например, окно
приложения калькулятор содержит строку заголовка без системного значка,
множество командных кнопок и кнопку вывода меню.
Окно
приложения калькулятор
Важная возможность современного
графического интерфейса это многооконность. Так называется возможность
управлять несколькими различными окнами одновременно, с переносом информации из
одного окна в другое. В интерфейсе операционной системы Windows
эта возможность реализована с помощью панели задач и других инструментов.
Рабочий стол и рабочая
область окна папки могут содержать некоторые значки (иконки). Значки –
это графические обозначения различных объектов операционной системы, устройств
компьютера, файлов, каталогов или других. Значки приложений могут иметь самый
разный вид.
Значки приложений Microsoft Office Word и OpenOfficeWriter
Как правило, изображения
этих значков содержатся в изображениях значков документов, которые
обрабатываются с помощью этих приложений.
Значки документов Microsoft Office Word и OpenOfficeWriter
Среди значков стоит также
выделить ярлыки. Они указывают на объект операционной системы, который
находится в другом месте. Как правило, ярлык имеет вид значка объекта, на
который он указывает с маленьким рисунком стрелки в левом нижнем углу.
Ярлык приложения Microsoft Office Word
Удаление ярлыка не
приводит к удалению самого объекта, файла или каталога. Принцип работы ярлыков
похож на принцип работы гиперссылок во всемирной паутине. При их запуске
происходит перенаправление к объекту, на который они указывают.
Основной элемент
программного управления интерфейсом операционной системы – это меню. Так
называется список, доступных команд, выводимый на экран. В операционной системе
присутствует множество самых разных меню. Рассмотрим некоторые из них. Как мы
помним, в окнах папок и приложений есть свои меню, содержащие команды
управления каталогами.
Также есть главное
меню. К нему можно получить доступ нажав на кнопку «Пуск», или клавишу на
клавиатуре с изображением флажка. Оно содержит кнопки запуска часто используемых
приложений, кнопку запуска проводника, приложения позволяющего перемещаться в
файловой структуре.
Кнопку доступа к параметрам
операционной системы – там содержатся все настройки операционной системы.
Кнопку выключения компьютера. И кнопку просмотра приложений, установленных на
компьютере. Также при вызове главного меню могут отображаться и информационные
панели.
Главное
меню
Также стоит выделить
контекстное меню. Его можно вызвать, нажав на рисунок объекта правой кнопкой
мыши, или выделив объект и нажав кнопку «меню» на клавиатуре. Оно содержит все доступные
для выполнения операции, над объектом. Так, в случае с файлами это:
· открыть,
· отправить,
· вырезать,
· копировать,
· создать
ярлык,
· удалить,
· переименовать,
· свойства
и др…
Важно запомнить:
· Большая
часть управления интерфейсом операционной системы происходит через окна,
специальные области экрана, выделенные рамками.
· Окнами
считаются: рабочий стол, окна папок, диалоговые окна, окна
приложений.
· Многооконность
– это важная возможность современного пользовательского интерфейса управлять несколькими
окнами одновременно и переносить информацию между ними.
· Значки
(иконки) – это графические обозначения различных объектов
операционной системы: файлов, каталогов и других.
· Основной
элемент программного управления графическим интерфейсом – меню. Так
называется выводимый на экран список всех доступных для выполнения команд.
Контрольные задания > Что появляется на экране компьютера после загрузки операционной системы?
Вопрос:
Что появляется на экране компьютера после загрузки операционной системы?
Ответ:
Правильный ответ: «Рабочий стол». После загрузки операционной системы на экране компьютера отображается рабочий стол, который является основным интерфейсом пользователя для взаимодействия с системой.
Похожие
- Определите соответствие между точками и числами.
- Почему юный князь так старательно учился и что он хотел найти в книгах?
Время на прочтение5 мин
Количество просмотров170K
А вы никогда не задумывались над тем, что же происходит с операционной системой в тот момент, когда она рисует свой логотип и говорит «Starting Windows»? И вообще, почему она долго загружается? Ведь при старте системы уж точно не решаются никакие задачи, сложные с вычислительной точки зрения!
Что тогда подразумевает под собой загрузка операционной системы? По большей части это проецирование в память исполняемых модулей и инициализация служебных структур данных. Структуры данных живут в памяти, поэтому операции с ними по идее должны быть быстрыми. Все наталкивает на мысль о том, что время съедается именно процессом загрузки исполняемых модулей в память.
Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае — Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.
Mining and crafting
Настройка отладки хорошо гуглится, поэтому описывать подробно этот процесс я не буду. Поскольку нас интересует все происходящее с момента старта системы, нам нужно отметить пункт «Cycle Initial Break», с помощью чего отладчик остановится, как только в отлаживаемой системе будет загружена подсистема отладки ядра. Дублирование вывода в файл можно осуществить при помощи команд «.logopen» и «.logclose», это просто. Другая полезная команда — «.cls». Она очищает экран команд, и да, только экран команд.
Интересующая нас функция — «MiCreateImageFileMap». Это внутренняя функция менеджера памяти, проецирующая исполняемый файл в память. Проецирование в память происходит при создании секции, например, при запуске исполняемого файла. Однако учтите, что если исполняемый файл проецируется в память, это не гарантия того, что будет выполнен его код! Эта функция просто создает проекцию, чаще всего «про запас», чтобы, если кто-то надумает запустить модуль на исполнение, можно было сэкономить время его загрузки. На эту функцию поставим логирующую точку останова.
Если у вас достаточно маны, вводите следующую команду:
bu nt!MiCreateImageFileMap "dt nt!_EPROCESS -d ImageFileName @$proc; dt nt!_FILE_OBJECT -d FileName @rcx; g"
Магическая строчка буквально означает следующее:
- bu (Set Unresolved Breakpoint) — установить неразрешенную точку останова. Не то чтобы кто-то или что-то не разрешал, просто для ее установки необходимо определиться, по какому адресу ее ставить. Дело в том, что заранее не известно, по какому адресу она должна располагаться. При загрузке любого модуля проверяется присутствие в нем необходимой функции, и если такая функция найдена, точка останова устанавливается автоматически. Такой способ установки незаменим при включенном ASLR — рандомизации адресного пространства, поскольку модули будут загружаться каждый раз по разным адресам, и точка останова, установленная по фиксированному адресу, с большой вероятностью окажется не у дел.
- nt!MiCreateImageFileMap — символ, на котором нужно останавливаться. В WinDbg принята запись в форме ‘module_name!function_name’. В данном случае nt является предопределенным псевдонимом для ntoskrnl.exe.
- далее следует часть WinDbg-скрипта, которая будет выполняться каждый раз при остановке на этой функции. «dt nt!_EPROCESS -d ImageFileName @$proc» по-русски означает «отобразить поле ImageFileName структуры _EPROCESS из модуля nt при условии ее отображения по адресу, определенному в псевдорегистре «текущий процесс»». Следующая после разделителя «;» команда означает примерно то же самое, только адрес структуры берется из регистра rcx, в котором в Microsoft x64 ABI передается первый параметр функции. «g» означает «go», т.е. продолжить исполнение.
Небольшая рекомендация по использованию логирующих точек останова: старайтесь не использовать расширения отладчика (команды, начинающиеся с «!»), поскольку в таком случае логирование будет выполняться на порядок медленнее.
Поехали! Отжимаем тормоз точки останова и ждем. Я ждал, пока не прогрузится рабочий стол, т.е. я залогинился. Полученный «урожай» немного редактируется, обрезается все лишнее для удобства дальнейшей обработки и скармливается дружище питону. Не будем заострять внимание на парсинге лога. Отметим только, что граф укладывался в форму спирали Архимеда с дальнейшей коррекцией вручную, поскольку происходило наложение узлов друг на друга. В полученном графе учитывается порядок загрузки библиотек. К сожалению, пришлось пожертвовать учетом порядка загрузки исполняемых файлов относительно библиотек в угоду удобочитаемости графа.
Карта звездного неба
Условно выделим несколько групп загрузки.
Начинается работа OC в модуле ntoskrnl.exe, являющимся ядром ОС. А если еще конкретнее — с функции KiSystemStartup(). Вместе с загружаемыми системными компонентами она формирует фундамент ОС: разделение режимов работы, базовые сервисы для пользовательских приложений и т.п. В эту же группу входят драйверы, отмеченные для загрузки во время старта системы. В двух словах, в этой ракушке зарождается ОС Windows.
Следующий узел — менеджер сессий (session manager). Его представляет первый после системного процесс, стартующий в Windows — smss.exe. Процесс примечателен тем, что является родным (native) процессом Windows, то есть он не использует подсистему Win32, которая в общем-то еще не загружена. Этот процесс использует только нативные сервисы операционной системы посредством ntdll.dll, представляющей собой интерфейс режима пользователя для сервисов ОС. Также этот процесс является доверенным компонентом операционной системы и обладает исключительными правами, например, он может создавать маркеры безопасности (security tokens). Но главное его предназначение — создание сеансов и инициализация подсистем, как графической, так и различных исполняемых (Windows, POSIX). Эта ракушка воздает каждому по потребностям.
Группа входа в систему (logon) состоит из нескольких процессов. В целом они отвечают за инициализацию сеансов. Это включает в себя отображение экрана приветствия, создание рабочих столов, запуск процессов автозагрузки и инициализацию подсистемы безопасности и т.п. Этот веник отметает всех посторонних.
Самой массивной оказалась группа сервисов. Во многом она обязана своим объемом службе SuperFetch. Эта та самая, про которую говорят, что она по выходным заранее прогружает офисный пакет, а в начале рабочей недели — Steam с игрушками. Superfetch прогружает огромное количество модулей при старте системы, чтобы потом «все быстрее работало». Да и кроме него в системе хватает сервисных приложений и автозапускающихся драйверов. Думаю, все видели оснастку «Службы и приложения». Эта звезда жизни заводит в системе все, что нужно и не очень.
Последним отмечу любимый всеми explorer.exe. Примечательно, что к моменту его запуска все используемые им модули уже загружены в память. В скриншот также попал некий vcredist_x64.exe — бедолага лежал на рабочем столе подопытной виртуальной машины и был прогружен в память проводником.
Вообще способов оказаться загруженным в память у модуля много. Например, достаточно запросить информацию из ресурсов исполняемого файла, в том числе его иконку. Конкретно в данном примере проводник проверял, является ли эта программа требующей повышенных привилегий, т.е. стоит ли дорисовывать к иконке соответствующий рисуночек с желто-голубым щитом. Еще раз отмечу, что загрузка модуля в память не означает выполнение его кода!
Лично я держу получившуюся картинку под боком. По ней хорошо прослеживаются зависимости, например, драйверов. Также в паре с утилитой Sysinternals Autoruns можно увидеть, на каком этапе загрузки подтягиваются те или иные модули.
Граф загрузки был построен для ОС Windows 7 Enterprise x64, установленной на виртуальной машине VMware. Ниже приведены векторное изображение графа и непосредственно файл в формате gml, с которым можно поиграться в любом редакторе графов.
Граф в формате GML
Векторное изображение графа
Внимание! Бонус!
Граф загрузки для чистой ОС Windows 8 Enterprise x64 на живой машине
Граф в формате GML
Векторное изображение графа
Ингредиенты:
WinDbg @ msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx
Python @ www.python.org
NetworkX @ networkx.lanl.gov
yEd Graph Editor @ www.yworks.com/en/products_yed_about.html
Руки @ Плечи
Источник статьи
Автор24
— учеба по твоим правилам
Замечание 1
Windows 7 является многозадачной, интерактивной ОС с графическим интерфейсом. Для пользователя многозадачность означает возможность запуска нескольких программ одновременно. Например, можно набирать текст в текстовом редакторе и одновременно слушать аудиокнигу. Любая программа обычно разрабатывается для конкретной ОС. Программы, разработанные для Windows, называются Windows-приложениями. Графический интерфейс Windows унифицирован, поэтому для разных Windows-приложений характерны похожие правила работы.
Вход в систему
Как только пользователь включает компьютер, производится тестирование и настройка всех устройств компьютера. Результаты этого тестирования отображаются белым шрифтом на черном экране компьютера. После окончания тестирования начинает свою работу специальная программа – загрузчик. Она загружает операционную систему. Когда загрузка Windows подходит к завершению, то пользователь видит экран приветствия.
Рисунок 1. Экран приветствия Windiws 7
На экране приветствия отображены учетные записи всех пользователей, которые зарегистрированы в системе. Если учетная запись одна, то, это учетная запись администратора. Учетные записи создает администратор. Он же определяет права, которые полагаются каждой учетной записи. После выбора пользователя требуется ввести пароль. Если пароль верный, то происходит вход в систему под выбранной учетной записью.
Сразу после загрузки Windows 7 пользователь видит область экрана, которая называется «Рабочий стол». В самой нижней части рабочего стола расположена специальная область экрана, которая называется «Панель задач» (рис.2).
Рисунок 2. Рабочий стол и панель задач
«ОС Windows. Основные понятия» 👇
Окна приложений и диалоговые окна
Основным графическим элементом в ОС Windows является окно. Окна могут быть двух типов:
- окна приложений;
- диалоговые окна.
Окно приложения (или просто окно) – это прямоугольная область экрана, которая используется для управления работой приложения (ввода информации пользователем, просмотра результатов, сохранения данных и т.д.). На рис.3 показано окно медиапроигрывателя VLC.
Рисунок 3. Окно приложения «Медиапроигрыватель VLC»
В правом верхнем углу любого окна присутствуют три стандартные кнопки
Рисунок 4.
Рисунок 5.
Рисунок 6.
Рисунок 7.
Диалоговые окна используются ОС для общения с пользователем – ввода информации или получения ответа на вопрос. Диалоговые окна не связаны с каким-либо приложением. Например, если пользователь решит удалить файл, то ОС при помощи диалогового окна уточнит у него, уверен ли он в необходимости удаления (рис.8).
Рисунок 8. Диалоговое окно
Работа с манипулятором мышь
При движении манипулятора мышь по экрану перемещается графический элемент (по умолчанию это стрелка,
Рисунок 9.
При помощи мыши возможны следующие действия:
- Один щелчок правой кнопки на объекте открывает так называемое контекстное меню объекта. В контекстном меню перечислены действия, которые можно совершать с данным объектом (рис.9).
- Один щелчок левой кнопки используется для выбора нужного действия из контекстного меню.
- Двойной щелчок левой кнопки. Самое первое действие в контекстном меню, выделенное жирным шрифтом, является действием по умолчанию. Его можно осуществить, сделав на объекте двойной щелчок левой кнопкой мыши. На рис.5 таким действием является действие «Открыть».
- Задержка указателя мыши на объекте, как правило, вызывает всплывающую подсказку с информацией об этом объекте.
- Перетаскивание указателя мыши при удержании левой кнопки вызывает перемещение объекта, на котором установлен указатель мыши.
Рисунок 10. Контекстное меню
Работа с жестким диском компьютера
Работа пользователя всегда предполагает операцию сохранения информации на жестком диске компьютера и последующее нахождение сохраненных данных. Для этого важно понимать, как организована работа с жестким диском.
Жесткий диск представляет собой единое пространство для хранения данных, но при установке ОС это пространство для удобства делится на разделы или логические диски. Можно создать один единственный раздел, можно несколько. Разделы могут быть отформатированы в различных файловых системах. Для того чтобы узнать сколько имеется разделов на данном компьютере нужно найти в самом левом углу панели задач кнопку «Пуск»
Рисунок 11. Кнопка «Пуск»
и нажав на нее открыть пункт меню «Компьютер». В открывшемся окне можно увидеть все устройства постоянной памяти, которые подключены к компьютеру (рис.12). Разделы жесткого диска видны под заголовком «Жесткие диски», а съемные устройства — под заголовком «Устройства со съемными носителями».
Рисунок 12. Окно «Компьютер»
Каждый раздел обозначается буквой латинского алфавита, начиная с буквы С. Эта традиция сохранилась еще с тех пор, когда пользователи работали с дискетами – съемными запоминающими устройствами маленькой емкости. Под устройства для чтения дискет (дисководы) традиционно отводились обозначения А и В. Сейчас дискеты полностью вытеснены флеш-памятью, но на старых компьютерах еще можно увидеть дисководы, а разделы жесткого диска традиционно начинаются с буквы С.
Раздел С называется системным. Это значит, что именно на нем установлена ОС Windows и, следовательно, он может быть отформатирован только в файловой системе NTFS. Все другие разделы могут быть отформатированы как в NTFS, так и в других файловых системах.
Под пиктограммой раздела указывается его размер в гигабайтах и количество свободной памяти. Визуально занятый объем показывается на пиктограмме синим цветом, а свободный – белым. Если свободного места на диске становится мало, то занятое пространство выделяется красным цветом, как в случае с диском С на рис.12.
Кроме букв латинского алфавита пользователь может использовать дополнительные имена для своих разделов. Для этого достаточно правой кнопкой мыши открыть контекстное меню раздела и выбрать пункт меню «Свойства». В открывшемся окне пользователь может вписать нужное название раздела. Например, если раздел предназначен для хранения фотографий, то его можно назвать «Фото» (рис.13).
Рисунок 13. Свойства раздела
В современных компьютерах процесс загрузки большей частью автоматизирован, однако это не означает, что он не заслуживает того, чтобы с ним познакомиться.
Основные определения и этапы загрузки операционной системы
Включение компьютера, POST, BootMonitor
Начальный этап загрузки операционной системы после включения компьютера начинается в BIOS (Basic Input/Output System — базовая система ввода-вывода). В настройках BIOS мы указываем загрузочное устройство, или ряд загрузочных устройств в порядке их приоритета. Возможны различные варианты загрузки и их комбинации: с жесткого диска, CD/DVD – диска, USB-flash и другие.
Сразу после прохождения POST (Power-On Self-Test — самотестирование после включения) BIOS компьютера начнет поочередно перебирать указанные загрузочные устройства до тех пор, пока на одном из них не найдет подходящую специальную запись, в которой содержится информация о дальнейших действиях.
Загрузчик 1-го уровня. Master Boot Record
Master Boot Record — главная загрузочная запись, расположена в первых физических секторах загрузочных устройств хранения. Она содержит таблицу разделов (Partition Table) и исполняемый код.
Главной задачей программы, записанной в MBR, является поиск активного системного раздела диска и передача управления его загрузочному сектору. Таким образом, эту стадию можно назвать подготовительной, в силу того, что непосредственно загрузки самой ОС еще не происходит.
Системным принято называть раздел диска (устройства хранения) на котором расположены файлы операционной системы, отвечающие за процесс загрузки ОС (сама операционная система может размещаться в другом разделе). В принципе, системных разделов может быть несколько, поэтому один из них отмечается как активный. Именно его ищет программа, загруженная с MBR.
Загрузчик 2-го уровня. Partition Boot Sector
Следующим этапом загрузки компьютера является передача управления исполняемому коду, записанному в PBS (Partition Boot Sector — загрузочный сектор активного раздела). PBS расположен в первом секторе (секторах) соответствующего раздела диска. В коде PBS прописано имя файла загрузчика операционной системы, которому и передается управление на этом этапе.
Начальный этап загрузки операционной системы. Менеджер загрузки ОС
Первоначально в Linux загрузчиком являлся LILO (Linux Loader). В силу имевшихся в нем недостатков, главным из которых была неспособность понимать используемые в Linux файловые системы, позднее начал использоваться загрузчик GRUB (GRand Unified Bootloader) в котором недостатки LILO были исправлены.
Если речь идет о версиях Windows до Vista, например, Windows XP, то будет загружен Ntldr. Он, в свою очередь, считывает информацию из текстового файла Boot.ini, в котором записана информация об установленных операционных системах.
Загрузка ядра операционной системы
Завершающим этапом загрузки операционной системы является загрузка ядра ОС и передача ему управления.
Несколько лет назад в моей практике был такой забавный случай.
Меня попросили помочь одному человеку купить и привести в порядок компьютер для дома. Товарищ этот на тот момент времени только-только вышел на пенсию, а до этого работал в должности начальника и компьютер видел, по большей части, издалека, на столе у своей секретарши. После выхода на пенсию у него появилось время и желание компьютер освоить. Ну что, по-моему, замечательно. Компьютер мы ему подобрали недорогой, но добротный и с хорошим, по тем временам, монитором. Я поставил и настроил кое-какие программы, показал как ими пользоваться. Господин обзавелся книжкой из серии «Что-то там для чайников» и мы расстались абсолютно довольные друг другом.
Примерно через неделю мой подопечный позвонил мне по телефону и чуть не плача сообщил, что все пропало и компьютер больше не работает. Благо, запираться он не стал и честно рассказал, как было дело. А дело было так. Товарищ полез исследовать содержимое своего компьютера и нашел в корне диска С:\ несколько подозрительных и «ненужных», на его взгляд, файлов. Он решил освободить место и файлики эти попросту удалил. Думаю, что все уже догадались, что это были boot.ini, ntldr, ntdetect и др. Поправить ситуацию сложности не представляло, разве что пришлось ехать к нему еще раз.
К слову сказать, для того, чтобы получить проблемы с загрузкой Windows XP, можно было и ничего не стирать, а слегка «подправить», например, boot.ini.
Видимо Microsoft как то узнала об этом случае и в следующей версии своей ОС решила припрятать файлы загрузчика получше.
Особенности загрузки операционных систем 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 и их загрузка становится невозможной. Лечится достаточно легко, но неискушенного пользователя такая ситуация может поставить в тупик.