Тип работы:
Предмет:
Язык работы:


Управление адресными пространствами для встроенных устройств

Работа №127841

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

Объем работы20
Год сдачи2017
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
28
Не подходит работа?

Узнай цену на написание


Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. MPU во встроенных системах 7
2.1.1. Общее описание MPU 7
2.1.2. Сравнение с MMU 7
2.1.3. Описание MPU в Cortex-M 8
3. Драйвер MPU 10
3.1. Поддержка флагов доступа 10
3.2. Обработка исключений 10
3.3. Переключение контекстов 12
3.4. Обновление флагов доступа 12
4. Защита приложений и различных частей ядра ОС 15
4.1. Защита от переполнения стека 15
4.2. Защита сегментов данных 16
4.3. Защита от исполнения 16
5. Апробация на плате 18
Заключение 19
Введение 4
1. Постановка задачи 6
2. Обзор 7
2.1. MPU во встроенных системах 7
2.1.1. Общее описание MPU 7
2.1.2. Сравнение с MMU 7
2.1.3. Описание MPU в Cortex-M 8
3. Драйвер MPU 10
3.1. Поддержка флагов доступа 10
3.2. Обработка исключений 10
3.3. Переключение контекстов 12
3.4. Обновление флагов доступа 12
4. Защита приложений и различных частей ядра ОС 15
4.1. Защита от переполнения стека 15
4.2. Защита сегментов данных 16
4.3. Защита от исполнения 16
5. Апробация на плате 18
Заключение 19
Список литературы 20



Операционные системы (ОС) выполняют широкий диапазон задач, и, соответственно, сильно различаются по количеству доступных ресурсов. Одним из таких ресурсов является память. Устройства, на которых работают ОС, часто имеют подсистемы управления памятью, которые упрощают взаимодействие с процессором. Также, такие подсистемы предоставляют дополнительные функции, например защиту на запись или чтение в определенные блоки памяти. Это широко используется в ОС для защиты данных приложений и собственных компонент ядра. Кроме того, в операционных системах реального времени встает вопрос о скорости доступа к памяти. Это приводит к дополнительным требованиям к подсистемам управления памятью, из-за чего часто приходится отказываться от многих возможностей таких подсистем.
Для каждого конкретного класса устройств эффективен свой способ управлению памятью. Всего существует два вида подсистем: MMU и MPU.
MMU (Memory Management Unit) - устройство управлению памятью. Его основные функции заключаются в трансляции виртуального адресного пространства в физическое, защите памяти и управлению кэш-памятью. MMU в основном используется в устройствах, выполняющих прикладные задачи (например, в процессорах Cortex-A[1]).
MPU (Memory Protection Unit) - устройство защиты памяти. Из всех функций MMU обеспечивает только защиту памяти. Используется в специализированных устройствах, например в Cortex-M[2] (для встраиваемых систем) или Cortex-R[3] (для систем реального времени).
Данная работа выполнялась на базе ОС Embox[6] - активно разрабатываемой встроенной системы. Разработка ведется в тесном сотрудничестве с кафедрой системного программирования математикомеханического факультета Санкт-Петербургского государственного университета. В данный момент Embox поддерживает ряд платформ (x86, MicroBlaze, ARM, PowerPC и другие). И что более важно, использует различные подсистемы управления памятью. Виртуальная память, имеющаяся в ОС Embox на данный момент, пользуется в основном MMU, и имеет ряд ограничений, что не позволяет её применять в ряде случаев, например, использовать её на платформах с малым количеством оперативной памяти и в задачах, требующих высокой скорости отклика системы.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В ходе выполнения данной дипломной работы были получены следующие результаты:
• спроектирована архитектура для драйвера MPU в Cortex-M.
• реализован драйвер MPU для Gortex-M. Сам драйвер был написан на язык ассемблера для соответствующей архитектуры, а интерфейс для работы с ним был создан на C.
• Были внести изменения в ОС Embox для поддержки защиты приложений и различных компонент ядра ОС.
• проведена апробация на плате STM32F4Discovery. Для тестирования были использованы тесты, описанные в главе 4.



[1] ARM. Cortex-A characteristics.— URL: http://www.arm.com/ products/processors/cortex-a (дата обращения: 15.04.2017).
[2] ARM. Cortex-M Series Family.— URL: http://www.arm.com/
products/processors/cortex-m (дата обращения: 16.04.2017).
[3] ARM. Cortex-R Series Family.— URL: http://www.arm.com/ products/processors/cortex-r (дата обращения: 16.04.2017).
[4] ARM. Cortex-M4 Devices: Generic User Guide. — 2010.
[5] Atmel. Atmel AT02346: Using the MPU on Atmel Cortex-M3 / Cortex- M4 based Microcontrollers. — 2013.
[6] Github. Домашняя страница проекта Embox. — 2017. — URL: https: //github.com/embox/embox (дата обращения: 08.04.2017).
[7] QEMU. Generic and open source machine emulator and virtualizer. — URL: http://www.qemu.org/ (дата обращения: 16.05.2017).
[8] STMicroelectronics. UM1472 User manual. — 2016.



Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2025 Cервис помощи студентам в выполнении работ