Главная > Методическое пособие


* - Windows 3.x строго говоря не является операционной системой, так как она работает только при установленной системе MS-DOS. Обычно Windows 3.x называют операционной оболочкой.

1.3. Процесс начальной загрузки компьютера и
операционной системы

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

  1. При включении питания запускается подпрограмма POST (Power On Self Test), которая определяет объём установленной оперативной памяти, её исправность, подключённые периферийные устройства и конфигурацию системы. Во время POST можно зайти подпрограмму BIOS Setup для задания конфигурации системы. В случае отсутствия оперативной памяти или видеоадаптера выдаётся звуковой сигнал, по которому можно определить причину неполадки. Если видеоадаптер и оперативная память присутствуют, дальнейшие сообщения выводятся на экран.

  2. После завершения POST BIOS определяет последовательность загрузки системы. Это включает в себя считывание из CMOS-памяти информации о том, с какого устройства выполнять загрузку (дисковод, жёсткий диск, CD-ROM и т. д.). В случае неуспешной загрузки с данного устройства BIOS переходит к загрузке со следующего по списку загрузки устройства (если эта опция поддерживается). В противном случае выдаётся сообщение о невозможности загрузки.

  3. В случае загрузки с дисковода BIOS считывается в память по адресу 0x7C00 (007C:0000) сектор 1 дорожки 0 головки 0 дискеты и вызывает команду дальнего перехода на адрес 007C:0000. После этого управление передаётся программе загрузочного сектора. Данная программа выполняет загрузку в память начального кода ОС, после чего передаёт ему управление. Поскольку в загрузочный сектор объёмом 512 байт помимо программы начальной загрузки включены и некоторые структуры данных, под код программы отводится только 426 байт и поэтому начальный код ОС должен размещаться в последовательных секторах для облегчения его поиска и сокращения объёма команд.

  4. В случае загрузки с жёсткого диска BIOS считывает главный загрузочный сектор (сектор 1 цилиндра 0 головки 0 для CHS или абсолютный сектор 0 для LBA) в память по адресу 007C:0000 и передаёт ему управление. Главный загрузочный сектор помимо программы загрузки содержит таблицу разделов, которая определяет характеристики разделов на жёстком диске. Размер таблицы разделов фиксирован и составляет 4 записи. Таким образом, на жёстком диске может быть не более 4 разделов (не путать с логическими дисками). Может быть до 3 основных разделов (те разделы, с которых выполняется загрузка ОС) и один дополнительный раздел (который включает в себя логические диски). Программа главного загрузочного сектора определяет, какой из основных разделов является активным и считывает в память его загрузочный сектор, а затем передаёт на него управление. Далее загрузка осуществляется, как в шаге 3.

  5. В случае невозможности загрузки ОС программа загрузочного сектора выдаёт соответствующее сообщение пользователю и далее, как правило, по нажатию клавиши выполняется перезагрузка.

Контрольные вопросы

  1. Дайте определение операционной системе.

  2. Назовите основные функции ОС.

  3. По каким признакам можно классифицировать ОС?

  4. Какие основные проблемы возникают в многозадачных ОС?

  5. Какие типы многозадачности вы знаете и чем они отличаются?

  6. Поясните процесс начальной загрузки компьютера и ОС.

2. Лабораторная работа №1

2.1. Цель работы

Изучить назначение и структуру загрузочного сектора дискет и жестких дисков. Получить практические навыки написания кода для загрузочного сектора.

2.2. Основные теоретические положения

Основным назначением загрузочного сектора дискет и жёстких дисков является загрузка начального кода ОС с диска в память и передача ему управления. Помимо кода, считывающего в память начальный код ОС, загрузочный сектор также содержит некоторую важную информацию о диске – тип ОС, тип файловой системы, количество секторов и т. д. Далее будет рассмотрена структура загрузочного сектора, используемая совместно с файловыми системами FAT. Файловая система NTFS использует другую структуру загрузочного сектора.

2.2.1. Структура загрузочного сектора дискет и жёстких дисков

В таблице 2.2.1 представлена структура загрузочного сектора дискет и жёстких дисков с указанием смещений и размеров полей структуры.

Таблица 2.2.1 – структура загрузочного сектора дискет и жёстких дисков.

Смещение поля
(в байтах)

Размер поля
(в байтах)

Пример
значения
в поле

Назначение поля

0x0000

3

EB 3C 90

Команда перехода (JMP)

0x0003

8

MSDOS5.0

Тип ОС

0x000B

25

Блок параметров BIOS

0x0024

26

Расширенный блок параметров BIOS

0x003E

448

Загрузочный код

0x01FE

2

0x55AA

Маркер конца сектора

Команда перехода практически всегда одинакова и передаёт управление на смещение 0x003E, где начинается загрузочный код. Выполнение команды перехода необходимо для того, чтобы «обойти» структуры данных, размещаемые перед загрузочным кодом.

