Составители:
связанные с невыполнением таких задач, могут оказаться больше, чем потери от невы-
полнения программ с более высоким приоритетом. При этом оказывается целесообраз-
ным временно изменить приоритет «аварийных» задач для которых истекает отпущен-
ное для них время обработки. После выполнения этих задач их приоритет
восстанавливается. Поэтому почти в любой ОСРВ имеются средства для изменения
приоритета программ. Есть такие средства и во многих ОС, которые не относятся к
классу ОСРВ. Введение механизмов динамического изменения приоритетов позволя-
ет реализовать более быструю реакцию системы на короткие запросы пользователей, что
очень важно при интерактивной работе, но при этом гарантировать выполнение любых
запросов.
Класс задач, имеющих самые высокие значения приоритета, называется критиче-
ским (time critical). Этот класс предназначается для задач, которые принято называть за-
дачами реального времени, то есть для них должен быть обязательно предоставлен оп-
ределенный минимум процессорного времени. Наиболее часто встречающимися
задачами, которые относят к этому классу, являются задачи коммуникаций (например,
задача управления последовательным портом, принимающим биты с коммутируемой
линии, к которой подключен модем, или задачи управления сетевым оборудованием).
Если такие задачи не получат управление в нужный момент времени, то сеанс связи мо-
жет прерваться.
Следующий класс задач имеет название приоритетного. Поскольку к этому клас-
су относят задачи, которые выполняют по отношению к остальным задачам роль серве-
ра, то его еще иногда называют серверным. Приоритет таких задач должен быть выше,
это будет гарантировать, что запрос на некоторую функцию со стороны обычных задач
выполнится сразу, а не будет дожидаться, пока до него дойдет очередь на фоне других
пользовательских приложений.
Большинство задач относят к обычному классу, его еще называют регулярным или
стандартным. По умолчанию система программирования порождает задачу, относя-
щуюся именно к этому классу.
Наконец, существует еще класс фоновых задач, называемый в OS/2 остаточным.
Программы этого класса получают процессорное время только тогда, когда нет задач из
других классов, которым сейчас нужен процессор. В качестве примера такой задачи
можно привести программу проверки электронной почты.
Внутри каждого из вышеописанных классов задачи, имеющие одинаковый уровень
приоритета, выполняются в соответствии с дисциплиной RR. Переход от одного потока
к другому происходит либо по окончании отпущенного ему кванта времени, либо по
системному прерыванию, передающему управление задаче с более высоким приорите-
том (таким образом, система вытесняет задачи с более низким приоритетом для выпол-
нения задач с более высоким приоритетом и может обеспечить быструю реакцию на
важные события).
§ 2.2. Основы многозадачности в ОС Windows
2.2.1. Основные принципы многозадачности в Windows
В Windows каждый процесс имеет свое собственное виртуальное адресное про-
странство (4Gb). Процесс состоит из кода, данных и других системных ресурсов, таких
как открытые файлы, каналы (pipes), синхронизирующие объекты. Однако процесс –
статический объект, который сам по себе действия не производит. Поток (thread) - базо-
вый объект, которому операционная система распределяет время центрального процес-
сора. Поток выполняет команды программы с учетом заданного ему маршрута. Каждый
57
связанные с невыполнением таких задач, могут оказаться больше, чем потери от невы-
полнения программ с более высоким приоритетом. При этом оказывается целесообраз-
ным временно изменить приоритет «аварийных» задач для которых истекает отпущен-
ное для них время обработки. После выполнения этих задач их приоритет
восстанавливается. Поэтому почти в любой ОСРВ имеются средства для изменения
приоритета программ. Есть такие средства и во многих ОС, которые не относятся к
классу ОСРВ. Введение механизмов динамического изменения приоритетов позволя-
ет реализовать более быструю реакцию системы на короткие запросы пользователей, что
очень важно при интерактивной работе, но при этом гарантировать выполнение любых
запросов.
Класс задач, имеющих самые высокие значения приоритета, называется критиче-
ским (time critical). Этот класс предназначается для задач, которые принято называть за-
дачами реального времени, то есть для них должен быть обязательно предоставлен оп-
ределенный минимум процессорного времени. Наиболее часто встречающимися
задачами, которые относят к этому классу, являются задачи коммуникаций (например,
задача управления последовательным портом, принимающим биты с коммутируемой
линии, к которой подключен модем, или задачи управления сетевым оборудованием).
Если такие задачи не получат управление в нужный момент времени, то сеанс связи мо-
жет прерваться.
Следующий класс задач имеет название приоритетного. Поскольку к этому клас-
су относят задачи, которые выполняют по отношению к остальным задачам роль серве-
ра, то его еще иногда называют серверным. Приоритет таких задач должен быть выше,
это будет гарантировать, что запрос на некоторую функцию со стороны обычных задач
выполнится сразу, а не будет дожидаться, пока до него дойдет очередь на фоне других
пользовательских приложений.
Большинство задач относят к обычному классу, его еще называют регулярным или
стандартным. По умолчанию система программирования порождает задачу, относя-
щуюся именно к этому классу.
Наконец, существует еще класс фоновых задач, называемый в OS/2 остаточным.
Программы этого класса получают процессорное время только тогда, когда нет задач из
других классов, которым сейчас нужен процессор. В качестве примера такой задачи
можно привести программу проверки электронной почты.
Внутри каждого из вышеописанных классов задачи, имеющие одинаковый уровень
приоритета, выполняются в соответствии с дисциплиной RR. Переход от одного потока
к другому происходит либо по окончании отпущенного ему кванта времени, либо по
системному прерыванию, передающему управление задаче с более высоким приорите-
том (таким образом, система вытесняет задачи с более низким приоритетом для выпол-
нения задач с более высоким приоритетом и может обеспечить быструю реакцию на
важные события).
§ 2.2. Основы многозадачности в ОС Windows
2.2.1. Основные принципы многозадачности в Windows
В Windows каждый процесс имеет свое собственное виртуальное адресное про-
странство (4Gb). Процесс состоит из кода, данных и других системных ресурсов, таких
как открытые файлы, каналы (pipes), синхронизирующие объекты. Однако процесс –
статический объект, который сам по себе действия не производит. Поток (thread) - базо-
вый объект, которому операционная система распределяет время центрального процес-
сора. Поток выполняет команды программы с учетом заданного ему маршрута. Каждый
57
Страницы
- « первая
- ‹ предыдущая
- …
- 53
- 54
- 55
- 56
- 57
- …
- следующая ›
- последняя »
