Главная » (2) Системные вызовы ядра (функции языка Си)





ИМЯ


afs_syscall, break, fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream,
lock, madvise1, mpx, prof, profil, putmsg, putpmsg, security, stty, tuxcall,
ulimit, vserver - нереализованные системные вызовы



ОБЗОР


Нереализованные системные вызовы.



ОПИСАНИЕ


Данные системные вызовы не реализованы в ядре Linux.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


Эти системные вызовы всегда возвращают -1 и устанавливают для errno значение
ENOSYS.



ЗАМЕЧАНИЯ


Заметим, что ftime(3), profil(3) и ulimit(3) реализованы в виде библиотечных
функций.

Некоторые системные вызовы, такие как alloc_hugepages(2), free_hugepages(2),
ioperm(2), iopl(2) и vm86(2), существуют только для некоторых архитектур.

Некоторые системны ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 457 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)





ИМЯ


ipc - системные вызовы System V IPC



ОБЗОР


int ipc(unsigned int call, int first, int second, int third,
void *ptr, long fifth);



ОПИСАНИЕ


ipc() является обобщённым системным вызовом для работы с сообщениями, семафорами и
разделяемой памятью согласно System V IPC (InterProcess Communication —
межпроцессное взаимодействие). В параметре call задаётся какая функция IPC
вызывается; значения других аргументов определяется используемой функцией.

Программы пространства пользователя должны вызывать соответствующие функции через
их обычные имена. Только тем, кто пишет стандартные библиотеки и хакерам ядра
может понадобиться знать о вызове ipc().



СООТВЕТСТВИЕ СТАНДАРТАМ


Вызов ipc() есть только в Linux и не должен использоваться в переносимых
программах.



... Читать дальше »
Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 472 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)





ИМЯ


io_submit - отправляет асинхронные блоки ввода-вывода для обработки



ОБЗОР


#include <linux/aio_abi.h> /* определяет необходимые типы */

int io_submit(aio_context_t ctx_id, long nr, struct iocb **iocbpp);

Замечание: В glibc нет обёрточной функции для данного системного вызова; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Системный вызов io_submit() ставит в очередь nr запросов блоков ввода-вывода для
обработки в контексте AIO ctx_id. Значение iocbpp должно быть массивом из nr
управляющих блоков AIO, которые будут отправлены в контекст ctx_id.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


При успешном выполнении io_submit() возвращает количество отправленных iocb (может
быть меньше nr или 0, если nr равно нулю). Случаи ошибок описаны в ЗАМЕЧАНИЯХ.



ОШИБКИ


EAGAIN Недост ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 475 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)





ИМЯ


io_setup - создаёт асинхронный контекст ввода-вывода



ОБЗОР


#include <linux/aio_abi.h> /* определяет необходимые типы */

int io_setup(unsigned nr_events, aio_context_t *ctx_idp);

Замечание: В glibc нет обёрточной функции для данного системного вызова; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Системный вызов io_setup() создает асинхронный контекст ввода-вывода, способный
параллельно обработать nr_events событий. Параметр ctx_idp не должен указывать на
уже существующей контекст AIO и должно быть инициализировано 0 перед вызовом. При
успешном создании контекста AIO, *ctx_idp заполняется полученным результатом
обработки.



ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ


В случае успешного завершения io_setup() возвращает 0. В случае ошибки смотрите
ЗАМЕЧАНИЯ.



ОШИБКИ

... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 488 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)





ИМЯ


ioprio_get, ioprio_set - получает/устанавливает класс и приоритет планирования
ввода-вывода



ОБЗОР


int ioprio_get(int which, int who);
int ioprio_set(int which, int who, int ioprio);

Замечание: В glibc нет обёрточных функций для этих системных вызовов; смотрите
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Системные вызовы ioprio_get() и ioprio_set() получают и устанавливают класс и
приоритет планирования ввода-вывода одной или более нитей, соответственно.

В аргументах which и who указывается нить(и), над которой выполняются системные
вызовы. В аргументе which указывается как будет рассматриваться who; он может
иметь одно из следующих значений:

IOPRIO_WHO_PROCESS
Значением who является идентификатор процесса или нити, определяющий один
процесс или нить. Если who равно 0, то операции выполняются над вызв ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 516 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)



 

 

ИМЯ

 


ioprio_get, ioprio_set - получает/устанавливает класс и приоритет планирования
ввода-вывода

 

 

ОБЗОР

 


int ioprio_get(int which, int who);
int ioprio_set(int which, int who, int ioprio);

Замечание: В glibc нет обёрточных функций для этих системных вызовов; смотрите
ЗАМЕЧАНИЯ.

 

 

ОПИСАНИЕ

 


Системные вызовы ioprio_get() и ioprio_set() получают и устанавливают класс и
приоритет планирования ввода-вывода одной или более нитей, соответственно.

В аргументах which и who указывается нить(и), над которой выполняются системные
вызовы. В аргументе which указывается как будет рассматриваться who; он может
иметь одно из следующих значений:

IOPRIO_WHO_PROCESS
... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 513 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)





ИМЯ


iopl - меняет уровень привилегий ввода-вывода



ОБЗОР


#include <sys/io.h>

int iopl(int level);



ОПИСАНИЕ


iopl() изменяет уровень привилегий ввода/вывода вызывающего процесса, задаваемый
двумя младшими битами в значении level.

Этот вызов необходим для того, чтобы 8514-совместимые X-серверы могли работать под
управлением Linux. Этим X-серверам необходим доступ ко всем 65536-и портам
ввода/вывода, вызова ioperm(2) для этого недостаточно.

В дополнение к неограниченному доступу к портам ввода-вывода работа на высоком
уровне привилегий также позволяет процессу отключать прерывания. Скорее всего, это
приведет к сбою системы, поэтому использование этой возможности не рекомендуется.

Права не наследуются дочерним процессом, созданным fork(2) и не сохраняются при
вызове ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 1835 | Добавил: Администратор | Дата: 19.11.2017 | Комментарии (0)

« 1 2 ... 33 34 35 36 37 ... 59 60 »