Тип ОС – это текстовая строка размером 8 байт, идентифицирующая ту ОС, которая установлена на дискете или на разделе жёсткого диска. Эта строка для MS-DOS версии 5.0 и выше всегда равна ‘MSDOS5.0’ для ОС Windows 95 эта строка равна ‘MSWIN4.0’, а для Windows 98 – ‘MSWIN4.1’.

Блоки параметров BIOS содержат важную информацию о структуре диска – количество байт в секторе, количество секторов в кластере, количество копий FAT и т. д. Структура блока параметров BIOS приведена в таблице 2.2.2, а структура расширенного блока параметров BIOS – в таблице 2.2.3.

Загрузочный код выполняет операции по считыванию начального кода ОС в память и передачу ему управления. Для считывания данных с диска в загрузочном коде используются функции прерывания BIOS Int 13h (работа с диском на низком уровне). Поскольку для загрузочного кода отводится только 448 байт, начальный код ОС должен располагаться в последовательных секторах для сокращения числа команд, используемых для получения доступа к этому коду.

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

Таблица 2.2.2 – структура блока параметров BIOS.

Смещение поля
(в байтах)*

Размер поля
(в байтах)

Назначение поля

0x0B

2

Количество байт в секторе, т. е. размер физического сектора. Для большинства используемых дисков значение этого поля равно 512.

0x0D

1

Число секторов в кластере. Первоначальный размер кластера зависит от размера тома и используемой файловой системы.

0x0E

2

Количество зарезервированных секторов, т. е. количество секторов от загрузочного сектора до начала первой таблицы распределения файлов, включая сам загрузочный сектор. Минимальное значение этого поля: 1. Если значение в поле больше 1, это означает, что загрузочный код не умещается целиком в загрузочном секторе и занимает один или несколько следующих секторов.

0x10

1

Количество таблиц распределения файлов (File Allocation Tables – FATs), т. е. количество копий FAT на данном томе. Обычно значение этого поля равно 2.

0x11

2

Максимальное количество элементов корневого каталога, которое может храниться в корневой папке тома. Один элемент всегда используется для метки тома. Файлы с длинными именами используют несколько элементов оглавления. Обычно максимально количество файлов в корневом каталоге равно 511, т. е. значение данного поля обычно равно 512 (+1 элемент на метку тома). Однако, если в корневом каталоге используются длинные имена файлов, максимальное количество файлов будет меньше 511.

0x13

2

Количество секторов в томе. Данное поле используется, если число секторов в томе не более 65535. Если же число секторов в томе больше 65535, то значение данного поля равно 0, и используется поле со смещением 0x20.

0x15

1

Тип носителя. Значение этого поля характеризует используемый тип носителя. Для жёстких дисков значение данного поля равно 0xF8.

0x16

2

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

0x18

2

Количество секторов на дорожке. Значение в это поле заносится при форматировании диска.

0x1A

2

Количество головок (сторон) диска. Значение в это поле заносится при форматировании диска.

0x1C

4

Количество скрытых секторов. Значение этого поля используется только для жёстких дисков. Значение поля характеризует смещение (в секторах) от начала диска до раздела, в котором размещается данный загрузочный сектор.

0x20

4

Данное поле используется, если количество секторов на томе превышает 65535. Если же количество секторов меньше или равно 65535, используется поле со смещением 0x13.

* - здесь и далее смещения приводятся относительно начала загрузочного сектора.

Таблица 2.2.3 – структура расширенного блока параметров BIOS.

Смещение поля
(в байтах)

Размер поля
(в байтах)

Назначение поля

0x24

1

Физический номер диска. Этот параметр относится к физическому номеру диска BIOS. Гибкие диски нумеруются, начиная с 0x00 (диск A). Жёсткие диски нумеруются, начиная с 0x80 (диск C). Значение этого поля используется при вызове загрузочным кодом функций прерывания BIOS Int 13h.

0x25

1

Текущий номер головки. Это поле не используется для файловых систем FAT. Windows NT использует данной поле для хранения двух флагов:

  1. 0-й бит используется для определения необходимости запуска программы Chkdsk для данного диска при запуске Windows;

  2. установленный 1-й бит говорит о необходимости запуска теста поверхности данного диска; данный бит имеет значение только если бит 0 установлен в 1.

0x26

1

Сигнатура. Используется для обозначения корректного раздела или дискеты. Значение этого поля должно быть 0x28 или 0x29.

0x27

4

Серийный номер тома. Уникальное число, которое записывается в данное поле при форматировании диска.

0x2B

11

Метка тома. Раньше это поле использовалось для хранения метки тома, но в настоящее время для этой цели в корневом каталоге используется специальный файл с атрибутом ‘метка тома’.

0x36

8

Идентификатор файловой системы. Служит для определения файловой системы, установленной на данном томе. Значение этого поля может быть равно ‘FAT12’, ‘FAT16’ или ‘FAT32’.

В таблице 2.2.4 представлены коды значения поля типа носителя (блок параметров BIOS) для различных типов дисководов.

