Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРВ complete edition епта.docx
Скачиваний:
17
Добавлен:
24.09.2019
Размер:
488.03 Кб
Скачать

121. Какие структуры данных используются в операционных системах рв для хранения информации о свободных блоках в куче?

Куча — есть длинный отрезок адресов памяти, поделенный на подряд идущие блоки различных размеров.

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

Для сокращения списка свободных блоков с целью уменьшения времени его обхода всегда имеет смысл сливать 2 или 3 подряд идущих свободных блока в один. Если свободен последующий блок, то его легко найти, отступив вперед на размер освобождаемого блока. С предыдущим блоком все сложнее, и потому имеет смысл хранить размер предыдущего блока (для его поиска) в заголовке любого блока.

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

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

122. Какая стратегия выбора свободного блока памяти в куче используется в ос qnx Neutrino?

Выбирается первый свободный подходящий блок памяти в куче.

123. Виды архитектур ос рв.

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

Уровневая (слоевая) архитектура. Прикладное ПО имеет возможность получить доступ к аппаратуре не только через ядро системы и её сервисы, но и напрямую. По сравнению с монолитной такая архитектура обеспечивает значительно большую степень предсказуемости реакций системы, а также позволяет осуществлять быстрый доступ прикладных приложений к аппаратуре. Главным недостатком таких систем является отсутствие многозадачности.

Архитектура «клиент-сервер». Основной её принцип заключается в вынесении сервисов ОС в виде серверов на уровень пользователя и выполнении микроядром функций диспетчера сообщений между клиентскими пользовательскими программами и серверами — системными сервисами. Преимущества такой архитектуры:

Повышенная надёжность, так как каждый сервис является, по сути, самостоятельным приложением и его легче отладить и отследить ошибки;

Улучшенная масштабируемость, поскольку ненужные сервисы могут быть исключены из системы без ущерба к её работоспособности;

Повышенная отказоустойчивость, так как «зависший» сервис может быть перезапущен без перезагрузки системы.

124. Какая стратегия выбора свободного блока памяти в куче используется в ос VxWorks 6.?

Выбирает наилучший подходящий блок. Структура памяти в виде бинарного дерева.

Пространственное разделение определяет требования по изоляции нескольких приложений,

исполняемых одновременно на одной и той же вычислительной платформе, называемой

«модулем». Согласно этим требованиям, приложения, исполняемые в разделе ИМА, не

должны отбирать друг у друга разделяемые ресурсы, предоставляемые ядром ОСРВ. Чаще

всего это реализуется через различные контексты виртуальной памяти, обеспечиваемые

процессорным устройством управления памятью MMU (Memory Management Unit). В

спецификации ARINC 653 эти контексты называются разделами (partition). Каждый раздел содержит приложения со своей динамически распределяемой областью памяти типа «куча» (heap) и стеком для процессов приложения (процесс – это исполняемая единица в ARINC 653). Эти требования влияют на конструкцию и реализацию ядра ОСРВ и исполнительной

системы языка программирования. Например, VxWorks 5.5 использует разделяемое

виртуальное адресное пространство для приложений и обеспечивает через MMU базовую

защиту программного кода от доступа со стороны ошибочных приложений, не применяя

полную модель процессов, влияющую на производительность. Операционные системы