Чтение онлайн

на главную

Жанры

Архитектура операционной системы UNIX
Шрифт:

struct msgbuf {

 long mtype;

 char mtext[];

};

Если в параметре flag бит IPC_NOWAIT сброшен, функция msgsnd будет приостанавливаться в тех случаях, когда размер отдельного сообщения или число сообщений в системе превышают допустимый максимум. Если бит IPC_NOWAIT установлен, функция msgsnd в этих случаях прерывает свое выполнение. Функция msgrcv принимает сообщение из очереди с идентификатором id. Если параметр type имеет нулевое значение, из очереди будет выбрано сообщение, первое по счету; если положительное значение, из очереди выбирается первое сообщение данного типа; если отрицательное

значение, из очереди выбирается сообщение, имеющее самый младший тип среди тех типов, значение которых не превышает абсолютное значение параметра type. В параметре size указывается максимальный размер сообщения, ожидаемого пользователем. Если в параметре flag установлен бит MSG_NOERROR, в том случае, когда размер получаемого сообщения превысит предел, установленный параметром size, ядро обрежет это сообщение. Если же соответствующий бит сброшен, в подобных случаях функция будет возвращать ошибку. Если в параметре flag бит IPC_NOWAIT сброшен, функция msgrcv приостановит свое выполнение до тех пор, пока сообщение, удовлетворяющее указанному в параметре type условию, не будет получено. Если соответствующий бит сброшен, функция завершит свою работу немедленно. Функция msgrcv возвращает размер полученного сообщения (в байтах).

niсе

nice(increment)

int increment;

Функция nice увеличивает значение соответствующей компоненты, участвующей в вычислении приоритета планирования текущего процесса, на величину increment. Увеличение значения nice ведет к снижению приоритета планирования.

оpen

#include ‹fcntl.h›

open(filename, flag, mode)

char *filename;

int flag, mode;

Функция open выполняет открытие указанного файла в соответствии со значением параметра flag. Значение параметра flag представляет собой комбинацию из следующих разрядов (причем из первых трех разрядов может быть использован только один):

O_RDONLY открыть только для чтения

O_WRONLY открыть только для записи

O_RDWR открыть для чтения и записи

O_NDELAY если файл является специальным файлом устройства, функция возвращает управление, не дожидаясь ответного сигнала; если файл является поименованным каналом, функция в случае неудачи возвращает управление немедленно (с индикацией ошибки, когда бит O_WRONLY установлен), не дожидаясь открытия файла другим процессом

O_APPEND добавляемые данные записывать в конец файла

O_CREAT если файл не существует, создать его; режим создания (mode) имеет тот же смысл, что и в функции creat; если файл уже существует, данный флаг игнорируется

O_TRUNC укоротить длину файла до 0

O_EXCL если этот бит и бит O_CREAT установлены и файл существует, функция не будет выполняться; это так называемое "монопольное открытие"

Функция open возвращает дескриптор файла для последующего использования в других системных функциях.

рausе

pause

Функция pause приостанавливает выполнение текущего процесса до получения сигнала.

рipе

pipe(fildes)

int fildes[2];

Функция pipe возвращает дескрипторы чтения и записи (соответственно, в fildes[0] и fildes[1]) для данного канала. Данные передаются через канал в порядке поступления; одни и те же данные не могут быть прочитаны дважды.

рlock

#include ‹sys/lock.h›

plock(op)

int op;

Функция plock устанавливает и снимает блокировку областей процесса в памяти в зависимости от значения параметра op:

PROCLOCK заблокировать в памяти области команд и данных

TXTLOCK заблокировать в памяти область команд

DATLOCK заблокировать в памяти область данных

UNLOCK снять блокировку всех областей

рrofil

profil(buf, size, offset, scale)

char *buf;

int size, offset, scale;

Функция profil запрашивает у ядра профиль выполнения процесса. Параметр buf определяет массив, накапливающий число копий процесса, выполняющихся в разных адресах. Параметр size определяет размер массива buf, offset — начальный адрес участка профилирования, scale — коэффициент масштабирования.

рtraсе

ptrace(cmd, pid, addr, data)

int cmd, pid, addr, data;

Функция ptrace дает текущему процессу возможность выполнять трассировку другого процесса, имеющего идентификатор pid, в соответствии со значением параметра cmd:

0 разрешить трассировку потомку (по его указанию)

1,2 вернуть слово, расположенное по адресу addr в пространстве трассируемого процесса с идентификатором pid

3 вернуть слово, расположенное в пространстве трассируемого процесса по адресу со смещением addr

4,5 записать значение по адресу addr в пространстве трассируемого процесса

6 записать значение по адресу со смещением addr

7 заставить трассируемый процесс возобновить свое выполнение

8 заставить трассируемый процесс завершить свое выполнение

9 машинно-зависимая команда — установить в слове состояния программы бит для отладки в режиме пошагового выполнения

read

read(fildes, buf, size)

int fildes;

char *buf;

int size;

Функция read выполняет чтение из файла с дескриптором fildes в пользовательский буфер buf указанного в параметре size количества байт. Функция возвращает число фактически прочитанных байт. Если файл является специальным файлом устройства или каналом и если в вызове функции open был установлен бит O_NDELAY, функция read в случае отсутствия доступных для чтения данных возвратит управление немедленно.

semctl

#include ‹sys/types.h›

#include ‹sys/ipc.h›

#include ‹sys/sem.h›

semctl(id, num, cmd, arg)

int id, num, cmd;

union semun {

 int val;

 struct semid_ds *buf;

 ushort *array;

} arg;

Функция semctl выполняет указанную в параметре cmd операцию над очередью семафоров с идентификатором id.

GETVAL вернуть значение того семафора, на который указывает параметр num

SETVAL установить значение семафора, на который указывает параметр num, равным значению arg.val

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

Случайная жена для лорда Дракона

Волконская Оксана
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Случайная жена для лорда Дракона

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Релокант. Вестник

Ascold Flow
2. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант. Вестник

По дороге пряностей

Распопов Дмитрий Викторович
2. Венецианский купец
Фантастика:
фэнтези
героическая фантастика
альтернативная история
5.50
рейтинг книги
По дороге пряностей

Искушение генерала драконов

Лунёва Мария
2. Генералы драконов
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Искушение генерала драконов

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Идеальный мир для Социопата 4

Сапфир Олег
4. Социопат
Фантастика:
боевая фантастика
6.82
рейтинг книги
Идеальный мир для Социопата 4

Охота на попаданку. Бракованная жена

Герр Ольга
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Охота на попаданку. Бракованная жена

Решала

Иванов Дмитрий
10. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Решала

Приручитель женщин-монстров. Том 7

Дорничев Дмитрий
7. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 7

Месть за измену

Кофф Натализа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть за измену

Медиум

Злобин Михаил
1. О чем молчат могилы
Фантастика:
фэнтези
7.90
рейтинг книги
Медиум

Вернуть невесту. Ловушка для попаданки 2

Ардова Алиса
2. Вернуть невесту
Любовные романы:
любовно-фантастические романы
7.88
рейтинг книги
Вернуть невесту. Ловушка для попаданки 2

Партиец

Семин Никита
2. Переломный век
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Партиец