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





ИМЯ


nice - изменяет приоритет процесса



ОБЗОР


#include <unistd.h>

int nice(int inc);

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

nice(): _XOPEN_SOURCE
|| /* начиная с glibc 2.19: */ _DEFAULT_SOURCE
|| /* версии glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE



ОПИСАНИЕ


Вызов nice() добавляет значение аргумента inc к значению уступчивости (nice)
вызвавшей нити (большее значение уступчивости означает меньший приоритет).

Диапазон значений уступчивости: от +19 (низкий приоритет) до -20 (высокий
приоритет). Попытки установить значение уступчивости вне этого диапазона срезаются
до значения из этого диапазона.

Обычно, только привилегированный процесс может понижать значение уступчивости (т.
е., повышать приоритет). Однако начиная с L ... Читать дальше »

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





ИМЯ


nfsservctl - интерфейс syscall к ядерной службе nfs



ОБЗОР


#include <linux/nfsd/syscall.h>

long nfsservctl(int cmd, struct nfsctl_arg *argp,
union nfsctl_res *resp);



ОПИСАНИЕ


Замечание: Начиная с Linux 3.1, данный системный вызов больше не существует. Он
был заменён набором файлов в файловой системе nfsd; смотрите nfsd(7).

/*
* Эти команды понимает nfsctl()
*/
#define NFSCTL_SVC 0 /* это серверный процесс */
#define NFSCTL_ADDCLIENT 1 /* добавить клиента NFS */
#define NFSCTL_DELCLIENT 2 /* удалить клиента NFS */
#define NFSCTL_EXPORT 3 /* экспортировать файловую систему */
#define NFSCTL_UNEXPORT 4 /* снять экспорт файловой системы */
#define NFSCTL_UGIDUPDATE 5 /* обновить карту клиентов UID/GID
(только в Linux 2.4.x и старее) */
#define NFSCTL_GETFH 6 /* ... Читать дальше »

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





ИМЯ


nanosleep - остановка работы процесса с более точным указанием периода



ОБЗОР


#include <time.h>

int nanosleep(const struct timespec *req, struct timespec *rem);

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

nanosleep(): _POSIX_C_SOURCE >= 199309L



ОПИСАНИЕ


nanosleep() приостанавливает работу вызывающей нити как минимум на время, заданное
параметром *req, или до получения сигнала, который вызовет обработчик в вызывающей
нити, или приведёт к завершению процесса.

Если вызов прерван обработчиком сигнала, то nanosleep() возвращает -1,
устанавливает errno в значение EINTR и записывает оставшееся время в структуру, на
которую указывает rem, если значение rem не равно NULL. Значение *rem можно
использовать для повторения вызова nanosleep() и ... Читать дальше »

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





ИМЯ


name_to_handle_at, open_by_handle_at - получение описателя для пути и открытие
файла через описатель



ОБЗОР


#define _GNU_SOURCE /* Смотрите feature_test_macros(7) */
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int name_to_handle_at(int dirfd, const char *pathname,
struct file_handle *handle,
int *mount_id, int flags);

int open_by_handle_at(int mount_fd, struct file_handle *handle,
int flags);



ОПИСАНИЕ


Функциональное назначение openat(2) было разделено на две части и добавлено в
системные вызовы name_to_handle_at() и open_by_handle_at(): name_to_handle_at()
возвращает описатель с произвольной формой(opaque), который соответствует
указанному файлу; open_by_handle_at() открывает файл по описателю, который был
возвращён предыд ... Читать дальше »

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





ИМЯ


mmap, munmap - отображает файлы или устройства в памяти, или удаляет их
отображение



ОБЗОР


#include <sys/mman.h>

void *mmap(void *addr, size_t length, int prot, int flags,
int fd, off_t offset);
int munmap(void *addr, size_t length);

Информацию по требованиям макроса тестирования свойств смотрите в разделе
ЗАМЕЧАНИЯ.



ОПИСАНИЕ


Вызов mmap() создаёт новое отображение в виртуальном адресном пространстве
вызывающего процесса. Адрес начала нового отображения указывается в addr. В
аргументе length задаётся длина отображения.

Если значение addr равно NULL, то ядро само выбирает адрес, по которому создаётся
отображение; это наиболее переносимый метод создания нового отображения. Если
значение addr не равно NULL, то ядро учитывает это при размещении отображения; в
Linux отображ ... Читать дальше »

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





ИМЯ


mlock, mlock2, munlock, mlockall, munlockall - блокируют и разблокируют память



ОБЗОР


#include <sys/mman.h>

int mlock(const void *addr, size_t len);
int mlock2(const void *addr, size_t len, int flags);
int munlock(const void *addr, size_t len);

int mlockall(int flags);
int munlockall(void);



ОПИСАНИЕ


Вызовы mlock(), mlock2() и mlockall() блокируют часть или всё виртуальное адресное
пространство процесса в ОЗУ, запрещая эту память перемещать в пространство
подкачки.

Вызовы munlock() и munlockall() выполняют обратную операцию, разблокируя часть или
всё виртуальное адресное пространство процесса, после чего страницы в этом
диапазоне виртуальных адресов могут вытесняться в пространство подкачки, если того
потребуется менеджеру памяти ядра.

Размер блокировки и разблокир ... Читать дальше »

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

« 1 2 ... 24 25 26 27 28 ... 59 60 »