Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700383.doc
Скачиваний:
15
Добавлен:
01.05.2022
Размер:
4.33 Mб
Скачать

7.4. Классификация системных вызовов

Во всех операционных системах, исходя из видов ресурсов, с которыми они связаны, функции интерфейса прикладного программирования можно разделить на несколько групп. Так, в Windows можно выделить следующие группы функций API:

– управление процессами, потоками и синхронизацией;

– управление виртуальной и физической памятью;

– управление вводом-выводом.

В API Windows также есть еще ряд групп:

– графический интерфейс пользователя;

– управление защитой;

– управление реестром;

– консольные функции

– другие группы специальных функций.

Примеры функций API, относящихся к разным группам приведены в табл. 7 - 15.

Таблица 7

Основные функции управления процессами и потоками

Функция

Описание

Create Process

Создать новый процесс

CreateThread

Создать новый поток в существующем процессе

ExitProcess

Завершить текущий процесс и все его потоки

ExitThread

Завершить этот поток

SetPriorityClass

Задать класс приоритета для процесса

SetThreadPriority

Задать приоритет для потока

Таблица 8

Основные функции управления синхронизацией

Функция

Описание

CreateSemaphore

Создать новый семафор

OpenSemaphore

Открыть существующий семафор

ReleaseSemaphorc

Увеличить на единицу счетчик семафора

EnterCriticalSection

Захватить блокировку для критической секции

Продолжение табл. 8

LeaveCriticalSection

Освободить блокировку для критической секции

Таблица 9

Основные функции управления виртуальной и физической памятью

Функция

Описание

VirtualAlloc

Зарезервировать или фиксировать область в ВП

VirtualFree

Освободить область или отменить фиксацию области

VirtualProtect

Изменить режим доступа к области ВП

VirtualQuery

Узнать состояние области ВП

VirtualLock

Зафиксировать страницы ВП

VirtualUnlock

Расфиксировать страницы ВП

HeapCreate

Создать пул в памяти

HeapAllocate

Выделить блок памяти в пуле

HeapReAllocate

Изменить размер блока памяти в пуле

HeapFree

Освободить блок памяти в пуле

GetProcessHeap

Получить дескриптор пула

Таблица 10

Основные функции для файлового ввода-вывода

Функция

Описание

CreateFile

Создать или открыть файл; вернуть дескриптор файла

DeleteFile

Удалить существующий файл

ReadFile

Прочитать данные из файла

WriteFile

Записать данные в файл

Продолжение табл. 10

SetFilePointer

Установить указатель в файле в определенную позицию

GetFileSize

Определить размер файла

SetEndOfFile

Изменить размер файла по текущему значению указателя

GetFileAttributes

Вернуть атрибуты файла

CopyFile

Копировать файл

LockFile

Заблокировать область файла для обеспечения взаимного исключения

UnlockFile

Отменить блокировку области файла

Таблица 11

Основные функции управления каталогами

Функция

Описание

CreateDirectory

Создать новый каталог

RemoveDirectory

Удалить пустой каталог

FindFirstFile

Инициализация, чтобы начать чтение каталога

FindNextFile

Прочитать следующую запись каталога

MoveFile

Переместить файл из одного каталога в другой

SetCurrent Directory

Изменить текущий рабочий каталог

Насчитывается несколько сотен функций графического интерфейса пользователя (GUI). Поэтому следует ограничиться названиями групп этих функций (табл. 12)

Таблица 12

Группы API-функций, реализующий графический интерфейс пользователя

Группа API

Описание

Управление окнами

Создание, уничтожение окон, управление окнами

Меню

Создание, уничтожение и добавление пунктов меню

Диалоговые окна

Отображение диалоговых окон и сбор информации

Рисование и черчение

Отображение точек, линий и геометрических фигур

Текст

Вывод текста с использованием определенного шрифта, размера и цвета

Растровые изображе­ния, курсоры и значки

Отображение на экране растровых изображений, курсоров и значков

Цвета и палитры

Управление набором доступных цветов

Буфер обмена

Передача информации от одного приложения другому

Ввод

Получение информации от мыши и клавиатуры

Таблица 13

Основные функции управления защитой

Функция

Описание

InitializeSecurity Descriptor

Подготовить новый дескриптор защиты

Продолжение табл. 13

LookupAccountSid

Найти SID по заданному имени пользователя

SetSecurityDescriptorOwner

Ввести SID владельца в дескриптор защиты

SetSecurityDescriptorGroup

Ввести SID группы в дескриптор защиты

Таблица 14

Основные функции управления реестром

Функция

Описание

RegCreateKeyEx

Создать новый ключ реестра

RegDeleteKey

Удалить ключ реестра

RegOpenKeyEx

Открыть ключ и получить его дескриптор

RegEnumKeyEx

Перенумеровать подключи, подчиненные ключу дескриптора

RegQueryValueEx

Искать данные по значению в ключе

Таблица 15

Основные функции управления консолью

Функция

Описание

SetConsoleTitle

Определить текст заголовка для консоли

WriteConsole

Вывести текст в консоль

ReadConsole

Ввод из консоли

ReadConsoleInput

Обработка событий мыши и клавиатуры