Skip to content

Лабораторная работа по курсу "Системы реального времени"

Notifications You must be signed in to change notification settings

dzendmitry/edu-cs-rts-lab-assignment-5

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title subtitle author date
Системы реального времени
Лабораторная работа
Алексей Найденов
Тула, 2014

Лабораторная работа

Подготовительные задачи

  1. Сделать форк репозитория на github

  2. Получить рабочую копию в виртуальной машине с Xenomai

    $ git clone ssh://git@github.com/user/edu-cs-rts-lab-assignment-5 lab-5
  3. Убедиться, что все исходные файлы собираются

    $ make all

Запуск задачи реального времени

  1. Собрать и запустить lab-5-1:

    $ make run-lab-5-1
  2. Документировать код. Например:

   // Инициализировать подсистему печати xenomai
   rt_print_auto_init(1);

Запуск нескольких задач реального времени и синхронизация

  1. Собрать и запустить lab-5-2:

    $ make run-lab-5-2
  2. Используя семафоры Xenomai, сделать так, чтобы задачи стартовали одновременно после запуска. То есть, чтобы текст "Task ... started..." выводился после текста "All tasks started"

Взаимное исключение в критической секции

  1. Собрать и запустить lab-5-3 несколько раз.
  2. Проинтерпретировать результат. Показать критическую секцию.
  3. Используя мьютекс Xenomai, реализовать взаимное исключение задач в критической секции.

Бонус-задача (дополнительные 8 баллов)

  1. Используя lab-5-3.c как шаблон, сделать файл lab-5-4.c и реализовать взаимное исключение в критической секции при помощи атомарных инструкций

Заключительные задачи

По выполнении лабораторной положить результат обратно в свой репозиторий на github

Литература

  1. Документация на API Xenomai
  2. Описание GCC Atomic Built-in Operations

About

Лабораторная работа по курсу "Системы реального времени"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%