Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BOS.doc
Скачиваний:
13
Добавлен:
21.12.2018
Размер:
1.25 Mб
Скачать

Вопрос 20. Операционная система ms-dos. Структура загрузочного сектора диска.

MS DOS – является однозадачной, однопользовательской, 16-ти разрядной ОС

Сектор начальной загрузки:

  • идентификатор разработчика

  • программа-загрузчик

  • блок параметров

  • Смещение

  • Смещение 3 8 байт – имя и версия системы

  • Смещение 0В 2 байта – число байт (512) в секторе

  • Смещение 0D 1 байт – число секторов на устройстве

  • Смещение 0Е 2 байта – число резервных секторов

  • Смещение 13 2 байта – общее число секторов на логическом томе

  • Смещение 15 1 байт – дескриптор носителя данных

  • Смещение 16 2 байта – число секторов FAT

  • Смещение 1А 2 байта – число головок

  • Смещение 1С 2 байта – число невидимых секторов

Вопрос 21. Операционная система ms-dos. Форматы исполняемых файлов.

MS DOS – является однозадачной, однопользовательской, 16-ти разрядной ОС

DOS поддерживает 2 типа исполняемых файлов: .com и .exe. Файлы типа .com – самые простые, они являются всего лишь двоичным образом задачи. При запуске такого файла DOS просто считывает его в память по смещению 100h и передает управление на его первый байт. В том же сегменте, по смещению 0, записывает PSP – структура данных, необходимая программе для получения доступа к элементам командной строки и др. ). В .com ds, cs, ss указывают на один сегмент. Файла типа .exe более сложны по своей структуре. Эти файлы предназначены для создания программ, код или данных которых превышают по размеру 64 Кбайта (максимальный размер .com файла). Так как максимальный размер сегмента в процессоре 8086 также равен 64 Кбайтам (что является ограничением на длину .com), то DOS записывает коды и данные из .exe файла в несколько сегментов, используя информацию из структуры, находящейся в начале файла (из заголовка .exe файла).

Файл .exe состоит из двух частей: управляющая информация для загрузчика, собственно загрузочный модуль. Информация для загрузчика расположена в начале файла и образует заголовок. Сразу за ним следует тело загрузочного модуля. Тело загрузочного модуля начинается на границе блока и представляет собой копию образа памяти задачи, которую построил компоновщик. Далее следует таблица настройки адресов. Таблица состоит из элементов, число которых записано в байтах 06 – 07. Элемент таблицы настройки состоит из двух полей: 2-байтового смещения и 2-байтового сегмента, и указывает слово в загрузочном модуле, содержащие адрес, который должен быть настроен на место в памяти, куда загружается задача. Благодаря этой настройке программа при своей работе использует правильные сегментные адреса.

Вопрос 22. Операционная система ms-dos. Структура psp.

MS DOS – является однозадачной, однопользовательской, 16-ти разрядной ОС

В области памяти после резидентной части, выполняющей загрузку программ, строится префикс Программного Сегмента (см. таблицу ниже). PSP представляет собой 100h – байтовую область памяти, вслед за которой загружается программа. В эту область заносятся системные данные, которые бывает полезно считывать; в частности, по адресу 80h в PSP заносится командная строка, сопутствующая программе.

Структура PSP

Смещение - Размер

Содержимое

0 – 2

Команда завершения int 20h

2 – 2

Номер последнего доступного блока в памяти (номер параграфа)

4 – 1

Зарезервировано

5 – 5

Команда вызова диспетчера функций DOS

0А – 4

Адрес завершения программы

0Е – 4

Адрес обработчика критических ошибок

16 – 16

Зарезервировано для использования DOS

2С – 2

Адрес сегмента окружения DOS

2Е – 2Е

Зарезервировано для использования DOS

5С – 10

Используется для обработки первого параметра командной строки с помощью FCB (file control block) (блок управления файлом)

6С – 14

Используется для обработки второго параметра командной строки с помощью FCB (file control block) (блок управления файлом)

80 – 1

Длина строки параметров (используется так же, как смещение начала области обмена данных с диском (DTA – disk transfer area) по умолчанию)

81 – 7F

Содержимое командной строки

100

Начинается размещение программы

В PSP программа со смещением 2F находится 4-байтовая область, в которую DOS помещает указатель стека при обращении к системным функциям, так как при выполнении ряда системных выховов используется внутренний стек DOS.

При пошаговом выполнении обработку int 21h первым выполняет отладчик, чей указатель будет сохранен в активном PSP.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]