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

19

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

    
задан user476033 02.02.2011 в 23:17
источник
  • Пожалуйста, не удаляйте свой вопрос после ответа, это действительно странно. :п –  wkl 02.02.2011 в 23:56
  • @birryree не только это странно, но и подрывает всю точку StackOverflow –  Matthew 03.02.2011 в 00:02

3 ответа

39

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

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

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

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

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

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

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

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

Ссылка

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

Ссылка

Ссылка

    
ответ дан Marcus Gründler 02.02.2011 в 23:34
0

Таблица процессов - это структура данных в ядре 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 и т. Д.

    
ответ дан Sooryaprakhash 20.01.2016 в 09:54
0

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

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

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

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

    
ответ дан Luffy 26.12.2017 в 04:39