MS-DOS для программиста© Александр Фролов, Григорий ФроловТом 19, М.: Диалог-МИФИ, 1995, 253 стр. 3. Файловая система DOS
Теперь, после того как мы познакомились с логической структурой диска, можно приступить к изучению одной из самых развитых систем MS-DOS - файловой системы . Сервис файловой системы доступен программе через прерывание INT 21h . Многочисленные функции этого прерывания, относящиеся к файловой системе, можно разбить на группы:
Функции первой группы позволяют программе получать разностороннюю информацию, касающуюся текущего состояния дисковой системы - текущий диск и текущий каталог, размер свободного места на диске, параметры логического диска и т. д. Функции второй группы выполняют все необходимые операции с каталогами - создание, переименование, уничтожение каталогов, изменение текущего каталога. Третья группа функций позволяет программе выполнять практически любые операции над файлами - создание, удаление, чтение или запись, переименование, копирование, пересылка. Заметим, что существует два класса функций для работы с файлами. Первый класс использует управляющие блоки файлов FCB . Эти функции использовались в MS-DOS версий 1.х и имеют в настоящее время чисто исторический интерес. Вам они, скорее всего, никогда не будут нужны, за исключением одного случая - если вам надо составить программу, способную работать под управлением MS-DOS версии 1.0 или 1.1. В этой книге мы не будем упоминать функции, предназначенные для работы с файлами через FCB. Второй класс использует идентификаторы файла (file handle). Этот класс функций впервые появился в MS-DOS версии 2.0. Смысл идентификатора файла индекса очень прост. Для того чтобы приступить к работе с файлом, программа должна вызывать определенную функцию DOS, "открывающую" этот файл. Процесс открытия файла заключается в присвоении ему определенного числа (идентификатора) и выполнении некоторых других инициализирующих действий. Для выполнения каких-либо операций с файлом программа, вызывая соответствующую функцию MS-DOS, должна указать идентификатор этого файла. Первые пять идентификаторов зарезервированы
операционной системой:
Зарезервированные идентификаторы всегда доступны программе. Для устройств, соответствующих этим идентификаторам, не требуется выполнять операцию открытия. Одно из преимуществ файловых функций второго класса (использующих идентификаторы файлов) - возможность одновременной работы с файлами, расположенными в разных каталогах. Состав функций MS-DOS, предназначенных для работы с файловой системой, достаточно разнообразен. Только в очень редких случаях, связанных в основном с организацией защиты информации от несанкционированного доступа, вам может потребоваться доступ к диску на более низком уровне. Если ваша программа использует для работы с файлами только документированные функции операционной системы, ее работа не будет зависеть от аппаратных средств компьютера, а также от программы, с помощью которой были созданы разделы диска MS-DOS. |