Система Windows 2000

Система с приоритетам и квантованием, вытесняющая многозадачность.

Приоритеты имеют 32 уровня (0- 31 включительно).

Делятся на 3 диапазона:

- 0 – системный поток для очистки страниц памяти. Готовит страницы памяти, нужен для виртуализации, для гарантированной защиты информации.

-1 – 15 вкл – диапазон динамических приоритетов (могут меняться в процессе работы в зависимости от параметров)

- 16-32 вкл – диапазон статических приоритетов (в процессе работы не меняются)

В зависимости от использования выделяется ряд классов приоритетов процессов:

1) Фоновые потоки (Idle class) – уровень 4

2) – ниже нормального (Below normal class) – уровень 6

3) Нормальный (Normal class) – уровень 8

4) – выше нормального (Above normal class) – уровень 10

5) Высокий (High class) – уровень 13

___________________________

6) Реальное время (Real time class)– уровень 24

2 и 4 появились начиная с Винды 2000;

Приоритет каждого потока = приоритет его процесса + относительный приоритет самого потока. Существует 7 относительных приоритетов потоков:

· Normal: такой же как и у процесса;

· Above normal: +1 к приоритету процесса;

· Below normal: -1;

· Highest: +2;

· Lowest: -2;

· Time critical: устанавливает базовый приоритет потока для Real time класса в 31, для остальных классов в 15.

· Idle: устанавливает базовый приоритет потока для Real time класса в 16, для остальных классов в 1.

Для процессов класса NORMAL_PRIORITY_CLASS при переключении из фонового режима в режим переднего плана и в ряде других случаев приоритет потока, с которым создано окно переднего плана, повышается. Так работают все клиентские операционные системы от Microsoft. Серверные операционные системы оптимизированы для выполнения фоновых приложений.

К тому же Windows 2000 Professional и Windows 2000 Server имеют разные алгоритмы выделения квантов времени. Первая — клиентская — операционная система выделяет время короткими квантами переменной длины для ускорения реакции на приложения переднего плана (foreground). Для сервера же более важна стабильная работа системных служб, поэтому во второй ОС система распределяет длинные кванты постоянной длины.

Планирование процессов и потоков в системах реального времени.

Главный критерий эффективности в этих системах – реактивность, обеспечение временных характеристик вычислительного процесса и быстрая реакция на управляющие сигналы.

Но задача облегчается, тем, что:

- заранее известен весь набор выполняемых задач

- есть четкая информация о сроках и задачах, на ее основе можно

- создать статическое расписание

- создать нужный динамический алгоритм

В зависимости от последствий ошибки, системы делятся:

- системы жесткого реального времени (запуск спутника, АЭС)

- системы мягкого реального времени (система бронирования билетов)

ЖЕСТКОГО РВ

Для систем жесткого реального времени время выполнения КАЖДОЙ из критических задач должно быть гарантировано при ЛЮБОМ сценарии поведения системы.

Этого можно добиться:

- исчерпывающим тестированием системы

- статическим расписанием

- составлением математически обоснованного динамического алгоритма

Возможность составить статическое расписание есть не всегда, и эта возможность просчитывается сложными математическими вычислениями.

Один из критериев такой возможности – время вычисления задачи должно быть меньше предельного срока на ее выполнение.

МЯГКОГО РВ

Время иногда может быть нарушено, не страшно.

___

Типы задач в системе РВ:

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

- спорадические – время запросов заранее не известно

Также задачи бывают:

- независимые

- зависимые

Планирование зависимых задач важнее, чем планирование независимых задач, и сложнее.

Можно:

- разделить планирование на 2 части, одну из них выполнять заранее, а вторую – во время работы системы. Например, предварительно можно вычислить временные интервалы, в которые нельзя назначать выполнение задач, содержащих критические секции.

- ввести ограничения на поведение набора задач

Классический алгоритм для жестких систем реального времени разработан в 1973 году Лью и Лейландом.

Этот алгоритм основан на статических приоритетах

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

- Все задачи независимы

- Срок выполнения каждой задачи равен ее периоду

- Максимальное время выполнения каждой задачи известно и постоянно

- Максимальный коэффициент загрузки процессора не превышает 0.7

Задачам назначаются статические приоритеты в зависимости от величины их периода выполнения: чем он короче, тем больше приоритет.

Существуют также алгоритмы, основанные на динамических приоритетах, назначаются в соответствии с текущими состояниями задачи (дедлайном).

Чем меньше время у задачи до дедлайна, тем выше ее приоритет.

Обработка прерываний (назначение, типы, механизм, маскирование). Диспетчеризация и приоритеты прерываний. Централизованная схема диспетчеризации прерываний на примере Windows NT. Отложенный (DPS) и асинхронный (APS) вызовы процедур для обработки прерываний. Выполнение обработки прерываний в контексте и вне контекста процесса.

Прерывания – основная движущая сила любой ОС.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: