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

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

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

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

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

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

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

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

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