Реализация потоков в пространстве пользователя

Метод состоит в размещении пакета потоков целиком в пространстве пользователя.

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

Использование потоков (отличия от процессов)

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

Модель потока

Модель процесса, которую мы рассматривали ранее, базируется на двух независимых концепциях: группировании ресурсов и выполнении программы. Иногда полезно их разделять, и тут появляется понятие потока.

Потоки

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

ответ не полный - нужно дополнение

Виртуальное адресное пространство.

в ответе, я использовал в том числе материал этого сайта

Регистры. Счетчик команд. Стек.

ВНИМАНИЕ = вопрос не корректен, возможно два основных вариантов толкования "послания преподавателя" (рассуждаю так исходя из текста предыдущих ответов)=

  1. Регистры. Счетчик команд. Стек. + ПРОЦЕССА
  2. Регистры. Счетчик команд. + ПРОЦЕССОРА + Стек вообще (общее понятие)

но постараюсь обо всём по-немногу)))

Контекст выполнения процесса.

Каждому процессу соответствует контекст, в котором он выполняется.

Этот контекст включает:

Таблица процессов

Для реализации модели процесса операционная система содержит таблицу (массив структур), называемую таблицей процессов, с одним элементом для каждого процесса. (Эти элементы иногда называют блоками управления процессом.)

Элемент таблицы содержит информацию о
=

Состояния процесса.

Существуют три возможных состояния процесса:

  • ? Работающий (в этот конкретный момент использующий процессор)
  • ? Готовый к работе (процесс временно приостановлен, чтобы позволить выполниться другому процессу)
  • ? Заблокированный (процесс не может быть запущен прежде, чем произойдет некое внешнее событие)

состояние процесса фкн

Иерархия процессов

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

Следует отметить, что в отличии от животного мира у процесса может быть только один родитель и сколько угодно “детей”.

Pages

Subscribe to fkn+antitotal RSS