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





ИМЯ


semget - считывает идентификатор набора семафоров System V



ОБЗОР


#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>

int semget(key_t key, int nsems, int semflg);



ОПИСАНИЕ


Системный вызов semget() возвращает идентификатор набора семафоров System V,
связанный с аргументом key. Если значение key равно IPC_PRIVATE или с ключом key
не связано ни одного существующего набора семафора, а в semflg задано IPC_CREAT,
создаётся новый набор из nsems семафоров.

Если в semflg одновременно указаны IPC_CREAT и IPC_EXCL и набор семафоров для key
уже существует, то semget() завершается с ошибкой и errno присваивается значение
EEXIST (такой же результат как с O_CREAT | O_EXCL у open(2)).

При создании в 9 начальных битах аргумента semflg указываются права (владел ... Читать дальше »

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





ИМЯ


semctl - операции управления семафорами System V



ОБЗОР


#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>

int semctl(int semid, int semnum, int cmd, ...);



ОПИСАНИЕ


Вызов semctl выполняет операцию, определённую в cmd, над набором семафоров
System V, указанном в semid, или над семафором с номером semnum из этого набора
(семафоры нумеруются, начиная с 0).

Данный вызов имеет три или четыре аргумента, в зависимости от значения cmd. Если
аргументов четыре, то четвертый аргумент arg имеет тип union semun. В вызывающей
программе это объединение должно быть определено следующим образом:

union semun {
int val; /* значение для SETVAL */
struct semid_ds *buf; /* буфер для IPC_STAT, IPC_SET */
unsigned short *array; /* массив для GETALL, SETALL */
st ... Читать дальше »

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





ИМЯ


select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - многопоточный синхронный
ввод-вывод



ОБЗОР


/* в соответствии с POSIX.1-2001, POSIX.1-2008 */
#include <sys/select.h>

/* в соответствии с ранними стандартами */
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>

int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *utimeout);

void FD_CLR(int fd, fd_set *set);
int FD_ISSET(int fd, fd_set *set);
void FD_SET(int fd, fd_set *set);
void FD_ZERO(fd_set *set);

#include <sys/select.h>

int pselect(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timespec *ntimeout,
const sigset_t *sigmask);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)): ... Читать дальше »

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





ИМЯ


select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - многопоточный синхронный
ввод-вывод



ОБЗОР


/* в соответствии с POSIX.1-2001, POSIX.1-2008 */
#include <sys/select.h>

/* в соответствии с ранними стандартами */
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>

int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);

void FD_CLR(int fd, fd_set *set);
int FD_ISSET(int fd, fd_set *set);
void FD_SET(int fd, fd_set *set);
void FD_ZERO(fd_set *set);

#include <sys/select.h>

int pselect(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timespec *timeout,
const sigset_t *sigmask);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
... Читать дальше »

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





ИМЯ


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) Системные вызовы ядра (функции языка Си) | Просмотров: 452 | Добавил: Администратор | Дата: 21.11.2017 | Комментарии (0)





ИМЯ


seccomp - переводит процесс в состояние безопасных вычислений



ОБЗОР


#include <linux/seccomp.h>
#include <linux/filter.h>
#include <linux/audit.h>
#include <linux/signal.h>
#include <sys/ptrace.h>

int seccomp(unsigned int operation, unsigned int flags, void *args);



ОПИСАНИЕ


Системный вызов seccomp() переводит вызвавший процесс в состояние безопасных
вычислений (Secure Computing, seccomp).

В настоящее время в Linux поддерживаются следующие значения operation:

SECCOMP_SET_MODE_STRICT
Вызвавшей нити доступны только системные вызовы read(2), write(2), _exit(2)
(но не exit_group(2)) и sigreturn(2). При запуске других системных вызовов
генерируется сигнал SIGKILL. Строгий режим безопасных вычислений полезен
для вычи ... Читать дальше »

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





ИМЯ


sched_yield - освободить процессор



ОБЗОР


#include <sched.h>

int sched_yield(void);



ОПИСАНИЕ


Вызов sched_yield() заставляет вызывающую нить освободить процессор. Нить
перемещается в конец очереди согласно её статическому приоритету, и управление
передаётся другой нити.



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


При успешном выполнении sched_yield() возвращается 0. При ошибке возвращается -1,
а значение errno устанавливается соответствующим образом.



ОШИБКИ


В Linux-реализации sched_yield() всегда завершается успешно.



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


POSIX.1-2001, POSIX.1-2008.



ЗАМЕЧАНИЯ


Если вызывающая нить единственная в списке с самым высоким приоритетом, то она
продолжит выполняться после вызов ... Читать дальше »

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

« 1 2 ... 11 12 13 14 15 ... 59 60 »