Что такое таблица процессов linux? Из чего он состоит? - PullRequest
22 голосов
/ 03 февраля 2011

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

Ответы [ 4 ]

43 голосов
/ 03 февраля 2011

Таблица процессов в 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

1 голос
/ 26 декабря 2017

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

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

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

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

0 голосов
/ 16 марта 2019

Каждый процесс представлен в операционной системе блоком управления процессом - также известным как блок управления задачами - который содержит следующие

Process management
Registers
Program counter
Program status word
Stack pointer
Process state
Priority
Scheduling parameters Process ID
Parent process
Process group
Signals
Time when process started CPU time used
Children’s CPU time
Time of next alarm

Memory management
Pointer to text segment info 
Pointer to data segment info 
Pointer to stack segment info


File management
Root directory Working directory File descriptors User ID
Group ID

enter image description here

Для более, http://www.technologyuk.net/computing/operating-systems/

0 голосов
/ 20 января 2016

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...