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


Разработка системы контейнерной виртуализации для платформы Raspberry Pi

Работа №61208

Тип работы

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

Предмет

программирование

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

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


Введение 3
1. Микрокомпьютеры и виртуализация 5
1.1. Микрокомпьютеры 5
1.2. Виртуализация 7
1.3. Порты ввода-вывода общего назначения 13
2. Оборудование и программная платформа 15
2.1. Физическое оборудование 15
2.2. Операционная система 17
3. Приложение для виртуализации портов ввода-вывода общего назначения 20
3.1. Требования к приложению и сценарии его использования 20
3.2. Архитектура приложения 21
3.3. Подготовка системы к работе 22
3.4. Описание компонентов системы 25
Заключение 34
Глоссарий 35
Список использованных источников 38
Приложения

В последние годы микрокомпьютеры переживают второе рождение: современные технологии позволяют создать компьютеры, выполненные на одной печатной плате размером с кредитную карту, при этом по мощности сравнимые с персональными компьютерами предыдущих поколений.
Одной из таких реализаций является компьютер RaspberryPi, первая версия которого создана в 2011 году. С его помощью можно выполнять самые разные действия: реализовать систему потоковой передачи музыки на гаджет, играть в игры, изучать программирование, связать компоненты «умного дома», управлять роботом или беспилотным летательным аппаратом и многое другое. Большинство перечисленных задач решается
использованием портов ввода-вывода общего назначения, которыми оборудован RaspberryPi. Эти порты позволяют управлять произвольными устройствами.
Для упрощения процесса разработки и более эффективного использования ресурсов устройства, все чаще применяются технологии контейнерной виртуализации, когда для каждого приложения создается отдельный экземпляр операционной системы с преднастроенным набором программного обеспечения и конфигурационных файлов [8].
Обзор текущего состояния проблемы показал, что на данный момент не существует системы, позволяющей производить манипуляции и
осуществлять доступ к физическим портам ввода-вывода общего назначения из виртуального контейнера, что делает актуальной данную работу. Существующие решения, работающие с портами ввода-вывода общего назначения, позволяют лишь реализовать их эмуляцию и симуляцию, но не доступ к физическим портам.
Цели работы:
• Выбрать платформу (операционная система, система виртуализации,
сервер приложений) для реализации приложения, позволяющего
осуществлять доступ к физическим портам ввода-вывода общего назначения из виртуальных конейнеров;
• Спроектировать архитектуру вышеуказанного приложения;
• Разработать приложение.

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

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

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


В результате выполнения данной работы была разработана и спроектирована архитектура серверного приложения
«RaspberryPiGPIOvirtualization» для платформы RaspberryPimodel 3Ви операционной системы UbuntuServer, позволяющее работать с физическими портами ввода-вывода общего назначения из виртуальных контейнеров.
В процессе выполнения работы были решены следующие задачи:
• выбрана платформа для реализации приложения;
• спроектирована архитектура приложения;
• разработано приложение и провести его тестирование.
В приложении реализованы следующие функции:
• предоставление доступа к управлению физическими портами ввода- вывода общего назначение из непривилегированного контейнера LXD;
• при запуске контейнера имеется возможность указать соответствие виртуальных портов к другим физическимпортам;
• имеется возможность создания правил, чтобы ограничивать определенным виртуальным контейнерам доступ к определенным портам;
• порты, доступ к которым ограничен, эмулируются так, чтобы пользователь внутри контейнера не понял, что на самом деле он работает с эмулированным портом;
• все ошибки, которые возникают на физическом порту, транслируются в виртуальный контейнер;
• контейнеры запускаются и останавливаться по команде на API- интерфейс приложения.



1. 10 Raspberry Pi Projects For Learning IoT [ВИнтернете] // Information week. -
https://www.informationweek.com/software/enterprise-applications/10-raspberry-pi- projects-for-learning-iot/d/d-id/1320757?image_number=8.
2. 11 Raspberry Pi OS for Everyday Computing - Best of [ВИнтернете] // Hongkiat. - http://www.hongkiat.com/blog/pi-operating-systems/.
3. GPIO Sysfs Interface for Userspace [ВИнтернете] // Kernel. - https://www.kernel.org/doc/Documentation/gpio/sysfs.txt.
4. LXD [ВИнтернете] // Ubuntu documentation. -
https://help.ubuntu.com/lts/serverguide/lxd.html.
5. Raspberry Pi [ВИнтернете] // Wikipedia.org. - https://ru.wikipedia.org/wiki/Raspberry_Pi.
6. Raspberry Pi 3 Model B Technical Specifications [ВИнтернете] // Element14. -
https://www.element14.com/community/docs/DOC-80899/l/raspberry-pi-3-model-b- technical-specifications.
7. Software for the Raspberry Pi [ВИнтернете] // Rasprerry Pi Foundation. -
https://www.raspberrypi.org/downloads/.
8. Wang Chenxi Containers 101: Linux containers and Docker explained [ВИнтернете] // Infoworld. - 26 05 2016 г.. - http://www.infoworld.com/article/3072929/linux/containers- 101 -linux-containers-and-docker-explained.html.
9. What is a container [ВИнтернете] // Docker. - https://www.docker.com/what-container.
10. Воган-Николс Стивен Новый подход в виртуализации - легковесность [Журнал]. - [б.м.] : IEEE Computer Society, 2006 г..
11. Микрокомпьютер [В Интернете] // Wikipedia. - 30 04 2017 г.. -
https://ru.wikipedia.org/wiki/Микрокомпьютер.


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




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