Використання системних функцій - раздел Образование, Лекція 4 5 Створення процесу 2.1. Системна Функція Fork ()
Системна Функція (Або Системний Виклик...
2.1. Системна функція fork ()
Системна функція (або системний виклик) fork () створює новий процес, який є дублікатом процесу який його викликав, тобто його батька. При успішному виконанні функція fork () повертає батьківському і дочірньому процесам два різних значення. Дочірньому процесу число 0, а батьківському – значення PID дочірнього процесу. Батьківський і дочірній процеси продовжують виконуватися з інструкції, безпосередньо наступній за функцією fork (). У випадку невдалого виконання (це коли дочірній процес не був створений) батьківському процесу повертається число -1.
Синопсис... pstree a c h frac Hpid l n p u G frac U... pid frac user...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Використання системних функцій
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Відношення між батьківським та дочірніми процесами
Процес, який створює, або породжує, інший процес, є батьківським (parent) процесом по відношенню до породженого, або дочірнього (child) процесу. Процес init – батьківський (або предок) всіх
Синопсис
# include <unistd>
pid_t fork (void);
Невдале виконання функції fork () можливе у випадку, коли система не володіє ресурсами для створення ще одного процесу. Це відбувається
Синопсис
# include <unistd.h
int execl (const char *path, const char *arg0, . . ./*, (char *)0 */);
int execle (const char *path, const char *arg0, . . ./*, (char *)0 *, char * const en
Синопсис
# include < unistd.h >
long sysconf (int name);
Ще одним обмеженням при використанні функцій сімейства exec та інших функцій, які застосовуються для створення процесів, є ма
Синопсис
# include < stdlib.h >
int system (const char *string);
В якості параметру string можемо передати системну команду або ім'я файлу, який виконується. При вдалому виконанні фу
Використання POSIX-функцій для породження процесів
Подібно створенню процесів за допомогою функцій system () і fork- exec, функцій posix_spawn () створюють нові дочірні процеси із заданих образів процесів. Однак функції posix_spawn () дозволяють п
Завершення процесу
Коли процес завершується, його блок БУП руйнується, а адресний простір, який він займав і ресурси звільняються. Код завершення розміщується в головну таблицю процесів. Як тільки батьківський проце
Синопсис
# include < stdlib.h >
void exit (int status);
void abort (void);
Функцію kill () можемо використати для примусового завершення іншого процесу. Дана функція відпра
Ресурси процесу
При виконанні призначених на процес задач часто приходиться записувати дані у файл, відправляти їх на принтер або відображати отримані результати на екран. Процесу можуть знадобитися дані, що вво
Синопсис
# include < sys/resource.h >
int setrlimit (int resource, const struct rlimit *rlp);
int getrlimit (int resource, struct rlimit *rlp);
int getrusage (int who, struc
Синопсис
# include < sys/wait/h >
pid_t wait (int *status);
pid_t waitpid (pid_t pid, int *status, int oрtions);
Функція waitpid () аналогічна функції wait () за виключенням
Розбиття програми на задачі
Аналізуючи розбиття програми на декілька задач, ми робимо перший крок до реалізації паралелізму в свою програму. В одно процесорному середовищі паралелізм реалізується засобами багатозадачності. Ц
Лінії видимого контуру
Породження процесі, як подано в лістінгу 6, можливе за допомогою функцій, які викликаються із функції mane ().
// Лістінг 6. Основна гілка програми, з якої викликається функція,
Висновки
Паралелізм в С++ програмі досягається за рахунок поділу на декілька процесів або декілька потоків. Процес – це ²одиниця роботи², що реалізується операційною системою. Якщо програма – це а
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов