Вместе с добавлением в операционную систему поддержки нитей, были добавлены новые и расширены некоторые старые функции для работы с процессами. Теперь планировщик управляет работой нитей, а не процессов. Обработчик сигналов по-прежнему описывается на уровне процессов, однако для каждой нити можно задать маску сигналов. Вот несколько примеров измененных и новых функций: getprocs, getthrds, ptrace, getpri, setpri, yield и sigprocmask.
Эти функции можно отнести к следующим категориям:
| exec:, execl, execv , execle, execve, execlp, execvp и exect | |
| Запуск в вызывающем процессе новой программы | |
| fork и vfork | Создание нового процесса |
| reboot | Повторный запуск системы |
| siginterrupt | Задает список функций, которые должны запускаться повторно после получения специального сигнала прерывания |
| pause | Приостанавливает процесс до получения сигнала |
| wait, wait3, waitpid | Приостанавливает процесс до тех пор, пока не будет прерван или завершен дочерний процесс |
| abort | Завершает текущий процесс и создает дамп памяти путем отправки сигнала SIGOT |
| exit, atexit и _exit | Завершает процесс |
| kill и killpg | Завершает текущий процесс или группу процессов путем отправки сигнала |
| ctermid | Возвращает полное имя терминала, управляющего текущим процессом |
| cuserid | Возвращает буквенно-цифровое имя пользователя, связанное с текущим процессом |
| getpid, getpgrp и getppid | Возвращает ИД процесса, группы процессов и родительского процесса, соответственно |
| getprocs | Возвращает записи из таблицы процессов |
| getthrds | Возвращает записи из таблицы нитей |
| setpgid и setpgrp | Задает ИД группы процессов |
| setsid | Создает сеанс и задает идентификаторы групп процессов |
| uname и unamex | Возвращает имя текущей операционной системы |
| acct | Включает и выключает режим учета ресурсов процесса |
| ptrace | Трассировка процесса |
| brk и sbrk | Изменяет размер сегмента данных |
| getdtablesize | Возвращает размер таблицы дескрипторов |
| getrlimit, setrlimit и vlimit | Устанавливают ограничения на системные ресурсы для текущего процесса |
| getrusage, times и vtimes | Выводит информацию об использовании ресурсов |
| plock | Блокируют процессы, текст или данные в памяти |
| profil | Запускает и завершает профайлер, собирающий информацию о частоте обращения по различным адресам программы |
| ulimit | Устанавливает ограничения на ресурсы для пользовательского процесса |
| getpri | Возвращает приоритет планирования процесса |
| getpriority, setpriority и nice | Возвращает или устанавливает значение приоритета процесса |
| setpri | Устанавливает постоянное значение приоритета планирования процесса |
| yield | Освобождает процессор для процессов с более высоким приоритетом |
| compare_and_swap | Обновляет переменную длиной в слово при выполнении заданного условия и возвращает ее значение; выполняется как атомарная операция |
| fetch_and_add | Обновляет переменную длиной в слово; выполняется как атомарная операция |
| fetch_and_and и fetch_and_or | Устанавливает или сбрасывает биты переменной длиной в слово; выполняется как атомарная операция |
| semctl | Управляет операциями над семафором |
| semget | Возвращает набор семафоров |
| semop | Выполняет операции над семафором |
| raise | Отправляет сигнал работающей программе |
| sigaction, sigvec и signal | Задает реакцию на получение сигнала |
| sigemptyset, sigfillset, sigaddset, | |
| Предназначена для создания и работы с маской сигналов | |
| sigpending | Задает набор сигналов, отправка которых блокируется |
| sigprocmask, sigsetmask и sigblock | Устанавливает маску сигналов |
| sigset, sighold, sigrelse и sigignore | Дополнительные функции обработки и управления сигналами |
| sigsetjmp и siglongjmp | Сохраняет и возвращает содержимое стека и маски сигналов |
| sigstack | Задает содержимое стека сигналов |
| sigsuspend | Изменяет набор заблокированных сигналов |
| ssignal и gsignal | Реализуют средство отправки сигналов |
| msgctl | Предназначена для управления сообщениями |
| msgget | Выводит на экран идентификатор очереди сообщений |
| msgrcv | Считывает сообщение из очереди |
| msgsnd | Отправляет сообщения в очередь сообщений |
| msgxrcv | Принимает расширенное сообщение |
| psignal | Печать сообщений о сигналах системы |