Таблица 2.2.4 – коды значения поля типа носителя.

Значение

Ёмкость

Размер и тип носителя

0xF0

2,88 Мб

3,5”, 2 стороны, 36 секторов на дорожку

0xF0

1,44 Мб

3,5”, 2 стороны, 18 секторов на дорожку

0xF9

720 Кб

3,5”, 2 стороны, 9 секторов на дорожку

0xF9

1,2 Мб

5,25”, 2 стороны, 15 секторов на дорожку

0xFD

360 Кб

5,25”, 2 стороны, 9 секторов на дорожку

0xFF

320 Кб

5,25”, 2 стороны, 8 секторов на дорожку

0xFC

180 Кб

5,25”, 1 сторона, 9 секторов на дорожку

0xFE

160 Кб

5,25”, 1 сторона, 8 секторов на дорожку

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

Таблица 2.2.5 – структура загрузочного сектора разделов с файловой системой NTFS.

Смещение поля
(в байтах)

Размер поля
(в байтах)

Пример
значения
в поле

Назначение поля

0x0000

3

EB 5B 00

Команда перехода (JMP)

0x0003

8

NTFS

Тип файловой системы

0x000B

25

Блок параметров BIOS

0x0024

48

Расширенный блок параметров BIOS

0x003E

426

Загрузочный код

0x01FE

2

0x55AA

Маркер конца сектора

Из сравнения таблиц 1 и 5 видно, что размер загрузочного кода в загрузочном секторе NTFS меньше, чем у FAT. Однако, размер загрузочного кода Windows NT/2000 больше 426 байт и при форматировании диска под загрузочный код отводятся первые 16 секторов. В этом случае количество зарезервированных секторов (поле по смещению 0x0E в блоке параметров BIOS) будет равно 16.

Дополнительные поля расширенного блока параметров BIOS необходимы для локализации одной из основных структур NTFS – Master File Table (MFT). MFT в отличие от FAT не располагается в фиксированных секторах, что обеспечивает возможность перемещения MFT в другое место диска в случае возникновения повреждённых секторов в области MFT.

Структура блока параметров BIOS для томов NTFS представлена в таблице 2.2.6, а структура расширенного блока параметров – в таблице 2.2.7.

Таблица 2.2.6 – структура блока параметров BIOS для томов NTFS.

Смещение поля
(в байтах)

Размер поля
(в байтах)

Назначение поля

0x0B

2

Количество байт в секторе.

0x0D

1

Число секторов в кластере.

0x0E

2

Количество зарезервированных секторов.

0x10

1

Значение этого поля всегда равно 0.

0x11

2

Значение этого поля всегда равно 0.

0x13

2

Не используется NTFS.

0x15

1

Тип носителя.

0x16

2

Значение этого поля всегда равно 0.

0x18

2

Количество секторов на дорожке.

0x1A

2

Количество головок (сторон) диска.

0x1C

4

Количество скрытых секторов.

0x20

4

Не используется NTFS.



Скачать документ

Похожие документы:

  1. Том 2 документации об аукционе для проведения открытого аукциона для субъектов малого предпринимательства

    Инструкция
    ... с некоторыми операционными системами) - Вес ... Методическое пособие по ... пособием и предназначена для использования на учебных занятиях по химии, и другим общеобразовательным дисциплинам ... выполнения лабораторных работ по биологии» ... (лота), указанным в томе ...
  2. Ищите тесты не только по названиям

    Тесты
    ... методического) уровня системы ... работой всех устройств ПК и процессом выполнения прикладных программ, называется 3. Операционные системы ... дисциплины ... , лабораторное оборудование ... пособия по ... по достижении: 108. Выполнение налогоплательщиком письменных указаний ...
  3. Постановление исполнительного комитета г казани 30 06 2009 №5258 об утверждении стандарта муниципальной услуги «предоставление общедоступного бесплатного начального общего основного общего среднего (полного) общего образования по основным

    Программа
    ... Д Д - 1.4 Методическое пособие для учителя К К - 1.5 Рабочие тетради по физике Д Д - 1.6 Хрестоматия по физике К** К** По возможности 1.7 Комплекты пособий для выполнения лабораторных ...
  4. III ПРИРОДНЫЙ ЗАКОН ПИТАНИЯ ЧЕЛОВЕКА

    Закон
    ... операционный ... указанный срок подлежат увольнению по профессиональной непригодности. Обязательно выполнение ... системы и системы обмена веществ, нарушается работа всей пищеварительной системы ... наглядные пособия, ... “Дисциплина” ... методически ... У лабораторных мышей ...
  5. Методическое пособие по по дисциплине «теоретические основы автоматизированного управления» и указания к выполнению лабораторных работ

    Методическое пособие
    ... Методическое пособие по по дисциплине «Теоретические основы автоматизированного управления» и указания к выполнению лабораторных работ Номер специальности – 230102 «Автоматизированные системы ... и под различными операционными системами. При этом ...

Другие похожие документы..