## Что такое процесс в контексте операционной системы? Чем процесс отличается от потока? Изолированный набор ресурсов (потоков, страниц памяти, дескрипторов). ## Что такое системный вызов в контексте операционной системы? Обращение к ядру. ## Что такое POSIX? POSIX (англ. Portable Operating System Interface — переносимый интерфейс операционных систем) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой (системный API), библиотеку языка C и набор приложений и их интерфейсов. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. ## Какой системный вызов используется для создания нового процесса в Linux? fork (57) ## Что такое идентификатор процесса (PID), и как его можно получить в программе на языке C? Уникальное число, используемое для идентификации процесса. ```c pid_t getpid(void); ``` ## Какой системный вызов позволяет родительскому процессу ожидать завершения своего потомка, и как он работает? `waitpid` - переводит вызывающий поток в спящее состояние, до тех пор пока вызывающий процесс не получит `SIGCHLD` с соответствующим `PID`. ## Что произойдет, если родительский процесс завершится раньше своих потомков? Как это отразится на процессе потомков в операционной системе Linux? Родителем потомков станет процесс с `PID=1`. ## Как можно программно контролировать завершение процесса в бесконечном цикле с вероятностью завершения 1/3? ## Что делает системный вызов waitpid() и как его использовать для управления процессами в отношениях «родитель-потомок»? ## Что происходит, если вызвать waitpid() с флагом WNOHANG, и чем это отличается от вызова без этого флага? С флагом `WHOHANG` функция сразу вернёт значение, без флага заблокирует вызывающий поток до завершения запрошенного процесса. ## Как можно использовать системный вызов sleep() для организации пауз между выполнением операций в процессе? ## В чем отличие между системными вызовами fork() и exec(), и как они используются при работе с процессами? ## Как можно использовать команды ps или top для мониторинга состояния процессов в Linux и анализа их поведения?