2.2.6. Программирование с использованием многоуровневой очереди с обратными связями (multilevel feedback queue sheduling).

Обычная многоуровневая очередь не допускает перемещения процессов между очередями. Многоуровневая очередь с обратными связями предполагает, что процессы при определенных условиях могут перемещаться между очередями.

0

1

2


Процессы первоначально попадают в очередь 0, где каждому из них предоставляется квант времени, равный 8 мс. Те процессы, которые не успели выполниться в течение этого времени, перемещаются в очередь 1. Процессы из очереди 1 начинают обрабатываться только тогда, когда очередь 0 становиться пустой. Те процессы, которые не выполнились в очереди 1 (q=16 мс) перемещаются в очередь 2. Процессы из очереди 2 будут обрабатываться только в том случае, если становятся пустыми очереди 0 и 1.

Рассмотренная стратегия является наиболее универсальной и сочетает в себе свойства всех рассмотренных раньше стратегий.


FCFS

SJF

приоритетная

Round Robin

многоуровневая очередь

3. Управление невиртуальной памятью.

3.1. Своппинг. (swapping).

Своппингом называется метод управления памятью, основанный на том, что все процессы, участвующие в мультипрограммной обработке, хранятся во внешней памяти.

Процесс, которому выделен CPU, временно перемещается в основную память (swap in/roll in).

В случае прерывания работы процесса он перемещается обратно во внешнюю память (swap out/roll out).

Замечание: при своппинге из основной памяти во внешнюю (и обратно) перемещается вся программа, а не её отдельная часть.

Своппинг иногда используют при приоритетном планировании CPU. В этом случае с целью освобождения памяти для высокоприоритетных процессов, низкоприоритетные процессы перемещаются во внешнюю память.

Основное применение своппинг находит в системах разделения времени, где он используется одновременно с Round Robin стратегией планирования CPU.

В начале каждого временного кванта блок управления памятью выгружает из основной памяти процесс, работа которого была только что прервана, и загружает очередной выполненный процесс.

Метод своппинга влияет на величину временного кванта Round Robin стратегии.

Пример.

пусть очередной загружаемый в память процесс имеет размер 100Кб.

диск позволяет читать данные со скоростью 1 Мб в секунду

следовательно, 100 Кб могут быть загружены за 100 мс.

будем считать, что для первоначального подвода головки чтения - записи потребуется 8 мс

таким образом, операция своппинг займет 108 мс, а общее время своппинга - 216 мс.

Для эффективной загруженности процессора время своппинга должно быть существенно меньше времени счета. Следовательно, для рассмотренного примера квант времени должен быть существенно больше, чем 216 мс. Ясно, что это число значительно увеличится, если перемещаемый процесс имеет размер, например, 1 Мб.

Недостаток “чистого” своппинга в больших потерях времени на загрузку или выгрузку процессов. Поэтому в современных операционных системах используется модифицированные варианты своппинга.

Так, например, во многих версиях операционной системы UNIX своппинг включается только в том случае, когда количество процессов в памяти становится слишком большим.

3.2. Смежное размещение процессов.

Методы размещения процессов в основной памяти по отношению к расположению участков памяти, выделенных для одной и той же программы делят на два класса. Первый — метод смежного размещения, а второй — метод несмежного размещения.

Смежное размещение является простейшим и предполагает, что в памяти, начиная с некоторого начального адреса выделяется один непрерывный участок адресного пространства.

при несмежном размещении программа разбивается на множество частей, которые располагаются в различных, необязательно смежных участках адресного пространства.

3.2.1. Однопрограммный режим.

0

а

б


Рисунок иллюстрирует смежное размещение (contiguous allocation) одной программы в основной памяти.

операционная система


корневой сегмент

б

а

0

оверлейная область


При смежном размещении размер загружаемой программы ограничивается размером накопителя. Для того чтобы при смежном размещении загружать программы, размеры которых превышают размеры накопителя, используют метод оверлейных сегментов (overlay segments).

В программе, имеющей древовидную структуру, модули второго уровня работают сугубо последовательно, поэтому в памяти может находиться только один из них.

Оверлейную структуру программы и последовательность загрузки оверлейных сегментов планирует сам программист.

В процессе выполнения программы все её адреса не должны быть меньше числа а. В противном случае возможна запись какого-либо результата работы программы (поверх операционной системы) и уничтожение некоторых её частей. Защиту операционной системы в случае смежного размещения при однопрограммном режиме можно осуществить с помощью регистра границы.

0

а

б

CPU

Регистр

границы a


Во время работы прикладной программы все адреса, генерируемые CPU, сравниваются с содержимым регистра границы. Если генерируется адрес меньше числа а, работа программы прерывается.
Информация о работе «Разработка операционных систем»
Раздел: Информатика, программирование
Количество знаков с пробелами: 40917
Количество таблиц: 14
Количество изображений: 0

Похожие работы

Скачать
34603
0
0

... циркуляр руководства компании, #321/A, определяющий количество глюков для каждой версии Windows. Ю.Н.: - Но зачем?! С.Б.: - Потому что Microsoft не хочет резать курицу, несущую золотые яйца. Представьте себе, что мы выпустили бы на рынок идеальную операционную систему, каковой на самом деле является Windows. Рынок был бы насыщен очень быстро, после чего пользователи потеряли бы всякий стимул

Скачать
48581
2
0

... менеджмента в управлении операционной системой Операционный менеджер по своему положению находится у истоков формирования миссии и стратегии операционной системы и эффективного регулирования ее ресурсами. И, естественно, разработка эффективной операционной стратегии зависит от «хороших» стратегических и тактических решений операционного менеджера. В данном случае стратегические решения имеют ...

Скачать
57423
0
0

... доступа к данным препятствует как несанкционированному использованию информации, так и распространению вредоносных кодов в системе. Глава 2. Производители программного обеспечения Разумеется, многофункциональность ПК определяет не операционная система, а программное обеспечение, используемое на нем. Именно эти продукты позволяют использовать компьютер в различных производственных сферах. И, ...

Скачать
225728
6
0

... ориентированы на 32 разрядные шинные архитектуры компьютеров с процессорами 80386, 80486 или Pentium. Фирма Novell также подготовила варианты сетевой ОС NetWare, предназначенные для работы под управлением многозадачных, многопользовательских операционных систем OS/2 и UNIX. Версию 3.12 ОС NetWare можно приобрести для 20, 100 или 250 пользователей, а версия 4.0 имеет возможность поддержки до 1000 ...

0 комментариев


Наверх