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





ИМЯ


brk, sbrk - изменяет размер сегмента данных



ОБЗОР


#include <unistd.h>

int brk(void *addr);

void *sbrk(intptr_t increment);

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

brk(), sbrk():
Начиная с glibc 2.19:
_DEFAULT_SOURCE ||
(_XOPEN_SOURCE >= 500) &&
! (_POSIX_C_SOURCE >= 200112L)
В glibc с 2.12 по 2.19:
_BSD_SOURCE || _SVID_SOURCE ||
(_XOPEN_SOURCE >= 500) &&
! (_POSIX_C_SOURCE >= 200112L)
До glibc 2.12:
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500



ОПИСАНИЕ


Вызов brk() и sbrk() изменяет располож ... Читать дальше »

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 435 | Добавил: Администратор | Дата: 17.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 ... Читать дальше »

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





ИМЯ


bpf - выполняет команду с расширенной картой BPF или программу



ОБЗОР


#include <linux/bpf.h>

int bpf(int cmd, union bpf_attr *attr, unsigned int size);



ОПИСАНИЕ


Системный вызов bpf() выполняет набор операций, связанных с расширенными пакетными
фильтрами Беркли (Berkeley Packet Filters). Расширенные BPF (или eBPF) подобны
первоначальным («классическим») BPF (cBPF), которые используются для фильтрации
сетевых пакетов. Перед загрузкой программы cBPF и eBPF анализируются ядром на
предмет их безвредности для работающей системы.

Набор eBPF расширяет cBPF в разных направлениях, включая способность вызова
фиксированного набора вспомогательных функций ядра (через расширенный код операции
BPF_CALL, предоставляемы ... Читать дальше »

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





ИМЯ


bind - привязывает имя к сокету



ОБЗОР


#include <sys/types.h> /* См. ЗАМЕЧАНИЯ */
#include <sys/socket.h>

int bind(int sockfd, const struct sockaddr *addr,
socklen_t addrlen);



ОПИСАНИЕ


После создания с помощью socket(2), сокет появляется в адресном пространстве
(семействе адресов), но без назначенного адреса. bind() назначает адрес, заданный
в addr, сокету, указываемому дескриптором файла sockfd. В аргументе addrlen
задаётся размер структуры адреса (в байтах), на которую указывает addr. В силу
традиции, эта операция называется «присваивание сокету имени».

Обычно, сокету типа SOCK_STREAM нужно назначить локальный адрес с помощью bind()
до того, как он сможет прини ... Читать дальше »

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





ИМЯ


bdflush - запускает, сбрасывает на диск или настраивает службу записи буферов кэша



ОБЗОР


#include <sys/kdaemon.h>

int bdflush(int func, long *address);
int bdflush(int func, long data);



ОПИСАНИЕ


Замечание: Начиная с Linux 2.6, данный системный вызов считается устаревшим и
ничего не делает. Вероятно, он будет удалён в будущих версиях ядра. Сейчас задачу
bdflush() выполняет нить ядра pdflush.

bdflush() запускает, сбрасывает на диск или настраивает службу записи буферов
кэша. Только процесс с определёнными правами (с мандатом CAP_SYS_ADMIN) может
вызвать bdflush().

Если значение func отрицательно или 0, и служба не запущена, то bdflush()
запускает службу и не возвращает управление.
< ... Читать дальше »

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





ИМЯ


sync_file_range - синхронизирует сегмент файла на диске



ОБЗОР


#define _GNU_SOURCE /* см. feature_test_macros(7) */
#include <fcntl.h>

int sync_file_range(int fd, off64_t offset, off64_t nbytes,
unsigned int flags);



ОПИСАНИЕ


Вызов sync_file_range() позволяет точно контролировать синхронизацию открытого
файла, задаваемого файловым дескриптором fd, с диском.

В offset задаётся начальный байт диапазона файла, который нужно синхронизировать.
В nbytes указывается длина синхронизируемого диапазона (в байтах); если nbytes
равно нулю, то синхронизируются все байты, начиная с offset и до конца файла.
Синхронизация выполняется в единицах размера системной страницы: значение offset
... Читать дальше »

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





ИМЯ


posix_fadvise - предварительно декларирует вариант доступа для данных файла



ОБЗОР


#include <fcntl.h>

int posix_fadvise(int fd, off_t offset, off_t len, int advice);

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

posix_fadvise():
_POSIX_C_SOURCE >= 200112L



ОПИСАНИЕ


Программы могут использовать posix_fadvise() для объявления намерений осуществить
доступ к файлу данных в скором будущем определённым образом, тем самым позволяя
ядру выполнить некоторые операции по оптимизации.

Аргумент advice применяется к (не обязательно существующей) области, начинающейся
с offset, длиной len байт (или до конца файла, если len равно 0) внутри файла, на
который ссылается fd. ... Читать дальше »

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

« 1 2 ... 55 56 57 58 59 60 »