Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

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, должна указать идентификатор этого файла.

Первые пять идентификаторов зарезервированы операционной системой:

Идентификатор Описание
0 Стандартное устройство ввода (клавиатура)
1 Стандартное устройство вывода (консоль)
2 Стандартное устройство для вывода сообщений об ошибках (консоль)
3 Стандартное устройство последовательного ввода/вывода, обычно асинхронный адаптер COM1
4 Стандартное печатающее устройство (обычно параллельный порт LPT1)

Зарезервированные идентификаторы всегда доступны программе. Для устройств, соответствующих этим идентификаторам, не требуется выполнять операцию открытия.

Одно из преимуществ файловых функций второго класса (использующих идентификаторы файлов) - возможность одновременной работы с файлами, расположенными в разных каталогах.

Состав функций MS-DOS, предназначенных для работы с файловой системой, достаточно разнообразен. Только в очень редких случаях, связанных в основном с организацией защиты информации от несанкционированного доступа, вам может потребоваться доступ к диску на более низком уровне. Если ваша программа использует для работы с файлами только документированные функции операционной системы, ее работа не будет зависеть от аппаратных средств компьютера, а также от программы, с помощью которой были созданы разделы диска MS-DOS.

[Назад] [Содеожание] [Дальше]