Управление процессами и памятью: способы реализации мультипрограммирования.
Выполнение одним ЦП двух или более вычислительных задач называется мультипрограммированием или многозадачностью. Центральный процессор быстро переключается между двумя или несколькими программами, по очереди выполняя команды каждой. Такое переключение стало целесообразным, когда скорость ЦП превысила скорость процессов ввода-вывода.
В большинстве операционных систем планирование выполнения прикладных программ осуществляется на базе алгоритма квантования времени для программных задач, не ожидающих в настоящий момент завершения ввода-вывода. С помощью системного таймера операционная система определяет, сколько времени каждая прикладная программа может использовать основные системные ресурсы. При этом всем программам последовательно в циклическом порядке выделяются для выполнения равные кванты времени.
Алгоритм квантования времени относится к числу наиболее простых алгоритмов планирования. Обычно, пока одна программа ожидает завершения выполнения запроса на ввода-вывод, может выполняться другая. Поскольку операции ввода-вывода иногда связаны с передачей больших массивов информации и могут потреблять много процессорного времени, некоторые операционные системы разделяют большие запросы на ввод-вывод на серию более мелких, обеспечивая тем самым более частое переключение задач.
К числу наиболее сложных средств обеспечения параллелизма относится управление памятью. Некоторые операционные системы требуют, чтобы в памяти были выделены разделы фиксированной длины, каждому из которых присвоены определенные операционные характеристики. Другие операционные системы распределяют память динамически, используя для описания характеристик и потребностей прикладных пакетов специальные информационные файлы. В информационном файле программы записано, сколько требуется памяти, к каким периферийным устройствам нужен прямой доступ, какие прерывания будут обрабатываться и т.д.
Для управления доступом к дисплеям и клавиатурам можно определить оперативные (foreground) и фоновые (background) задачи. Оперативной задаче отдается контроль над клавиатурой и всем пространством экрана; все остальные задачи являются фоновыми.
Экранные окна дают возможность нескольким задачам работать с одним экраном. В этом случае на экране выделяются перекрывающиеся области, называемые окнами, в каждое из которых выводится часть выходных сообщений прикладных задач. При необходимости одна прикладная задача может использовать несколько окон, в ряде случаев пользователю дается право перемещения, скрытия или изменения размера окон, а также прокрутки изображения внутри окна.
В многозадачных системах серьезной проблемой является правильное выполнение прикладных программ, в которых осуществляется прямое обращение к периферийным видеосредствам, когда программа выводит изображение непосредственно на экран, минуя операционную систему. Поскольку эти действия могут вступить в противоречие с алгоритмами операционной системы, программы такого рода называют некорректными (ill-behaved).
В системе, поддерживающей мультипрограммирование, должны быть предусмотрены средства синхронизации пересылки информации в обобщенные структуры, например в буфера видеоустройств.
Дата добавления: 2016-07-18; просмотров: 2621;