Мультипрограммирование
Для повышения эффективности использования процессора была применена идея мультипрограммирования – пока одна программа выполняет операцию ввода-вывода, процессор не простаивает, а выполняет другую программу. После окончания операции ввода-вывода, процессор возвращается к выполнению предыдущей программы.
Мультипрограммирование, или многозадачность – это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ. Эти программы совместно используют не только процессор, но и другие ресурсы компьютера, оперативную и внешнюю память, устройства ввода-вывода, данные.
Мультипрограммирование требует революции в строении вычислительной системы:
1) Реализация защитных механизмов.
Программы не должны иметь самостоятельного доступа к распределению ресурсов, а должно быть обеспечено изолирование конкурирующих пользовательских программ друг от друга, а ОС – от программ пользователей. Появляются привилегированные (с доступом к оборудованию и ресурсам) и непривилегированные («пользовательские») команды и режимы работы ОС.
2) Наличие прерываний.
Внешние прерывания оповещают ОС о том, что произошло асинхронное событие, например, завершилась операция ввода-вывода. Внутренние прерывания возникают, когда выполнение программы привело к ситуации, требующей вмешательства ОС, например деление на ноль.
3) Развитие параллелизма в архитектуре.
Прямой доступ к памяти и организация каналов ввода-вывода позволили освободить центральный процессор от рутинных операций.
Не менее важна в организации мультипрограммирования роль ОС, реализующей:
организацию интерфейса между прикладной программой и ОС при помощи системных вызовов
организацию очереди из заданий в памяти и планирование выделение процессора одному из заданий
переключение заданий требует сохранения содержимого регистров и структур данных, необходимых для выполнения задания
стратегии управления памятью, включая упорядочение процессов размещения, замещения и выборки информации из памяти
организация хранения информации на внешних носителях в виде файлов и обеспечение доступа к конкретному файлу только определенным категориям пользователей
обеспечение средствами коммуникации программ для санкционированного обмена данными и синхронизации.
Мультипрограммирование призвано повысить эффективность использования вычислительной системы, однако эффективность может пониматься по-разному. Наиболее характерными критериями эффективности вычислительных систем являются:
– пропускная способность – количество задач, выполняемых вычислительной системой в единицу времени;
– удобство работы пользователей, заключающееся, в частности, в том, что они имеют возможность интерактивно работать одновременно с несколькими приложениями на одной машине;
– реактивность системы – способность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.
В зависимости от выбранного критерия эффективности ОС делятся на системы пакетной обработки, системы разделения времени и системы реального времени.
Do'stlaringiz bilan baham: |