Какую модель памяти использует QNX Neutrino, в чём её достоинства и недостатки?

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

Модели защиты памяти

Наше управление памятью не сегментировано. Это чисто 32-битная плоская (flat), линейная архитектура.

Для большинства систем организация защиты памяти вызывает увеличение цены; однако снижение производительности не так значительно. Все наши исполнительные модули работают как с MMU, так и без него.

Вы можете выбрать любой из четырех уровней защиты памяти:

Тип защиты Затраты памяти на MMU

без защиты нет

система/пользователь (system/user) адресное пространство/4K

пользователь/пользователь (user/user) (основная в версии 1.0) 4K/процесс

пользователь/пользователь личная VM* от 4К до 8К/процесс

* Поскольку Neutrino версии 1.0 нацелена на встраиваемые системы, она не поддерживает эту модель.

Все модели поддерживают функцию spawn(). Мы ожидаем, что наиболее часто используемыми моделями будут модели без защиты (для систем без MMU) и с защитой пользователь/пользователь.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: