Подтвердить что ты не робот

Что такое таблица процессов linux? Из чего состоит?

Этот термин продолжает отображаться в примечаниях к моей операционной системе, и я не совсем уверен, что это такое/где он хранится и как и почему.

4b9b3361

Ответ 1

Таблица процессов в Linux (например, почти в любой другой операционной системе) представляет собой просто структуру данных в ОЗУ компьютера. Он содержит информацию о процессах, которые в настоящее время обрабатываются ОС.

Эта информация содержит общую информацию о каждом процессе

  • идентификатор процесса
  • владелец процесса
  • приоритет процесса
  • переменные среды для каждого процесса
  • родительский процесс
  • указывает на исполняемый машинный код процесса.

Очень важная информация в таблице процессов - это состояние, в котором каждый текущий процесс. Эта информация важна для ОС, поскольку она позволяет так называемую многопроцессорную обработку, то есть возможность фактически запускать несколько процессов только на одном процессоре (ЦП).

Информация о том, используется ли процесс в настоящее время ACTIVE, SLEEPING, RUNNING и т.д., используется ОС для обработки выполнения процессов.

Кроме того, существует статистическая информация, например, когда был запущен процесс RUNNING в последний раз, чтобы позволить планировщику ОС решить, какой процесс должен работать дальше.

Таким образом, таблица процессов является центральным организационным элементом для ОС для обработки всех запущенных процессов.

В этой теме можно найти краткое введение:

http://www.linuxforums.org/forum/kernel/42062-use-process-table.html

И wikipedia также имеет приятную информацию о процессах:

http://en.wikipedia.org/wiki/Process_management_(computing)#Process_description_and_control

http://en.wikipedia.org/wiki/Process_table

Ответ 2

Таблица процессов - это структура данных в ядре Linux, в которой хранится информация обо всех текущих процессах. В таблице процессов содержатся идентификаторы процесса, использование памяти в процессе, что такое дескриптор файла, используемый в процессе, и т.д.

Ядро отслеживает созданный и выполняемый процесс с помощью дескриптора процесса. Каждый дескриптор процесса содержит

1. Identifier - process ID, parent and child process ID, user ID
2. State      - process state, priority
3. Resource   - CUP and Memory

Основная информация таблицы процессов:

  • Идентификатор процесса
  • Идентификатор пользователя процесса
  • Приоритет процесса
  • Состояние процесса
  • Использование ресурсов процесса

ps aux - это команда Linux, используемая для перечисления всех состояний процесса и использования ресурсов (памяти, процессора). Вы можете просмотреть список процессов с помощью владельца, PID, CPU, MEM, STAT и т.д.

Ответ 3

Таблица процессов - это структура данных ядра , которая описывает состояние процесса (вместе с процессом U Area). Он содержит поля, которые всегда должны быть доступны ядру.

Он содержит следующие поля:

  • поле состояния (которое идентифицирует состояние процесса)
  • которые позволяют ядру находить процесс и его область в памяти
  • UID для определения различных привилегий процесса
  • PID для задания отношений b/w-процессов (например, fork)
  • дескриптор события (когда процесс в состоянии сна)
  • параметры планирования для определения порядка, в котором процесс переходит к состояниям "запущенное ядро" и "пользователь работает"
  • поле сигнала для отправки сигналов в процесс, но еще не обработано
  • которые предоставляют время выполнения процесса в режиме ядра и пользовательском режиме.
  • которое дает размер процесса (так что ядро ​​знает, сколько места выделяется для процесса).

Короче говоря, таблица процессов предоставляет информацию о процессах в ядре.