Помощь в написании студенческих работ
Антистрессовый сервис

Память. 
Разработка бортового программного обеспечения космического аппарата

РефератПомощь в написанииУзнать стоимостьмоей работы

Модель защиты система/пользователь — системное адресное пространство защищено от адресного пространства пользователя, при этом системные и пользовательские процессы выполняются в общем виртуальном адресном пространстве, для поддержки данной модели требуется MMU. Защита памяти основана на использовании механизма защиты отдельных страниц. Так различают всего два вида страниц — пользовательские… Читать ещё >

Память. Разработка бортового программного обеспечения космического аппарата (реферат, курсовая, диплом, контрольная)

Задержка на переключение контекста потока находится в прямой зависимости зависит от конфигурации памяти, т. е. от модели защиты памяти. Рассмотрим четыре наиболее распространенных в ОСРВ модели защиты памяти:

  • -Модель без защиты — системное и пользовательское адресные пространства не разделены и не защищены друг от друга, используется всего два сегмента памяти: сегмент кода и сегмент данных, при этом от системы не требуется никакого специального управления памятью, также не требуется и MMU (memory management unit — устройство управления памятью — специальное аппаратное устройство для поддержки управления виртуальной памятью);
  • -Модель защиты система/пользователь — системное адресное пространство защищено от адресного пространства пользователя, при этом системные и пользовательские процессы выполняются в общем виртуальном адресном пространстве, для поддержки данной модели требуется MMU. Защита памяти основана на использовании механизма защиты отдельных страниц. Так различают всего два вида страниц — пользовательские и системные. Пользовательские приложения, выполняющиеся в одном адресном пространстве, не защищены друг от друга. Для реализации данной модели требуется выделение четырех сегментов в памяти — два сегмента для работы на уровне ядра ОС (сегменты кода и данных) и два сегмента для работы на пользовательском уровне. Механизм страничной защиты не добавляет накладных расходов, так как защита страницы проверяется одновременно с преобразованием адреса, которое выполняет MMU, при этом от ОС не требуется дополнительной функциональности по управлению памятью;
  • -Модель защиты пользователь/пользователь — в модели система/пользователь дополнительно вводится защита памяти пользовательских процессов, для реализации которой требуется MMU. Сама защита памяти также реализована на базе механизма страничной защиты. Со стороны процесса все страницы памяти кроме его собственных выглядят как привилегированные и не допускают доступа. Таким образом, выполняющийся поток не может обратиться за пределы своего адресного пространства и нарушить тем самым работу других потоков. От ОС требуется обновление флага привилегий для конкретной страницы в таблице страниц при переключении процесса. Как и в предыдущей модели необходимо использование четырех сегментов памяти;
  • -Модель защиты виртуальной памяти — каждый процесс выполняется в своей собственной виртуальной памяти для реализации которой требуется MMU. Каждый процесс имеет свои собственные сегменты и, следовательно, свою таблицу описателей. ОС несет ответственность за поддержку таблиц описателей. Адресуемое пространство может превышать размеры физической памяти, если используется страничная организация памяти совместно с подкачкой. Однако в системах реального времени подкачка с диска не применяется из-за ее недетерминированности.

Одним из основополагающих требований к организации работы с памятью в системе реального времени заключается в том, что время доступа к ней должно быть детерминировано. Прямым следствием из данного требования становится запрет на использование техники выгрузки страниц и загрузки страниц по запросу с внешних устройств для процессов требующих реального времени. Поэтому системы, реализующие механизм виртуальной памяти, должны также блокировать процессы реального времени в оперативной памяти, не допуская подкачки. Итак, подкачка недопустима в ОСРВ, потому что не является предсказуемой по времени выполнения. Если системой поддерживается страничная организация памяти, соответствующее отображение страниц в физические адреса необходимо выполнить как часть контекста процесса. В противном случае появляется непредсказуемость, неприемлемая для ОСРВ. Для процессов, не являющихся процессами «жесткого» реального времени, возможно использование механизма динамического распределения памяти, однако при этом ОСРВ должна поддерживать обработку таймаута на запрос памяти, т. е. ограничение на предсказуемое время ожидания. В обычных ОС при использовании механизма сегментации памяти для борьбы с фрагментацией применяется процедура уплотнения после сборки мусора. Однако такой подход неприменим в среде реального времени, так как во время уплотнения перемещаемые задачи не могут выполняться, что ведет к потере непредсказуемости поведения системы. В этом состоит основная проблема применимости объектно-ориентированного подхода к системам реального времени. До тех пор, пока проблема уплотнения не будет решена, C++ и JAVA будут оставаться не самым лучшим выбором для систем жесткого реального времени. В системах жесткого реального времени обычно применяется статическое распределение памяти. В системах мягкого реального времени возможно динамическое распределение памяти, без виртуальной памяти и без уплотнения.

Показать весь текст
Заполнить форму текущей работой