всех параметров.
В таблице 13-10 поля с отрицательными смещениями используют-
ся при работе под управлением версий 2.0 и старше операционной
- 13-37 -
системы MS-DOS, для превращения блока FCB в расширенный блок FCB,
который позволяет вам использовать параметр атрибута файла в сме-
щении "-1". Значение 0FFh должно располагаться в смещении - 7 для
того, чтобы блок FCB был бы обозначен, как расширенный блок FCB.
Таблица 13-10
Формат блока FCB операционной системы MS-DOS
ДДДДДДДДДДДВДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДД
Байт ¦ Размер ¦ Описание ¦ Модифицируется
смещения ¦ ¦ ¦
ДДДДДДДДДДД†ДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДД
- 7 ¦ 1 ¦ Шестнадцатиричное ¦ Программой
¦ ¦ значение 0FF ¦
- 6 ¦ 6 ¦ Зарезервировано ¦ Программой
¦ ¦ (должен быть нуль) ¦
- 1 ¦ 1 ¦ Атрибут файла ¦ Программой и
¦ ¦ ¦ операционной
¦ ¦ ¦ системой MS-DOS
0 ¦ 1 ¦ Номер дисковода (от ¦ Программой
¦ ¦ 0 до 16) ¦ операционной
¦ ¦ ¦ системой MS-DOS
1 ¦ 8 ¦ Имя файла или ¦ Программой
¦ ¦ устройства ¦
9 ¦ 3 ¦ Расширение файла ¦ Программой
¦ ¦ или его тип ¦
12 ¦ 2 ¦ Текущий блок ¦ Программой
14 ¦ 2 ¦ Размер записи в ¦
¦ ¦ байтах ¦
16 ¦ 4 ¦ Размер файла в ¦ Операционной
¦ ¦ байтах ¦ системой MS-DOS
20 ¦ 2 ¦ Дата ¦ Операционной
¦ ¦ ¦ системой MS-DOS
22 ¦ 10 ¦ Зарезервировано ¦ Операционной
¦ ¦ ¦ системой MS-DOS
32 ¦ 1 ¦ Текущая запись ¦ Программой
¦ ¦ ¦ операционной
¦ ¦ ¦ системой MS-DOS
33 ¦ 4 ¦ Номер произвольной ¦ Программой
¦ ¦ записи ¦ операционной
¦ ¦ ¦ системой MS-DOS
ДДДДДДДДДДДБДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДД
Значения смещения и размера записи задаются в десятичном
виде.
Описатели файлов операционной системы MS-DOS
Операционная система MS-DOS версии 2.0 представляет Вам го-
раздо более простой способ работы с файлами. Вместо трудоемкого
определения и создания блока FCB всякий раз, когда требуется соз-
дать или открыть файл, можно использовать несколько таких обраще-
ний к функциям, которые требуют от Вас только значения одной
единственной строки в коде ASCII, определяющей характеристику
всего файла, и заканчивающейся нулем. Эта строка, называемая
"строкой ASCII", может иметь длину 64 байта для размещения в ней
длинных имен путей доступа. Этой строке соответствует синтаксис
задания обычного файла:
- 13-38 -
drive:\path\filename.extension
1 2 3 4
1 - дисковод; 2 - путь доступа; 3 - имя файла; 4 - расширение
При выполнении обращения к функции 3Ch (создать файл) или к
функции 3Dh (открыть файл) операционная система MS-DOS создает
описатель файла, основываясь на информации, содержащейся в строке
ASCIIZ.
Обращение к функциям с 3Ch по 57h - все являются функциями,
связанными с файлами и использующими описатели файлов. В эту же
группу включены три новые функции (с 5Аh по 5Ch), введенные вер-
сией 3.0 операционной системы MS-DOS.
Поскольку операционная система MS-DOS создает и управляет
описателями файла, прикладной программе больше не нужно отслежи-
вать местоположение информации о файле в памяти простого обраще-
ния к строке ASCIIZ,достаточно для оповещения операционной систе-
мы MS-DOS о том, что программа делает, согласно используемой
функции. Это встроенное средство имеет также другое достоинство:
одновременно может существовать несколько описателей файлов, по-
тому что операционная система MS-DOS всегда следит за их положе-
нием в памяти.
Единственный недостаток использования описателей заключается
в том, что они не поддерживаются версиями до 2.0 операционной
системы MS-DOS. Поэтому, если программа должна быть совместимой
со всеми версиями операционной системы MS-DOS, следует избегать
использования описателей файлов. Отметим, однако, что при появле-
нии описателей файлов (так же, как и при появлении многих других
особенностей) версии операционной системы MS-DOS с 2.0 по 3.1 до-
казали, что они являются переходными ступенями между старыми опе-
рационными системами (такими, как операционная система CP/M) и
наиболее совершенной из операционных систем - системой XENIX.
Почти все новые обращения к функциям связаны с файлами,
операционные системы MS-DOS непосредственно совместимы с анало-
гичными функциями операционной системы XENIX, как это происходит
с другими характеристиками системы, такими, как имена путей дос-
тупа, древовидные структуры каталогов и переадресация. Таким об-
разом, следует учитывать совместимость снизу вверх, особенно тог-
да, когда Вы осознаете, что текущие версии операционной системы
XENIX не поддерживают старый метод управления файлами с использо-
ванием блоков FCB.
Операционная система MS-DOS (персональный компьютер
фирмы "ИБМ" (IBM PC) и персональный компьютер фирмы
"ИБМ" серии 2 (IBM PS/2)
Персональный компьютер фирмы "ИБМ" (IBM PC) безусловно был
самым распространенным из всех, когда-либо установленных компь-
ютеров, работавших под управлением операционной системы MS-DOS.
Действительно, широкая популярность операционной системы MS-DOS
была ею завоевана, благодаря беспрецедентному успеху серии персо-
нальных компьютеров и совместимых с ними вычислительных машин.
Как же операционная система MS-DOS, используемая в персональном
компьютере IBM PC, соотносится с реализациями, описанными в этой
главе и в этой книге? При чтении руководства по операционной сис-
теме MS-DOS для персональных компьютеров IBM PC и IBM PS/2, в ко-
торых операционная система MS-DOS кратко называется "операционная
система DOS" или "операционная система PC-DOS" и руководства по
- 13-39 -
операционной системе MS-DOS, выпущенного фирмой "Майкрософт", об-
ратите внимание на сходства и на значительные различия в них.
Сходства вы найдете в тех частях операционной системы MS-DOS, ко-
торые являются стандартными или "родовыми" для всех реализаций
операционной системы MS-DOS. Различия представляют собой те осо-
бенности MS-DOS, которые часто являются уникальными для конкрет-
ных реализаций. В задачу настоящей книги входит описание стандарт-
ного процесса программирования в среде операционной системы
MS-DOS. Акцент делается на тех моментах программирования, которые
применимы ко всем реализациям операционной системы MS-DOS. Однако,
поскольку в персональном компьютере IBM PC наиболее часто устанав-
ливается операционная система MS-DOS, мы должны прояснить все
сходства и различия. Наличие такой информации поможет Вам при соз-
дании Ваших программ обеспечивать их полную совместимость.
Сходства
Представленные ниже кодовые характеристики операционной сис-
темы MS-DOS являются одинаковыми для всех реализаций этой опера-
ционной системы для любой версии.
- Программа DOS (дисковая операционная система). Эта прог-
рамма по существу представляет собой операционную систему
MS-DOS и размещается в скрытом файле на диске начальной
загрузки. В персональном компьютере IBM PC этот файл назы-
вается IBMDOS.СОМ. Несмотря на то, что он может быть наз-
ван и как-то иначе в других вычислительных машинах, этот
файл всегда одинаков для данной версии операционной систе-
мы и состоит из перечисленных ниже частей:
1. Исполнительного органа операционной системы
2. Обращений к функциям
3. Органа управления памятью (не структуры памяти) раз-
мером до 640 Кбайт
4. Интерфейса системы BIOS (не самой системы BIOS)
- Интерфейсная программа системы BIOS. Интерфейсная програм-
ма системы BIOS (базовая система ввода-вывода) выступает в
роли интерфейса или транслятора между операционной систе-
мой MS-DOS и системой BIOS. В персональном компьютере IBM
PC этот интерфейс размещается на диске начальной загрузки
в скрытом файле с именем IBMBIO.СОМ. Входная часть этой
программы одинакова для всех версий операционной системы
MS-DOS, а выходная часто зависит от типа конкретной вычис-
лительной машины (это может быть персональный компьютер
IBM PC, IBM PCjr, портативный IBM PC-Portable, IBM PC-XT,
IBM PC-AT или IBM PS/2. Операционная система DOS для сов-
местимых с IBM PC персональных компьютеров имеет похожий
файл, но он называется как-то иначе. В некоторых реализа-
циях операционной системы MS-DOS (в таких, как MS-PRO и PC
-PRO для компьютеров CompuPro (Viasyn) этот файл замещает-
ся самой системой BIOS.
- Интерпретатор команд (COMMAND.COM). Этот нескрытый файл
присутствует на всех дисках начальной загрузки. Обычно он
бывает одинаковым для всех реализаций, но иногда можно
встретить и различия в них. Этот файл обеспечивает интер-
- 13-40 -
фейс между операционной системой MS-DOS и пользователем,
выводя на экран дисплея подсказки. Он содержит такие встро-
енные команды и функции, как DIR (вывести оглавление), COPY
(скопировать), RENAME (переименовать), ERASE(стереть) и
функцию переадресования.
- Внешние команды. Набор внешних команд является стандартным
для всех реализаций операционной системы MS-DOS. Тем не