Поскольку часто системные программы пишутся на языке
Турбо Паскаль, необходимо обеспечить непосредственную связь с
операционной системой для выполнения определенных операций в об-
ход стандартного интерфейса Турбо Паскаля. Может возникнуть также
потребность в специальных системных функциях, которые отсутствуют
в Турбо Паскале. По этой причине применение специальных средств
операционной системы является обычным при программировании на
Турбо Паскале.
В настоящее время несколько операционных систем поддерживает
Турбо Паскаль:
- PC-DOS или MS-DOS;
- СР/М;
- СР/М-86. Все операционные системы предусматривают возмож-
ность
применения в программах таких функций, как открытие дисковых фай-
лов, ввод символов с консоли и вывод символов на консоль, выделе-
ние памяти для выполнения программы. Способ применения этих функ-
ций зависит от операционной системы, но во всех случаях
используется таблица переходов. В такой операционной системе как
СР/М вызов системной функции осуществляется инструкцией CALL с
передачей управления в определенный участок памяти, когда регистр
содержит требуемый код функции. В операционной системе PC-DOS
применяется программное прерывание. В обоих случаях для связи
системной функции с вашей программой используется таблица перехо-
дов. На рис.21 показано расположение операционной системы и таб-
лицы переходов в памяти.
+---------------------+
¦ Операционная ¦ -------+
+------ ¦ система ¦ ----+ ¦
¦ ¦ ¦ ¦ ¦
¦ ¦ ¦ ¦ ¦
¦ +-- ¦ ¦ ¦ ¦
¦ ¦ +---------------------¦ ¦ ¦
¦ ¦ ¦ . . . ¦ ¦ ¦
¦ ¦ +---------------------¦ ¦ ¦
¦ ¦ ¦ Функция 4 --+-----+--+
¦ ¦ +---------------------¦ ¦
¦ ¦ ¦ Функция 3 --+-----+
¦ ¦ +---------------------¦
¦ +---+- Функция 2 ¦
¦ +---------------------¦
+-------+- Функция 1 ¦
+---------------------+
Рис.21. Расположение в памяти операционной системы и таблицы
переходов
В этой книге нет возможности рассмотреть все операционные
системы. В этой главе будет рассматриваться только операционная
система PC-DOS, получившая наибольшее распространение. Однако
рассматриваемые здесь общие методы применимы и для других опера-
ционных систем.