
- •Л а б о р а т о р н а я р а б о т а № 1 Физическая структура дисковой памяти
- •1. Теоретическая часть
- •2. Практическая часть
- •3. Содержание отчета
- •Основные сведения о системном отладчике debug
- •Л а б о р а т о р н а я р а б о т а № 2 Системные средства распределения дискового пространства в ос Windows и ms dos
- •1. Теоретическая часть
- •2. Практическая часть
- •3.Содержание отчета
- •Л а б о р а т о р н а я р а б о т а № 3 Создание приложений Windows с использованием средств прикладного программирования Win32 api
- •2. Функции для выполнения операций с файлами, папками и дисками
- •2.2. Задание для выполнения к части 1 лабораторной работы
- •Часть 2
- •Processor_intel_486;
- •Часть 3
- •5. Содержание отчета по лабораторной работе
- •Лабораторная работа № 4 Архитектура и особенности файловой системы fat32
- •1.1. Общая характеристика файловой системы fat32
- •1.2. Системные структуры данных fat32
- •1.3. Программная реализация чтения системных структур раздела диска с файловой системой fat 32
- •2. Практическая часть
- •3.Содержание отчета
- •Литература
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.