Вход/Регистрация
Язык программирования Си для персонального компьютера
вернуться

Субботин Д. М.

Шрифт:

Функция sbrk — это функция нижнего уровня для получения памяти. Вообще говоря, программа, которая использует функцию sbrk, не должна использовать другие функции выделения памяти, хотя их использование не запрещено.

Все выше описанные функции распределяли области памяти из общей памяти. Система программирования MSC предоставляет 2 функции, alloca и stackavail, для выделения памяти из стека и определения количества доступной памяти в стеке.

Использование системных вызовов операционной системы MS-DOS

Функция Краткое описание
bdos вызов системы MS-DOS; используются только регистры DX и AL
dosexterr получение значений регистров из системы MS-DOS вызовом 59H
FP_OFF возвращает смещение far-указателя
FP_SEG возвращает сегмент far-указателя
int86 вызов прерывания MS-DOS
int86x вызов прерывания MS-DOS
intdos системный вызов MS-DOS
intdosx системный вызов MS-DOS
segread возвращает текущее значение сегментных регистров

Прототипы функций и макроопределения содержатся в файле dos.h.

Система программирования MSC предоставляет дополнительно функции:

Функция Краткое описание
inp чтение с указанного порта в/в
outp вывод в указанный порт в/в

Прототипы функций inp и outp содержатся в файле conio.h.

Система программирования ТС предоставляет дополнительно следующие функции:

Функция Краткое описание
absread чтение с диска по номеру сектора
abswrite запись на диск по номеру сектора
bdosptr вызов системы MS-DOS
country определение способа записи времени в данной стране
ctrlbrk установить реакцию на <CTRL/BREAK>
disable отменить прерывания
enable разрешить прерывания
freemem освободить память
getinterrupt возбудить прерывание
getcbrk узнать установленную реакцию на <CTRL/BREAK>
getdfree узнать объем свободного места на диске
getdta узнать адрес области передачи данных диска
getfat получить информацию из таблицы размещения файлов
getfatd получить информацию из таблицы размещения файлов
getpsp получить сегментный префикс для текущего программного адреса текущего выполняемого процесса
getvect узнать значение вектора прерывания
getverify узнать режим проверки записи на диск
harderr регистрация функции обработки аппаратных ошибок
hardresume возврат из функции обработки аппаратных ошибок
hardretn возврат из функции обработки аппаратных ошибок
inport ввести слово из порта
inportb ввести байт из порта
intr аналог функции int86
keep зафиксировать программу в памяти
MK_FP составить far-указатель из компонент
outport вывести слово в порт
outportb вывести байт в порт
parsfnm выделение имени файла из командной строки MS-DOS
peek получить значение слова по адресу
peekb получить значение байта по адресу
poke записать слово в память по адресу
pokeb записать байт в память по адресу
randbrd чтение с диска
randbwr запись на диск
setdta установить адрес области передачи данных диска
setvect задать значение вектора прерывания
setverify включить режим проверки записи на диск
sleep задержка
unlink удаление файла

Прототипы функций и макроопределения содержатся в файле dos.h.

Система программирования ТС предоставляет также следующие функции для обращения к BIOS (базовой подсистеме ввода/вывода операционной системы):

Функция Краткое описание
bioscom управление последовательным каналом
biosdisk управление диском
biosequip узнать конфигурацию аппаратуры
bioskey управление клавиатурой
biosmemory узнать объем оперативной памяти
biosprint управление устройством печати
biostime управление BIOS-таймером

Прототипы функций обращения к BIOS содержатся в файле bios.h.

Управление процессами

Функция Краткое описание
abort завершить процесс
execl выполнить порождаемый процесс со списком аргументов
execle выполнить порождаемый процесс со списком аргументов и заданным окружением (контекстом имен командного языка операционной системы)
execlp выполнить порождаемый процесс, используя переменную PATH и список аргументов
execlpe выполнить порождаемый процесс, используя переменную PATH, заданное окружение и список аргументов
execv выполнить порождаемый процесс с массивом аргументов
execve выполнить порождаемый процесс с массивом аргументов и заданным окружением
execvp выполнить порождаемый процесс, используя переменную PATH и массив аргументов
execvpe выполнить порождаемый процесс, используя переменную PATH, заданное окружение и массив аргументов
exit завершить процесс
_exit завершить процесс без скидывания буферов
signal управление сигналом прерывания
spawnl выполнить порождаемый процесс со списком аргументов
spawnle выполнить порождаемый процесс со списком аргументов и заданным окружением
spawnlp выполнить порождаемый процесс, используя переменную PATH и список аргументов
spawnlpe выполнить порождаемый процесс, используя переменную PATH, заданное окружение и список аргументов
spawnv выполнить порождаемый процесс с массивом аргументов
spawnve выполнить порождаемый процесс с массивом аргументов и задан ным окружением
spawnvp выполнить порождаемый процесс, используя переменную PATH и массив аргументов
spawnvpe выполнить порождаемый процесс, используя переменную PATH, заданное окружение и массив аргументов
system выполнение команды MS-DOS

Система программирования MSC предоставляет дополнительно функции:

Функция Краткое описание
getpid получить номер процесса
onexit выполнить функцию при завершении программы

Термин "процесс" относится к программе, которая выполняется под управлением операционной системы. Процесс состоит из кодов программы и данных, а также информации о состоянии процесса, такой, как число открытых файлов. Где бы ни выполнялась программа на уровне MS-DOS, запускается процесс. Можно запустить, остановить и управлять процессом из программы, используя функции управления процессом. Прототипы всех функций управления процессами объявлены в файле process.h (исключая функцию signal). Прототип функции signal содержится в файле signal.h. Функции управления процессом позволяют следующее:

1) Узнать уникальный номер процесса (getpid).

2) Завершить процесс (abort, exit, _exit).

3) Управлять сигналами прерывания (signal).

4) Начать новый процесс (разновидности ехес и spawn функции, system функция).

Функции abort и _exit осуществляют немедленное завершение без скидывания буферов потоков, функция exit осуществляет выход после скидывания буферов потоков. Функция system вызывает на выполнение заданную команду MS-DOS. Функции ехес и spawn создают новый процесс, называемый порождаемым процессом. Разница между функциями ехес и spawn в том, что spawn способна возвращать управление из порождаемого процесса к его родителю. Оба, и родитель, и порождаемый процесс, размещаются в памяти (если не указан флаг P_OVERLAY).

  • Читать дальше
  • 1
  • ...
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: