Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_ЛР 942_Часть1.doc
Скачиваний:
16
Добавлен:
15.04.2015
Размер:
651.26 Кб
Скачать

2. Практическая часть

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

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

В практической части работы необходимо вначале ознакомиться с командами отладчика debug, основные из которых представлены в приложении, и затем выполнить пункты 2.1 и 2.2.

2.1.Чтение и анализ содержимого первого сектора ЖМД

2.1.1. При выполнении данного пункта можно использовать функцию 02h прерывания 13h BIOS двумя способми:

1) с помощью команд отладчика a <смещение>, g <смещение пустой строки> выполнить ассемблерную последовательность команд, реализующую функцию 02h прерывания 13h. При выполнении команды a задать: <смещение>=100, BX=200. Командой d ES:BX получить на экране дамп первого сектора ЖМД. После команды d ES:BX трижды последовательно задать команду d.

2) с помощью текстового редактора оболочки NC создать текстовый файл2 mbr.dbg вида:

a 100

mov ah,02

mov al,1

mov ch,0

mov cl,1

mov dh,0

mov dl,80

mov bx,200

int 13

<пустая строка>

g <смещение пустой строки>

r bx

0000

r cx

0200

n master.sec

w es:200

q

<Enter>

Выполнить команду debug<mbr.dbg

В результате содержимое первого сектора ЖМД должно быть получено в файле master.sec текущего каталога.

Второй способ позволяет получить тот же результат, но в более удобной для дальнейшего использования форме.

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

2.1.3. Используя второй способ чтения начального сектора ЖМД, получить файл master.sec. Проанализировать содержимое файла и занести в отчет таблицу разделов винчестера. Расшифровать значения всех полей элементов таблицы для первичного и расширенного разделов. Данные занести в таблицу, аналогичную табл.2. Сравнить результаты выполнения пунктов 2.1.2 и 2.1.3.

2.1.4. Запустить на выполнение программу просмотра диска DISKEDIT и проанализировать содержимое начального сектора винчестера в текстовом и шестнадцатеричном режимах. Сопоставить полученную информацию с результатами пп.2.1.2, 2.1.3.

Примечание. При работе с программой DISKEDIT запрещается внесение каких-либо изменений в системные таблицы винчестера, т.к. это может сделать диск неспособным к загрузке!

2.1.5. На основании информации из элемента расширенного раздела определить местоположение на диске (цилиндр, сторона, сектор) вторичного загрузочного сектора логического диска D:. Найти его таблицу разделов, прочитать и расшифровать содержимое элементов этой таблицы.

Примечание. При выполнении этого пункта использовать программу DISKEDIT.

2.2.Чтение и анализ содержимого загрузочной записи логического диска (дискеты)

2.2.1. Прочитать загрузочный сектор логического диска A: c помощью прерывания 25h, составив для этого фрагмент ассемблерной программы и выполнив его с помощью команды отладчика a. Проанализировать полученный дамп памяти, расшифровать его и заполнить в отчете таблицу форматированной области сектора (см. табл.3 и 4). При выполнении прерывания 25h принять BX=200.

2.2.2. Выполнить задание п.2.2.1 другим способом, для чего:

а) подготовить в редакторе NC текстовый файл br.dbg вида:

l cs:100 <номер логич.диска> <нач.номер читаемого сектора> <число читаемых секторов>

r cx

200

n boot.sec

w

q

б) выполнить команду debug<br.dbg;

в) получить файл загрузочного сектора boot.sec, проанализировать его содержимое. Сравнить полученные результаты с данными в п.2.2.1.

2.2.3. Выполнить задание п.2.2.2 для логических дисков C:,D:. Занести в отчет содержимое форматированной области загрузочных секторов этих дисков. Сопоставить результаты с данными, полученными в пп.2.2.1, 2.2.2.

2.2.4. Прочитать и проанализировать содержимое загрузочных секторов дисков A:, C:,D: с помощью программы DISKEDIT. Сравнить полученные результаты с данными, полученными в пп. 2.2.1. – 2.2.3.