Организация многозадачности
Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы Windows 9х, состоит в организации по возможности простого, но эффективною способа предоставления процессорного времени различным параллельно выполняющимся программам. Другими словами, речь идет о диспетчеризации задач.
Мы уже знаем, что многозадачность, в общем случае, означает способность операционной системы обеспечивать совместное использование процессора несколькими программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает.
Диспетчер задач (потоков выполнения) использует следующие три механизма, с помощью которых он пытается равномерно распределять время процессора между всеми вычислениями в целях обеспечения бесперебойной и одновременно быстрой реакции системы.
· Динамическое изменение приоритета. Диспетчер на время может повысить или понизить приоритет того или иного потока. Так, например, нажатие клавиши или щелчок мыши говорит ему о том, что приоритет потока, к которому относится действие пользователя, должен быть повышен.
· Постсинхронизированное снижение приоритета. Ранее повышенное значение приоритета постепенно возвращается к исходному значению.
· Наследование приоритета. Служит для быстрого повышения приоритета. Обычно это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восстанавливает исходное значение унаследованного приоритета сразу же после удовлетворения конфликтного условия.
Дата добавления: 2015-04-03; просмотров: 857;