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





ИМЯ


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





ИМЯ


arch_prctl - настроить состояние нити (зависит от архитектуры)



ОБЗОР


#include <asm/prctl.h>
#include <sys/prctl.h>

int arch_prctl(int code, unsigned long addr);
int arch_prctl(int code, unsigned long *addr);



ОПИСАНИЕ


Функция arch_prctl() задаёт состояние процесса или нити, зависящие от архитектуры.
В аргументе code выбирается подфункция и ей передаётся значение addr; параметр
addr рассматривается либо как unsigned long при операциях «установки», либо как
unsigned long * при операциях «получения» значения.

Подфункции для x86-64:

ARCH_SET_FS
Установить 64-битную базу для регистра FS равной addr.

ARCH_GET_FS
Вернуть значение 64-битной базы для регистра FS те ... Читать дальше »

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





ИМЯ


alloc_hugepages, free_hugepages - выделяет или освобождает огромные страницы



ОБЗОР


void *alloc_hugepages(int key, void *addr, size_t len,
int prot, int flag);

int free_hugepages(void *addr);



ОПИСАНИЕ


Системные вызовы alloc_hugepages() и free_hugepages() появились в Linux 2.5.36 и
удалены в 2.5.54. Они существовали только на архитектурах i386 и ia64 (при сборке
с параметром CONFIG_HUGETLB_PAGE). В Linux 2.4.20 такие номера системных вызовов
остались, но сами вызовы завершаются с ошибкой ENOSYS.

На i386 аппаратура управления памятью умеет работать с обычными страницами (4 КиБ)
и огромными страницами (2 или 4 МиБ). Подобно этому, ia64 умеет работать с
огромными страницами разных размеров. Эти сис ... Читать дальше »

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





ИМЯ


alarm - установка будильника для доставки сигнала



ОБЗОР


#include <unistd.h>

unsigned int alarm(unsigned int seconds);



ОПИСАНИЕ


Системный вызов alarm() размещает сигнал SIGALRM для доставки вызывающему процессу
через seconds секунд.

Если значение seconds равно 0, то любой ожидающий будильник будет отменён.

При любом событии ранее запланированный alarm() отменяется.



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


alarm() возвращает количество секунд, оставшихся до момента доставки сигнала,
запланированного ранее, или ноль, если сигнал не запланирован.



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


POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.



ЗАМЕЧАНИЯ


alarm() и setitime ... Читать дальше »

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





ИМЯ


adjtimex, ntp_adjtime - тонкая настройка часов в ядре



ОБЗОР


#include <sys/timex.h>

int adjtimex(struct timex *buf);

int ntp_adjtime(struct timex *buf);



ОПИСАНИЕ


В Linux для подстройки часов используется алгоритм Дэвида Л. Миллса (David L.
Mills) (см. RFC 5905). Системный вызов adjtimex() читает и (необязательно)
устанавливает параметры подстройки для этого алгоритма. Он берёт указатель на
структуру timex, изменяет параметры ядра согласно значениям некоторых её полей и
возвращает эту же обновлённую структуру с текущими значениями параметров ядра.
Данная структура объявлена так:

struct timex {
int modes; /* выбор режима */
long offset; /* смещение ... Читать дальше »

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





ИМЯ


add_key - добавить ключ в систему управления ключами ядра



ОБЗОР


#include <keyutils.h>

key_serial_t add_key(const char *type, const char *description,
const void *payload, size_t plen,
key_serial_t keyring);



ОПИСАНИЕ


add_key() указывает ядру создать или обновить ключ заданного типа type с описанием
description, сконструировать экземпляр с дополнительными данными payload и длиной
plen, присоединить его к заданной связке ключей keyring и вернуть его серийный
номер.

В зависимости от типа ключа данные могут быть отклонены, если они представлены в
неправильном формате или возникла другая ошибка.

Если в указываемой связке ключей keyring уже есть ключ с таки ... Читать дальше »

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

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