
- •12. Планирование процессов. Критерии планирования и требования к алгоритмам. Параметры планирования. Вытесняющее и невытесняющее планирование
- •13. Алгоритмы планирования.
- •15. Гарантированное планирование, Приоритетное планирование, Приоритетное планирование
- •16. Многоуровневые очереди (Multilevel Queue), Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •17. Взаимодействие процессов и категории средств обмена информации
- •18. Механизм передачи информации (адресация процессов, валентность, направленность связи)
- •19. Буферизация и надежность
- •20. Критическая секция
- •21. Программные алгоритмы организации взаимодействия процессов: требования, семафор, мьютекс
- •22. Тупики. Понятие, причины и условия возникновения, направления борьбы с тупиками
- •24. Предотвращение тупиков за счет нарушения условий возникновения тупиков
- •25. Обнаружение тупиков. Восстановление после тупиков
- •32. Схема с переменными разделами
- •34. Понятие виртуальной памяти
- •36. Структура таблицы страниц. Инвертированная таблица страниц. Размер страницы
- •40. Оптимальный алгоритм (opt). Алгоритм исключения недавно использовавшейся страницы
16. Многоуровневые очереди (Multilevel Queue), Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
Многоуровневые очереди (Multilevel Queue)
В системах, процессы которых могут разделяться на группы, есть другой алгоритм планирования. Для каждой группы создается своя очередь процессов в состоянии готовность (группы иимеют приоритет). Пока есть хоть один процесс «готовность» в очереди с 0 приоритетом, процессы из 1 очереди не будут выполняться.
Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
Здесь процесс не постоянно приписан к определенной очереди, а может мигрировать из очереди в очередь, в зависимости от своего поведения. Например, 0 очередь с квантом 8. Если CPU burst процесса меньше кванта то он в 0 очереди остается если больше, то переходит выше. Так короткие задачи будут выполняться первее. Для полного описания воплощения многоуровневых очередей с обратной связью необходимо указать: - Количество очередей для процессов, находящихся в состоянии готовность. - Алгоритм планирования, действующий между очередями. - Алгоритмы планирования, действующие внутри очередей. - Правила помещения родившегося процесса в одну из очередей. - Правила перевода процессов из одной очереди в другую. Изменяя какой-либо из перечисленных пунктов, мы можем существенно менять поведение вычислительной системы.
17. Взаимодействие процессов и категории средств обмена информации
Если деятельность процессов остается неизменной при любой принятой ими информации, то это означает, что они на самом деле не нуждаются во взаимном общении. Процессы, которые влияют на поведение друг друга путем обмена информацией, принято называть кооперативными или взаимодействующими процессами, в отличие от независимых процессов, не оказывающих друг на друга никакого воздействия и ничего не знающих о взаимном сосуществовании в вычислительной системе.
Причины: Одной из причин является повышение скорости работы. Когда один процесс ожидает наступления некоторого события, другие в это время могут заниматься полезной работой, направленной на решение общей задачи. В многопроцессорных вычислительных системах программа разделяется на отдельные кусочки, каждый из которых будет исполняться на своем процессоре.
Второй причиной является совместное использование данных. Различные процессы могут, к примеру, работать с одной и той же динамической базой данных или с разделяемым файлом, совместно изменяя их содержимое.
Третьей причиной является модульная конструкция какой-либо системы. Типичным примером может служить микроядерный способ построения операционной системы, когда ее различные части представляют собой отдельные процессы, общающиеся путем передачи сообщений через микроядро
Наконец, это может быть необходимо просто для удобства работы пользователя, желающего, например, редактировать и отлаживать программу одновременно. В этой ситуации процессы редактора и отладчика должны уметь взаимодействовать друг с другом.
По объему передаваемой информации и степени возможного воздействия на поведение другого процесса все средства такого обмена можно разделить на три категории: Сигнальные. Передается минимальное количество информации — один бит, “да” или “нет”. Используются, как правило, для извещения процесса о наступлении какого-либо события. Степень воздействия на поведение процесса, получившего информацию, минимальна. Все зависит от того, знает ли он, что означает полученный сигнал, надо ли на него реагировать и каким образом. Канальные. Общение процессов происходит через линии связи, предоставленные операционной системой, и напоминает общение людей по телефону, с помощью записок, писем или объявлений. Разделяемая память. Два или более процессов могут совместно использовать некоторую область адресного пространства. Созданием разделяемой памяти занимается операционная система (если, конечно, ее об этом попросят). Общение процессов напоминает совместное проживание студентов в одной комнате общежития. Возможность обмена информацией максимальна, как, впрочем, и влияние на поведение другого процесса, но требует повышенной осторожности.