Введение в архитектуру компьютеров


Понятие мультипрограммирования


Требования, которые предъявляются различными заданиями к ресурсам, необычайно разнообразны. Оптимально использовать их даже при тщательном планировании заданий невозможно. Скажем, если речь идет об оперативной памяти, то любая ее часть, не занятая какими-то системными блоками или текущим заданием, это уже потерянные ресурсы. В случае же раздельных процессоров – центрального и ввода-вывода для заданий с ограниченным вводом-выводом или небольшими вычислениями, процессоры могут простаивать. Выход из создавшегося положения позволяет найти одновременное присутствие в компьютере в активном состоянии нескольких заданий и распределение имеющихся ресурсов между этими заданиями. Тогда, если какое-то задание требует процессора ввода-вывода, то центральный процессор может быть переключен на обработку другого задания. При такой организации несколько заданий по частям выполняется одновременно в системе, а центральный процессор какие-то кванты времени тратит на выполнение каждого из них. Такая схема работы называется мультипрограммированием. Главная цель такой схемы – компенсировать различие в скоростях работы между центральным процессором и процессором ввода-вывода.

Пример. Пусть в системе с мультипрограммированием присутствуют три задания P1, P2, P3 c параметрами

P1 (C1,I/O1, M1), P2 (C2, I/O2, M2), P3(C3, I/O3, M3),

где Сi – процессорное время; I/Oi – время ввода-вывода; Mi – требуемая ОП.

Пусть общий объем ОП для выполнения трех заданий равен 100 К.

Если бы при заданных ресурсах выполнялось только задание P1, то мы не использовали бы 80 К памяти, кроме того, центральный процессор (ЦП) простаивал бы в течение времени I/O1. В случае же обработки трех процессов память используется полностью, а при выполнении I/O1 мы ЦП передали бы второму процессу, затем третьему, и, следовательно, максимальный простой ЦП достигал бы лишь t = I/O1-(C2 + C3) вместо I/О1. Таким образом, за время, необходимое для выполнения одного процесса в однопрограммном режиме, мы можем выполнить два и более заданий в режиме мультипрограммирования.




- Начало -  - Назад -  - Вперед -



Книжный магазин