Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Все лекции по АВС.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.67 Mб
Скачать

3.8. Средства мультипрограммирования

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

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

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

3. Компьютер должен быть оснащен средствами, обеспечивающими управление порядком выполнения задач, принятых на обработку. Управление сводится к следующим действиям: 1) вводу заданий, относящихся к новым задачам, в процессе обработки других задач; 2) обеспечению задач основной и внешней памятью, а также устройствами ввода-вывода, необходимыми для выполнения задач; 3) загрузке программ в основную память; 4) распределению времени работы процессора и внешних устройств между обрабатываемыми задачами; 5) обработки особых ситуаций, возникающих при выполнении программ (например, переполнений) и в процессе функционирования устройств (например, сбоев в работе), без останова компьютера. Алгоритм управления мультипрограммной обработкой очень сложен и потому реализуется в основном программными средствами – управляющими программами операционной системы. Управляющие программы реализуют перечисленные действия с помощью традиционной системы команд. Для уменьшения затрат времени на управление процессом мультипрограммной обработки в систему команд компьютера могут вводится специальные операции, например операции обращения к управляющим программам и инициирования программ.

4. Компьютер должен иметь систему прерывания программ, с помощью которой управляющие программы извещаются об определенных событиях в работе компьютера: моментах окончания операций ввода-вывода; особых ситуациях, возникающих в процессе выполнения программ и работе устройств, и т. д. При возникновении такого рода событий формируются специальные сигналы – сигналы прерывания, которые поступают в процессор и обеспечивают переключение его на выполнение программ, обслуживающих соответствующие события. Система прерывания расширяет функциональные возможности компьютера, обеспечивая такие переходы в программах, которые не могут быть учтены в процессе составления программ.

5. Для выполнения расчетов по программам, которые могут содержать ошибки, допущенные при программировании, компьютер должен иметь средства защиты памяти. Средства защиты памяти обеспечивают защиту данных, относящихся к программе, от помех, которые возникают при работе других программ, выполняемых в мультипрограммном режиме. Помехи возникают, когда одна программа из-за ошибок в программировании записывает данные в ячейки памяти, выделенные другой программе. Средства защиты памяти исключают возможность обращения программы к областям основной памяти, принадлежащим другим программам. За счет этого обработка программ в мультипрограммном режиме с точки зрения получаемых результатов протекает так же, как и в однопрограммном режиме.

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

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

3.9. Функции управляющих программ операционной системы

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

Основной управляющей программой является супервизор. Супервизор контролирует состояние и управляет работой всех устройств компьютера: процессора П, основной памяти ОП, внешних запоминающих устройств ВЗУ и устройств ввода-вывода УВВ. Контроль состояния устройств сводится к получению и сохранению в супервизоре следующей информации: устройство включено или выключено, исправно или неисправно, занято или свободно. Для каждого запоминающего устройства супервизор ведет таблицу, в которой отмечается местоположение (адреса) занятых и свободных участков памяти и размещение информации в пределах запоминающего устройства. Управление работой устройств сводится к закреплению устройств и освобождению устройств и областей памяти по окончании их использования программами. В момент окончания этапа процессорной обработки или операции ввода-вывода супервизор получает извещение об этом в виде сигнала прерывания, формируемого процессором или внешним устройством и после соответствующей обработки в процессоре воздействующего на супервизор. Кроме того супервизор обслуживает особые ситуации, возникающие при выполнении программ и в работе устройств: переполнение, нарушение защиты памяти, обрыв бумаги в печатающем устройстве и т. п. Информация о таких ситуациях передается в супервизор также с помощью сигналов прерывания. Через устройства ввода-вывода на супервизор воздействуют внешние сигналы: нажатие кнопки на пульте, свидетельствующее о необходимости принять информацию от оператора; нажатие кнопки о готовности устройства для дальнейшей работы и т. п.

Другой управляющей программой является планировщик, функция которого – ввод заданий и обеспечение их ресурсами с целью создания задач, подготовленных для обработки (см. рис. 3. 14). Задания J1JР поступают в компьютер через устройства ввода-вывода и записываются в память. Планировщик, руководствуясь некоторой стратегией планирования, выбирает первоочередные задания и начинает обеспечивать их необходимыми емкостями основной и внешней памяти и устройствами ввода-вывода. Потребность в ресурсах выявляется из задания, на основе которого должно выполняться задание, и описания данных. Запросы на требуемые ресурсы посылаются в супервизор, который удовлетворяет их по мере возможности. При обеспечении задания ресурсами планировщик заполняет информационную таблицу, в которую заносится перечень конкретных ресурсов, предоставляемых для выполнения задания. Задание, обеспеченное всеми необходимыми ресурсами, становится задачей, которая включается в смесь из М задач P1PМ, выполняемых компьютером под управлением супервизора.

Супервизор инициирует задачу путем загрузки соответствующей программы в основную память. При освобождении процессора задача переходит в состояние счета (см. рис. 3. 14) и обрабатывается процессором до тех пор, пока не появиться необходимость во вводе-выводе информации. Все запросы на ввод-вывод, формируемые программами, обрабатываются супервизором, который, реагируя на запрос, инициирует работу внешнего устройства, закрепленного за задачей. В период выполнения операции ввода-вывода задача находится в состоянии ожидания окончания ввода-вывода, а супервизор переключает процессор на обработку другой задачи, находящейся в состоянии ожидания счета. В момент окончания операции ввода-вывода внешнее устройство формирует сигнал прерывания, реагируя на который супервизор ставит задачу в очередь на процессорную обработку. Когда выполнение задачи заканчивается, супервизор инициирует планировщик, который начинает подготавливать к обработке очередное задание.

Чтобы отличать программы, обрабатываемые компьютером, от управляющих программ, первые называются прикладными программами. И прикладные программы, и управляющие программы реализуются на одних и тех же устройствах компьютера поочередно. Планировщик включается в работу супервизором и выполняется процессором в следующих случаях: 1) при поступлении из устройства ввода-вывода директивы на ввод задания, воспринимаемой и декодируемой супервизором; 2) по окончании обработки задачи для создания следующей задачи. Супервизор включается в работу: 1) сигналами прерывания; 2) командами прикладных программ и планировщика, посредством которых эти программы обращаются к супервизору для получения ресурсов, контролируемых супервизором, и выполнения операций ввода-вывода. Прикладные программы обрабатываются процессором в промежутки времени, когда процессор не занят выполнением управляющих программ – супервизора и планировщика.