Процесс (process)это программа пользователя при ее выполнении. При своей работе операционная системы исполняет множество классов программ: пакетные задания; пользовательские программы в режиме разделения времени; системные программы и процессы. Имеется несколько схожих терминов, характеризующих пользовательские программы: процесс (process), задание (job), задача (task)Однако не будем здесь преувеличивать различие между ними: для лучшего понимания специфики процессов и управления ими в ОС, мы можем считать приведенные термины синонимами, как и считается ио многих учебниках по ОС.
Важная особенность процесса: это единица вычислений, которая должна выполняться последовательно, т.е. каждый процесс имеет свой последовательный поток управления (control flow) –последовательность выполняемых процессом команд. Многие большие задачи успешно решаются путем параллельноговыполнения процессов, но об этом речь пойдет немного позже.
Процесс при его создании и управлении им операционной системой включает следующую основную информацию:
Счетчик команд (program counter - PC)– адрес текущей выполняемой команды процесса; обычно хранится в специальном системном регистре аппаратуры; Стек (stack)– резидентная область основной памяти, выделяемая операционной системой при создании процесса, в которой хранятся локальные данные процедур процесса, их параметры (аргументы) и связующая информация между ними, необходимая для организации вычислений. При запуске очередной процедуры в стеке отводится запись активации (activation record),называемая также стековым фреймом (stack frame)и областью локальных данных (local data area)для хранения локальных данных текущего поколения (запуска)процедуры. По окончании ее выполнения запись активации удаляется из стека; Секция данных(data section) – статическая (постоянно выделенная, неизменного размера) область основной памяти, выделяемая операционной системой процессу, в которой хранятся его глобальные переменные, массивы, структуры, объекты.
Исполняемый код (команды)процесса первоначально хранится во вторичной памяти (на диске) и загружается в основную память полностью или частично при обращении к нему.