Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процессы в Linux



В операционной системе Linux процесс, или задание, представляется струк­турой данных task_struct. Linux поддерживает таблицу task, представляю­щую собой линейный вектор указателей на каждую определенную в данный мо­мент структуру данных task_struct. В этой структуре данных информация разбита на следующие категории.

• Состояние. Состояние выполнения процесса (выполняющийся, готовый к выполнению, приостановленный, остановленный, зомби).

• Информация по планированию. Информация, которая нужна операционной системе Linux для планирования процессов. Процесс может быть обычным или выполняющимся в реальном времени; кроме того, он обладает некоторым при­оритетом. Процессы, выполняющиеся в реальном времени, планируются до обычных процессов; в каждой из категорий можно использовать относительные приоритеты. Счетчик ведет отсчет времени, отведенного процессу.

• Идентификаторы. Каждый процесс обладает своим собственным идентифи­катором, а также идентификаторами пользователя и группы. Идентифика­тор группы используется для того, чтобы назначить группе пользователя права доступа к ресурсам.

• Обмен информацией между процессами. В операционной системе Linux ис­пользуется такой же механизм межпроцессного взаимодействия, как и в опе­рационной системе UNIX SVR4, описанной в главе 6, "Взаимоблокировка и голодание".

• Связи. Каждый процесс содержит в себе связи с параллельными ему про­цессами, с родственными ему процессами (с которыми он имеет общий ро­дительский процесс) и связи со всеми своими дочерними процессами.

• Время и таймеры. Сюда входит время создания процесса, а также количе­ство процессорного времени, затраченного на данный процесс. С процессом а также могут быть связаны интервальные таймеры (один или несколько). Интервальный таймер задается в процессе с помощью системного вызова; после истечения периода таймера процессу отправляется соответствующий сигнал. Таймер может быть создан для одноразового или периодического использования.

• Файловая система. Содержит в себе указатели на все файлы, открытые данным процессом.

• Виртуальная память. Определяет отведенную данному процессу виртуаль­ную память.

• Контекст, зависящий от процессора. Информация по регистрам и стеку, со­ставляющая контекст данного процесса. На рис. 4.18 показаны состояния выполнения процесса.

• Выполняющийся. Это состояние отвечает на самом деле двум состояниям: текущий процесс либо выполняется, либо готов к выполнению.

• Прерываемый. Это состояние блокировки, в котором процесс ожидает на­ступления события, например, завершения операции ввода-вывода, освобо­ждения ресурса или сигнала от другого процесса.

• Непрерываемый. Это состояние блокировки другого рода. Его отличие от предыдущего состоит в том, что в непрерываемом состоянии процесс непо­средственно ожидает выполнения какого-то аппаратного условия, поэтому он не воспринимает никаких сигналов.

• Остановленный. Процесс был остановлен и может быть продолжен только при соответствующем воздействии другого процесса. Например, процесс, который находится в состоянии отладки, может перейти в состояние остановки.

• Зомби. Процесс был прекращен, но по какой-то причине его структура ос­тается в таблице процессов.





Дата публикования: 2014-11-04; Прочитано: 201 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...