Управление оперативной памятью
Наиболее важным ресурсом после процессора является оперативная память. Методы управления, используемые в системах реального времени, обычно проще, чем в многопользовательских системах с разделением времени. В крупных вычислительных системах с множеством пользователей большинство программ и данных хранятся во вторичной (внешней) памяти — жесткий диск — и загружаются в оперативную память только при необходимости. Это приемлемо для систем разделения времени и пакетной обработки, в которых несущественно, начнется задание минутой раньше или позже. Однако в системах реального времени задержек исполнения быть не должно, поэтому все необходимые модули предварительно загружаются в оперативную память. Тем не менее в системах реального времени может возникнуть необходимость в выгрузке содержимого части оперативной памяти на диск.
Механизм расширения оперативной памяти сверх физически установленного объема за счет временной выгрузки на диск не используемых в данный момент программ и данных называется виртуальной памятью. Работа виртуальной памяти основана на предположении, что объем памяти, требуемый для процессов, превосходит размер доступной оперативной памяти. Устройства массовой Памяти, например жесткий диск, используемые для реализации этого механизма, Должны обладать как достаточной емкостью, так и значительным быстродействием. Операционная система копирует с диска в оперативную память только те части процесса и области его данных, называемые страницами, которые непосредственно используются в данный момент, оставляя остальную часть во внешней памяти. Для загрузки наиболее часто используемых страниц и для уменьшения числа обращений к диску применяются различные стратегии оптимизации. Механизм виртуальной памяти позволяет процессу иметь адресное пространство больше, чем размер выделенной ему реальной оперативной памяти. С другой стороны, применение виртуальной памяти существенно увеличивает накладные расходы и замедляет работу системы из-за многократных обращений к диску.
Применение виртуальной памяти в системах реального времени вызваны
в основном экономическими причинами. Стоимость хранения единицы информации в оперативной памяти выше, чем во вторичной памяти. Еще одной важной причиной является надежность работы. В случае системного сбоя можно восстановить работу процесса. Если сбой или перерыв в электропитании происходит, когда вся система находится только в оперативной памяти, все процессы и их данные будут потеряны и восстановить их будет невозможно.
В системах реального времени представляет интерес только быстрая и эффективная виртуальная память. Чтобы быстро реагировать на внешние сигналы; соответствующие служебные процедуры должны постоянно храниться в оперативной памяти. Другим важным соображением, относящимся к использованию вторичной памяти в задачах реального времени, является ее работоспособность в производственной среде — жесткие диски и дискеты нельзя использовать в условия вибраций, ударов или интенсивных магнитных полей.
Одно из существенных различий между многопользовательскими операционными системами и системами реального времени касается управления файлами. В многопользовательских системах наиболее важными проблемами является структура каталогов и защита файлов. Управление и зашита каталогов с соответствующим контролем прав доступа при каждом обращении требуют таких накладных расходов, которые обычно неприемлемы для систем реального времени. Однако, как правило в системах реального времени эти меры не нужны, поскольку дисковая память используется в основном для протоколов и отчетов, а все процессы принадлежат одному "пользователю". Поэтому применение сложных механизмов управления файлами в системах реального времени обычно не оправдано.
Наиболее сложные операционные системы для достижения оптимальных характеристик позволяют настраивать параметры управления процессором и памятью. Необходимо должным образом подобрать приоритеты процессов, продолжительность квантов времени, размер страницы виртуальной памяти и другие параметры операционной системы.
Дата добавления: 2016-02-09; просмотров: 608;