Способы организации многозадачных ОС

2. Способы реализации многозадачных операционных систем:

1) кооперативная многозадачность

В оперативной памяти находится несколько процессов. Один из них – в состоянии активности, ряд процессов в состоянии готовности. Активный процесс сам принимает решение о том, когда он передает управление другому процессу или операционной системе.

2) вытесняющая многозадачность

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

Для вытесняющей многозадачности существуют 3 стратегии планирования:

1) отдавать предпочтение более коротким процессам,

2) по возможности заканчивать вычисления в том же порядке, в каком они были начаты,

3) предоставлять всем пользователям (процессам пользователей) одинаковое время ожидания.

 

26. Диспетчеризация задач с динамическими приоритетами: Потребность в приоритетах в управлении потоками и процессами является результатом наличия в системе системных и пользовательских процессов.

Системные процессы выступают в роли обслуживающих процессов (серверные). В Windows (NT) существуют 32 приоритета. Приоритет присваивается операционной системой при создании процесса. Первые 16 приоритетов – для пользовательских процессов, остальные – для системных процессов.

Перевод «в фон» снижает приоритет потока. Поток может иметь приоритет ±2 к приоритету процесса.

В OS/2 есть 4 класса приоритетов в каждом классе 32 приоритета (всего 128):

1)

 
 

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

2) серверный класс, к которому относятся задачи, представляющие собой элементы определенной системы.

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

4) остаточный класс, который получает время, когда в очереди нет других классов.

Внутри каждого класса карусельная обработка.

 

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

Существует 2 распространенных способа назначения приоритетов:

· RMS (rate monotonic scheduling). Правило назначения приоритетов таково: чем меньше период задачи, тем выше у нее приоритет. Иными словами, чем чаще (отсюда rate) задача переходит в состояние готовности, тем ее приоритет выше.

· DMS (deadline monotonic scheduling). В этом алгоритме приоритеты назначаются по немного другому правилу: чем меньше относительный крайний срок задачи, тем выше ее приоритет.

Эти алгоритмы неоптимальны, так как при определенных условиях могут привести к превышению дедлайна, однако ввиду их относительной простоты именно они чаще используются в системах реального времени