Операционная система для микроконтроллеров с поддержкой прав пользователей

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 06.05.2018
Размер файла 104,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Операционная система для микроконтроллеров с поддержкой прав пользователей

Микроконтроллеры на сегодняшний день имеют беспрецедентную широту применения в качестве основных вычислительных и управляющих элементов бытовой и промышленной автоматики. На их основе строятся встраиваемые системы, системы типа «умный дом», «интернет вещей» и т.д. В связи с этим актуальной является задача эффективного и безопасного программирования микроконтроллеров. Для простых радиолюбительских устройств эта задача может быть решена примитивными методами запуска подзадач по прерыванию от системного таймера или путем обработки группы значений-флагов (подпроцесс устанавливает флаг в единицу - «поднимает» его - когда требуется обработка неких полученных данных. В случае разработки программ для промышленных целей указанные выше способы не приводят к удовлетворительному результату, т.к. программы, написанные в соответствии с ними, являются достаточно громоздкими, малоэффективными, небезопасными и не дают гарантии на реакцию системы в течение конечного времени.

Эти проблемы могут быть решены путем применения специальных систем управления задачами для микроконтроллеров - операционных систем реального времени. ОС требуют от микроконтроллера существенно больших вычислительных возможностей, но позволяют строить управляющие программы с высокой степенью структурированности, предсказуемости, эффективности [1].

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

В данной работе описывается операционная система реального времени, разрабатываемая авторами.

Схема строения операционной системы показана на рис. 1. Можно видеть, что ОС имеет три слоя (уровня):

· уровень пользователя, в пределах которого выполняются пользовательские процессы;

· уровень системы, на котором функционируют основные модули управления ресурсами микроконтроллера (памятью, процессорным временем), а также модули для управления запуском и приостановкой процессов и их взаимодействия;

· аппаратно-зависимый уровень - компактный слой, содержащий низкоуровневые процедуры, обрабатывающие прерывания таймеров, непосредственно совершающие переключение контекстов.

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

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

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

операционный микроконтроллер программа управление

Строение операционной системы для микроконтроллеров

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

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

Для расширения возможностей планировщика была введена концепция очков (points), начисляемых процессу при простое, по прерываниям от таймеров. Количество начисляемых очков зависит от приоритета процесса, приоритета пользователя в системе, количества системных тактов, прошедших с момента приостановления процесса. Таким образом реализуется состязательный доступ за право занять процессор: очередным активным процессом выбирается процесс, обладающий наибольшим количеством очков. Текущее значение очков хранится в оперативной памяти в таблице процессов. Также исходя из количества очков выбирается количество системных тактов, выдаваемых процессу для исполнения. Когда процесс переходит в активное состояние, счетчик очков процесса обнуляется.

Для обеспечения контроля прав пользователя реализованы следующие модули:

· модуль авторизации пользователя. Для авторизации пользователю требуется тем или иным способом передать идентификатор и ключ по протоколу UART, после чего производится проверка соответствия введенных данных, и начинает выполняться основная часть программы с учетом пользовательских привилегий.

· модуль хранения и проверки идентификаторов и ключей пользователей. Идентификаторы и ключи могут храниться как на энергонезависимой памяти EEPROM, так и на flash-памяти контроллера.

Для учета пользователей ОС использует таблицу пользователей, размещенную в памяти программ (flash). В таблице указаны идентификатор пользователя, ключ доступа, приоритет, а также метод, с помощью которого производится авторизация (передача ключа с помощью клавиатуры, интерфейса UART или иного средства). После проведения процедуры авторизации использованные выводы микроконтроллера могут быть переведены в режим общего пользования. Процедура авторизации может быть проведена многократно как в начале работы управляющей программы, так в ходе ее работы.

Непосредственно для авторизации используются предназначенные для этого функции API. После проведения процедуры авторизации планировщик начисляет процессам, владельцем которых является авторизованный пользователь, количество очков, пропорциональное приоритету пользователя в системе.

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

Литература

операционный микроконтроллер программа управление

1. Jonathan W. Valvano. Embedded microcontroller systems. Real time interfacing. - Cengage Learning. - 2010. - 822 p.

Размещено на Allbest.ru


Подобные документы

  • Определение необходимости применения средств промышленной автоматизации, контроллеров, промышленных сетей и компьютеров, операционных систем реального времени для повышения производительности предприятия. Концепция построения "интеллектуальных" зданий.

    контрольная работа [689,6 K], добавлен 13.10.2010

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

    реферат [60,9 K], добавлен 26.01.2011

  • Особенности операционных систем Linux. Аппаратно-программные требования для работы с лабораторным практикумом. Настройка виртуальной машины. Аналоги программ WINDOWS в Mandriva. Разграничение прав доступа. Настройка безопасности и политика паролей.

    курсовая работа [1,8 M], добавлен 06.11.2014

  • Проблема безопасности операционных систем. Функции подсистемы безопасности. Идентификация пользователей, программные угрозы (атаки). Типы сетевых атак. Жизненный цикл разработки безопасных программных продуктов. Оценка атак на программное обеспечение.

    презентация [1,4 M], добавлен 24.01.2014

  • Характеристики, основы применения, архитектура жестких и операционных систем реального времени. Последовательное программирование задач реального времени. Структура и языки параллельного программирования, мультипрограммирования и многозадачности.

    курсовая работа [195,9 K], добавлен 17.12.2015

  • Мобильная система Вооруженных Сил - защищенная операционная система общего назначения. Изоляция и защита пользователей друг от друга. Правила допуска в систему. Привилегированные и непривилегированные пользователи. Способы проверки безопасности.

    учебное пособие [1,7 M], добавлен 09.06.2009

  • Операционная система - программа, которая загружается при включении компьютера. Способы реализации интерфейса и классификация операционных систем. Организация файловой системы, типы файлов и их наименования. Понятие каталога, атрибуты файловой системы.

    реферат [16,6 K], добавлен 25.02.2011

  • Общие сведения о SELinux. Понятие защищенной операционной системы. Методы управления доступом, архитектура SELinux. Преимущества использования и сравнительный анализ защищенных операционных систем LINUX. Описание конкретных характеристик систем.

    курсовая работа [36,8 K], добавлен 04.03.2016

  • История развития ОС UNIX, ее достоинства. Управление компьютером под управлением UNIX. Интерпретация командной строки и структура файловой системы. Команды управления процессами. Средства системного администрирования и учетные записи пользователей.

    презентация [78,1 K], добавлен 12.05.2014

  • Характеристика сущности, назначения, функций операционных систем. Отличительные черты их эволюции. Особенности алгоритмов управления ресурсами. Современные концепции и технологии проектирования операционных систем, требования, предъявляемые к ОС XXI века.

    курсовая работа [36,4 K], добавлен 08.01.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.