- •Семафоры. Синхронизация процессов при помощи семафоров.
- •Организация параллелизма с помощью монитора. Кольцевой буфер.
- •Проблемы тупиков. Бесконечное откладывание и старение процессов.
- •Концепция ресурсов. Четыре необходимых условия возникновения тупика. Стратегия предотвращения тупиков.
- •Графы распределения ресурсов. Простая тупиковая ситуация
- •6.9.2 Приведение графов распределения ресурсов
- •Алгоритмы обнаружения тупиков. Редукция графа распределения ресурсов.
- •Организация памяти. Стратегии управления памятью. Связное и несвязное распределение памяти.
- •Мультипрограммные системы. Разделы памяти фиксированного и переменного размеров. Свопинг в мультипрограммировании.
- •Концепция виртуальной памяти. Пространство виртуальных адресов.
- •Многоуровневая организация виртуальной памяти. Поблочное отображение. Страницы и сегменты.
- •Системы с комбинированной странично-сегментной организацией. Таблица процессов и преобразование адресов.
- •Стратегии вталкивания и размещения страниц.
- •Стратегия выталкивания страниц. Понятия рабочего множества и трешинга.
- •Подкачка страниц по запросу и с упреждением.
- •Управление процессорами. Планирование загрузки процессоров. Цели планирования.
- •11.2 Цели планирования
- •Планирование с переключением и без переключения. Интервальный таймер.
- •Приоритеты. Планирование по сроку завершения.
- •Планирование по принципу fifo. Размер кванта.
- •Планирование по принципам sjf, srt и hrn.
- •Многоуровневые очереди с обратными связями.
- •Требования, предъявляемые к операционной системе. Многозадачность и ее виды.
Приоритеты. Планирование по сроку завершения.
Приоритеты
Система может присваивать приоритеты автоматически или они могут назначаться извне. Приоритеты могут быть заслуженными («заработанными») или купленными. Они могут быть либо статическими, либо динамическими. Они могут присваиваться по какому-то рациональному принципу или произвольно назначаться в ситуациях, когда системному механизму необходимо каким-то образом различать процессы, однако он не знает, какой из них в действительности более важен.
11.6.1. Статические и динамические приоритеты
Статические приоритеты не изменяются. Механизмы статической приоритетности легко реализовать. Однако они не реагируют на изменения в окружающей ситуации, изменения, которые могут сделать желательной корректировку приоритетов.
Механизмы динамических приоритетов реагируют на изменения в ситуации. Начальное значение приоритета, присвоенное процессу, может действовать в течение лишь короткого периода времени, после чего назначается новое, более подходящее значение. Схемы динамической приоритетности гораздо сложнее в реализации и связаны с большими издержками по сравнению со статическими схемами. Однако предполагается, что эти издержки оправдываются повышением реактивности системы.
11.7 Планирование по сроку завершения
При планировании по сроку завершения принимаются все меры для того, чтобы выполнение определенных заданий заканчивалось к заранее обусловленному времени, или конечному сроку. Результаты этих заданий могут иметь очень важное значение, если они будут получены вовремя, и могут оказаться бесполезными после назначенного срока. Пользователь зачастую с готовностью внесет дополнительную плату, лишь бы система гарантированно завершила выполнение его задания в назначенное время. Планирование по сроку завершения сложно организовать по многим причинам.
· Пользователь должен заранее точно указывать, какие ресурсы потребуются для выполнения его задания. А подобную информацию можно иметь лишь в редких случаях.
· Система должна выполнять задания к сроку без серьезного снижения уровня обслуживания других пользователей.
· Система должна тщательно распределять загрузку своих ресурсов вплоть до указанного срока завершения задания. А это может быть достаточно трудно, поскольку могут поступать новые задания, предъявляющие к системе непредсказуемые требования.
Если приходится иметь дело одновременно со многими заданиями, для которых задается срок выполнения, то планирование может настолько усложниться, что потребуются специальные методы оптимизации, гарантирующие соблюдение всех сроков.
Активное управление ресурсами, необходимое при планировании по сроку завершения, может быть связано с существенными накладными расходами. Хотя пользователи согласны идти на достаточно высокую плату за предоставление услуг, обеспечивающих выполнение их заданий в указанные сроки, общий объем затрачиваемых на это системных ресурсов может оказаться настолько большим, что остальные пользователи, работающие с системой, будут страдать от ухудшенного обслуживания. Разработчики операционных систем должны тщательно учитывать возможность подобных конфликтов.
11.8 Планирование по принципу FIFO («first in - first out» — «первый пришедший обслуживается первым»)
По-видимому, наиболее простой дисциплиной планирования является принцип FIFO («первый пришедший обслуживается первым») (рис. 11.2). Центральный процессор предоставляется процессам в порядке их прихода в очередь готовности. После того, как процесс получает ЦП в свое распоряжение, он выполняется до завершения.