Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Абель.docx
Скачиваний:
19
Добавлен:
26.11.2018
Размер:
569.84 Кб
Скачать

016. Второй кластер для файла, следовательно, имеет номер 016.

Для того, чтобы найти третий кластер, необходимо умножить 16 на 1,5

получим 24. Затем следует выбрать содержимое байтов 24 и 25 таблицы FAT.

Значение 1780 после перестановки байтов даст 8017. Так как число 16

четное, то используются последние три цифры 017. Третий кластер для файла

имеет номер 017.

Для того, чтобы найти четвертый кластер, необходимо умножить 17 на

1,5, Получим 25.5. Затем следует выбрать содержимое байтов 25 и 26 таблицы

FAT. Значение 8001 после перестановки байтов даст 0180. Так как число 17

нечетное, то используются первые три цифры 018. Четвертый кластер для

файла имеет номер 018.

При использовании этой же процедуры для локализации содержимого

следующего элемента FAT по относительным адресам 27 и 28, получим FF*F,

что после перестановки даст *FFF. Так как число 18 четное, используются

последние три цифры FFF, что обозначает последний элемент.

Как было ранее сказано, все файлы начинаются на границе кластеpа.

Кроме того, совсем не обязательно файл должен храниться в соседних

кластерах, он может быть разбросан на диске по разным секторам.

Если в программе необходимо определить тип установленного диска, то

можно обратиться к таблице FAT непосредственно, или, что предпочтительней,

использовать функцию DOS 1BH или 1CH.

ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ

________________________________________________________________

- Независимо от размеров все файлы начинаются на границе кластера.

- Оглавление (каталог) содержит для каждого файл на диске элементы,

определяющие имя, тип, атрибуты, дату, начальный сектор и pазмер файла.

- Таблица распределения файлов (FAT) содержит один элемент для

каждого кластеpа в каждом файле.

ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ

________________________________________________________________

15.1. Какую длину в байтах имеет стандартный сектор?

15.2. Где расположена запись начальной загрузки?

15.3. Как обозначаются в оглавлении удаленные файлы?

15.4. Какие дополнительные действия выполняются при форматизации

дискеты по команде DOS FORMAT /S?

15.5. Где и каким образом обозначается в таблице FAT, что устройством

является твердый диск?

15.6. Имеется файл размером 2890 (десятичное) байтов: а) Где хранит

cистема размер файла? б) Как выражается этот размер в шестнадцатиричном

формате? в) Покажите значение в том виде, как оно записывается системой.

Глава 16 Дисковая память II: Функции базовой версии dos

__________________________________________________________________________

Ц е л ь: Раскрыть основные требования к программированию функций

базовой версии DOS для обработки дисковых файлов.

ВВЕДЕНИЕ

________________________________________________________________

В начале данной главы рассматриваются функции базовой версии DOS,

определяющие блок управления файлом (FCB), а затем будут показаны

возможности создания и обработки дисковых файлов последовательным и прямым

доступом. Все рассматриваемые операции были введены в первых версиях DOS и

возможны во всех последующих версиях.

Обработка дисковых файлов в базовой DOS включает определение блока

управления файлом (FCB - file control block), который описывает файл и его

записи. Передача адреса блока FCB в DOS обязательна для всех дисковых

операций ввода-вывода. Новых команд ассемблера в данной главе не

потребуется.

Управление вводом и выводом осуществляется специальными прерываниями.

Запись файла на диск требует, чтобы прежде он был "создан" и DOS смогла

сгенерировать соответствующий элемент в оглавлении. Когда все записи файла

будут записаны, программа должна "закрыть" файл, так, чтобы DOS завершила

обработку оглавления. Чтение файла требует, чтобы он был сначала "открыт"

для того, чтобы убедиться в его существовании. Так как записи имеют

фиксированную длину и в силу соответствующей организации оглавления,

обработка записей дискового файла может осуществляться как

последовательно, так и произвольно.

Метод доступа к дисковой памяти, поддерживающий использование

оглавления, "блокирование" и "разблокирование" записей, обеспечивается

прерыванием DOS 21H. Более низкий уровень, обеспечивающий абсолютную

адресацию дисковых секторов, также через DOS, выполняется посредством

прерываний 25H и 26H. Самый низкий уровень обеспечивается прерыванием BIOS