Таблица процессов в Linux (например, почти во всех других операционных системах) представляет собой просто структуру данных в оперативной памяти компьютера. Он содержит информацию о процессах, которые в настоящее время обрабатываются ОС.
Эта информация включает в себя общую информацию о каждом процессе
- идентификатор процесса
- владелец процесса
- приоритет процесса
- переменные окружения для каждого процесса
- родительский процесс
- указатели на исполняемый машинный код процесса.
Очень важной информацией в таблице процессов является состояние, в котором каждый процесс находится в данный момент. Эта информация важна для ОС, поскольку она позволяет так называемую многопроцессорность, то есть возможность виртуально запускать несколько процессов только на одном процессоре (ЦП).
Информация о том, является ли процесс в настоящее время АКТИВНЫМ, СНО, РАБОТАЕТ и т. Д., Используется ОС для управления выполнением процессов.
Кроме того, имеется статистическая информация, например, когда последний раз процесс запускался, чтобы планировщик ОС мог решить, какой процесс должен быть запущен следующим.
Таким образом, в итоге таблица процессов является центральным организационным элементом для ОС, чтобы обрабатывать все запущенные процессы.
Краткое описание можно найти в этой теме:
http://www.linuxforums.org/forum/kernel/42062-use-process-table.html
И в Википедии также есть хорошая информация о процессах:
http://en.wikipedia.org/wiki/Process_management_(computing)#Process_description_and_control
http://en.wikipedia.org/wiki/Process_table