Понедельник, Июль 5th, 2010

Операционные системы, среды и оболочки

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

Методы повышения производительности системы:
• совместное планирование — все потоки одного приложения одновременно ставятся на выполнение процессорами и одновременно снимаются с выполнения;
• планирование, при котором находящиеся в критической секции задачи не прерываются, а активно ожидающие входа в критическую секцию задачи не ставятся на выполнение до тех пор, пока вход в секцию не освободится;
• планирование с учетом так называемых подсказок (hints) программы (во время ее выполнения).

3. Диспетчеризация задач с использованием динамических приоритетов
• Основная стратегия обслуживания применяемая в UNIX-системах, — это равенство в обслуживании и обеспечение приемлемого времени реакции системы.
• Каждый процесс имеет два атрибута приоритета: текущий приоритет, на основании которого происходит планирование, и заказанный относительный приоритет
• Процесс, ожидающему недоступного в данный момент ресурса, имеет значение приоритета сна.

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

• В Windows NT/2000/XP каждый поток выполнения имеет базовый уровень приоритета.
• Для определения порядка выполнения потоков диспетчер задач использует систему приоритетов, направляя на выполнение задачи с высоким приоритетом раньше задач с низким приоритетом. Система прекращает исполнение, или вытесняет, текущий поток, если становится готовым к выполнению другой поток с более высоким приоритетом.
• Имеется группа очередей — по одной для каждого приоритета.

• Для системных модулей зарезервирована очередь с номером 0.
• Большинство задач в системе относятся к классу переменного приоритета (номер очереди от 1 до 15). Диспетчер задач корректирует их приоритеты по мере выполнения. Диспетчер приостанавливает исполнение текущей задачи, после того как та израсходует свой квант времени. Приоритет задачи, выполняющей много вычислений, постепенно понижается, но диспетчер повышает приоритет задачи после ее освобождения из состояния ожидания.

• В OS/2 имеется четыре класса задач. Для каждого класса задач имеется своя группа приоритетов с интервалом значений от 0 до 31. Итого, 128 различных уровней.
• Задачи, имеющие самые высокие значения приоритета, называются критическими по времени (time critical).
• Следующий класс задач имеет название приоритетного (серверного).

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

Категория: Лекции