Общие сведения
В общем представлении процесс – это программа, выполняющаяся в оперативной памяти компьютера.
В многозадачной Системе может быть запущено множество программ. Каждая программа может запустить множество процессов (подпрограмм). При этом в единственный момент времени на ПК выполняется только один процесс.
То есть в единственный момент времени ресурсы железа (процессорное время, память, порт ввода/вывода) могут использоваться только единственным процессом. Очередью, в которой процессу выделяется определенный ресурс "железа", управляет планировщик. При этом во время прерывания одного процесса и запуска (возобновления) другого процесса состояние процесса (выполняемые действия, на каком этапе процесс приостановлен) запоминается и записывается в область памяти.
Планировщик в ОС – это часть ядра, отвечающая за указанную функциональность. В задачи планировщика также входит отслеживание и выделение запускаемым процессам определенного приоритета, чтобы процессы "не мешали" друг-другу работать, а также распределение пространства памяти, чтобы пространство памяти одного процесса не пересекалось с пространством другого.
Все новые процессы в ОС порождаются клонированием какого-то уже имеющегося процесса с помощью вызова системных функций clone(2) и fork(2). У нового (порожденного или дочернего) процесса то же окружение, что и у родителя; отличается только номер ID процесса (так называемый PID).