Процессы и нити.

Информация в заголовке объекта.

 

Имя, каталог, дискриптор безопасности, квоты на использование ресурсов, счетчик открытых описателей, признак (постоянный или временный), режим (пользовательский или ядро), указатель на тип объекта.

 

 

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

Свойства процессов:

  1. реализованы в форме объектов, доступ к объектам осуществляется с помощью службы объектов.
  2. процесс имеет многонитевую структуру.
  3. объекты-процессы и объекты-нити имеют встроенные средства синхронизации.
  4. менеджер процессов не поддерживает между процессами отношений типа «родитель-потомок».

 

Понятие процесса включает в себя следующее:

 

  1. исполняемый код
  2. собственные адресные пространства, которые представляют собой совокупность виртуальных адресов, используемых процессами.
  3. несколько атрибутов. Атрибуты объекта–нити аналогичные некоторым атрибутам объекта-процесса. Сервисные функции сходны (создание, открытие, завершение, приостановка, запрос и установка информации; (создание, открытие, завершение, приостановка, запрос и установка информации контекста).

 

Алгоритм планирования процессов и нитей.

В Windows NT реализована вытесняющая многозадачность Windows NT нить может одну из 6 состояний. Жизненный цикл нити начинается в момент когда программа создает новую нить, после инициализации нить проходит следующие состояния:

- готовность диспетчер просматривает очередь нитей и выделяет готовые нити

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

- выполнение

- ожидание (несколько способов)

1 ожидание некоторого объекта по своей инициативе – причина синхронизация выполнения с другими нитями

2 ожидание по инициативе ОС – окончание процедуры ввода/вывода

- переходное состояние нить входит в переходные состояния, если она готова к выполнению, но ресурсы нужные ей заняты при освобождении ресурсов, нить переходит в состояние готовности

- завершение – выполнение нити закончилось нить может быть удалена, а может быть и нет

Граф состояний нити

жизненный цикл нити машинизируется когда программа создает новую нить. Запрос передается в исполнительную часть. Менеджер процессов выделяет состояние после инициализации:

1) готовность – при поиске нити на выполнение диспетчер просматривает только нити, находящиеся в состоянии готовности, у которых есть все для выполнения кроме процессора.

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

3) Выполнение – после переключения контекстов, нить переходит в состояние выполнения, находится в нем, пока не закончится квант времени или пока ядро не вытеснит нить более приоритетной нитью, или нить завершится либо перейдет в состояние ожидания.

4) Ожидание – нить по своей инициативе ожидает некоторый объект (синхронизация), подсистема окружения может заставить нить приостановить выполнение.

5) Переходное состояние – нить готова к выполнению, но ресурсы заняты.

6) Завершение – из этого состояния нить может быть удалена или не удалена.

 

Диспетчер ядра использует для определения порядка выполнение нитей основанный на приоритетах (32 уровня приоритетов делятся на 2 класса: - класс реального времени [с 16 по 31], - класс переменных приоритетов [от 0 до 15]). Могут использоваться абсолютные приоритеты.

Сетевые средства

 

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

1) встроенность на уровне драйверов (обеспечивает быстродействие)

2) открытость (легкость динамической загрузки и выгрузки и мультеплексируемость протоколов).

3) Наличие почтовых ящиков и конвейеров для поддержки распределенных приложений.

4) Наличие дополнительных сетевых средств, позволяющих строить сети в масштабах корпорации (дополнительные средства безопасности, централизуемое администрирование, отказоустойчивость).

Приоритеты Windows NT

32 уровня приоритетов разделенных на два класса с 16 – 31 нити реального времени

Динамический приоритет – приоритет меняется во времени

Абсолютный приоритет – не меняется во времени