- •Операционные системы Оглавление
- •Введение. Общие сведения.
- •1.2 История вычислительной системы
- •1.2.1 Первый период 45 – 55 гг.
- •1.2.2 Второй период 55-60 гг.
- •1.2.3 Третий период 60 – 80 гг.
- •1.2.4 Четвертый период с 80-х годов по наст. Время (персональные компьютеры, сетевые и распределенные системы).
- •1.2.5 Итоги развития вс.
- •1.3 Основные понятия и концепции ос
- •1.3.1 Системные вызовы.
- •1.3.2 Программные прерывания.
- •1.3.3 Файл.
- •1.4 Процессы и потоки. Архитектурные особенности ос.
- •1.4.1 Монолитное ядро.
- •1.4.2 Слоеные системы (Layered Systems)
- •1.4.3 Виртуальные машины.
- •1.4.4 Микроядерная архитектура.
- •1.4.5 Смешанные системы.
- •1.5 Классификация ос
- •2. Процессы и их поддержка в ос.
- •2.1 Понятие процесса.
- •2.2 Состояние процесса.
- •2.3 Операции над процессами и связанные с ними понятия
- •2.3.1 Набор операций.
- •2.3.2 Процесс Control Block и контекст процесса.
- •2.3.3 Одноразовые операции.
- •2.3.4 Многоразовые операции над процессами.
- •2.3.5 Переключение контекста.
- •3.Планирование процесса.
- •3.1. Уровни планирования
- •3.2 Критерии планирования и требовании к алгоритмам.
- •3.3 Параметры планирования
- •3.4 Вытесняющие и невытесняющие планирования
- •3.5 Алгоритмы планирования
- •3.5.1FirstComeFirstServed
- •3.5.2 Round Robin
- •3.5.3ShortestJob–First
- •3.5.4 Гарантированное планирование
- •3.5.5 Приоритетное планирование
- •3.5.6 Многоуровневые очереди (multilevelQueue)
- •3.5.7 Многоуровневые очереди
- •4. Кооперация процессов и основные аспекты в её логической реализации.
- •4.1 Взаимодействующие процессы
- •4.2 Категории средств обмена информацией
- •4.3 Логическая организация механизма передачи информации
- •4.3.1 Установление связи
- •4.3.2 Информационная валентность процессов и средств связи.
- •4.3.3 Особенности передачи информации с помощью линии связи.
- •4.3.4 Надежность средств связи
- •4.3.5 Как завершается связь?
- •4.4 Потоки исполнения
- •5. Алгоритмы синхронизации
- •5.1 Interleaving race condition
- •5.2 Критическая секция
- •5.3 Программные алгоритмы организации взаимодействия процессов
- •5.3.1 Требования, предъявляемые к алгоритму.
- •5.3.2 Запрет прерываний
- •7.8.2 Недостатки алгоритма банкира
- •8.2 Логическая память
- •8.3 Связывание адресов
- •8.4 Функции системы управления памятью
- •8.6 Страничная память
- •8.7 Сегментная и сегментно-страничная организация памяти
- •9. Виртуальная память
- •9.1 Понятие виртуальной памяти
- •9.2 Архитектурные средства поддержки виртуальной памяти
3.5.6 Многоуровневые очереди (multilevelQueue)
Если процессы легко реализовать по группам, то для каждой группы готовых процессов организуется своя очередь. У каждой очереди свой приоритет и внутри очереди свой приоритет. Приоритет очереди системных процессов самый высокий.
Данный подход означает, что самый низкий процесс не поставится в очередь пока не выполнятся системные процессы.
0,RR |
|
|
|
3.5.7 Многоуровневые очереди
Развитие алгоритма многоуровневых очередей является добавление к нему механизма обратной связи, пусть 4 очереди:
Планирование между очередями осуществляется на основе вытесняющего алгоритма планирования, процессы в очереди не могут выполнятся до тех пор, пока в выше лежащих очередях есть процесс с большим приоритетом.
Только что родившийся процесс поступает в очередь 0. если его величина (время использования процесса) < 8, то он перестает выполнятся. если CPU> 16, то он переходит во 2.
Миграция процессов может осуществляться и в обратном направлении. Пр. в случае ожидания ввода с клавиатуры.
Многоуровневые очереди с обратной связью – наиболее универсальное решение.
Какие параметры необходимо учитывать при реализации планирования?
нужно знать количество очередей для процессов, находящихся в сост. готовности
задать алгоритм планирования процессов в общем
задать алгоритмы планирования внутри очереди
правило помещение вновь рожденных процессов в очереди
правило перевода процессов из очереди в очередь.
4. Кооперация процессов и основные аспекты в её логической реализации.
Необходимо чтобы процессы взаимодействовали друг с другом.
4.1 Взаимодействующие процессы
Различные процессы могут выполнятся псевдопараллельно (в однопроцессорной ВС), или параллельно (на разных ВС), или в рамках одной ВС с множеством процессов.
Причины, по которым необходимо взаимодействие:
повышение скорости работы; пусть есть многопроцессорная система, тогда один процесс можно разделить на кусочки, которые могут одновременно выполнятся.
совместное использование данных
модульная конструкция системы (микроядерная организация ОС) В микроядерной организации отдельные части ОС фактически представляют для себя разные процессы, общаясь с друг другом передачей сообщений через микроядро.
Удобство работы с пользователем. Пр. программист работает в редакторе, а система считает данные
Общение процессом приводит к изменению их поведения
процессы, влияющие друг на друга называют кооперативнымииливзаимодействующими
для организации кооперации требуются специальные средства (действия ОС)
4.2 Категории средств обмена информацией
все средства общения с процессором принято делить на 3-ри категории:
сигнальные средства.
канальные средства. Общение процессов происходит через линии связи, предоставляемые ОС.
разделяемая память. Два процесса могут совместно использовать адресное пространство
4.3 Логическая организация механизма передачи информации
4.3.1 Установление связи
для использование памяти различными процессами требуется специальное обращение в ОС и ОС выделяет память. может потребоваться первоначального бронирование линии связи.
Способы адресации (необходимо указать при передачи информации) :
прямая. процессы взаимодействуют друг с другом по линии связи, указывая адреса и никто не вмешивается в передачу – схема прямой адресации. Один из взаимодействующих процессов (передающий) указывает имя партнера, а второй в качестве партнеры рассматривает другой процесс в системе – ассиметричная прямая адресация.
непрямая (косвенная). Данные помещаются при передачи процесса в некоторый промежуточный объект.