Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
23:10:00
Студентов:
1179
Выпускников:
137
Качество курса:
4.76 | 4.29
Основная тема курса - мобильное программирование приложений реального времени, в том числе многопотоковых. Основой обеспечения мобильности является новая редакция стандарта на интерфейс операционной системы POSIX. Рассматриваются приемы и методы программирования приложений на основе данного стандарта. Приводятся многочисленные примеры программ.

Настоящий курс является продолжением курса Программирование в стандарте POSIX. В принципе, разделение единой темы "Программирование в стандарте POSIX" на две части носит скорее технический, чем принципиальный характер, однако у второй части есть свой стержень - мобильное программирование приложений реального времени.

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

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

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

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

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

Приложения реального времени сложно не только разрабатывать, но и отлаживать. Для решения этой проблемы в стандарте POSIX-2001 предусмотрен механизм трассировки, который целесообразно применять и на этапе эксплуатации приложений.

ISBN: 978-5-9556-0021-5

Предварительные курсы

 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
2 часа 21 минута
Потоки управления
Рассматриваются основные идеи, понятия и объекты, ассоциированные с потоками управления, атрибуты потоков, средства их опроса и изменения, работа с индивидуальными данными потоков, средства создания и терминирования потоков управления.
Оглавление
    -
    Лекция 2
    2 часа 14 минут
    Средства синхронизации потоков управления
    Анализируются основные идеи, понятия и объекты, обслуживающие синхронизацию потоков управления. Среди механизмов синхронизации выделяются мьютексы, переменные условия, блокировки чтение-запись, спин-блокировки и барьеры.
    Оглавление
      -
      Лекция 3
      2 часа
      Мобильное программирование приложений реального времени
      Анализируются основные идеи, понятия и объекты, обслуживающие мобильные приложения реального времени. Детально рассматриваются одношаговое порождение процессов, сигналы реального времени, часы и таймеры.
      Оглавление
        -
        Лекция 4
        1 час 18 минут
        Средства межпроцессного взаимодействия в реальном времени
        Рассматриваются средства локального межпроцессного взаимодействия в реальном времени - очереди сообщений, семафоры, разделяемые сегменты памяти.
        Оглавление
          -
          Лекция 5
          1 час 10 минут
          Объекты в памяти
          Анализируются основные идеи и понятия, обслуживающие отображение объектов в адресное пространство процессов. Детально рассматриваются файлы, отображенные в память, объекты в разделяемой и типизированной памяти, а также средства удержания процессов в памяти.
          Оглавление
            -
            Лекция 6
            1 час 5 минут
            Приоритетное планирование
            Рассматриваются основные идеи и понятия приоритетного планирования. Описываются политики и параметры планирования, функции управления планированием, анализируется их влияние на поведение процессов и потоков управления. Затрагивается проблема инверсии приоритетов.
            Оглавление
              -
              Лекция 7
              1 час 6 минут
              Асинхронный ввод/вывод, рекомендательные интерфейсы
              Представлены основные идеи, понятия и объекты асинхронного ввода/вывода и рекомендательных интерфейсов. Детально рассмотрены соответствующие функции. Приведены примеры применения средств асинхронного ввода/вывода и рекомендательных интерфейсов.
              Оглавление
                -
                Лекция 8
                2 часа 5 минут
                Трассировка пользовательских приложений
                Представлены основные идеи, понятия и объекты, ассоциированные с трассировкой пользовательских приложений. Обращено внимание на особенности трассировки приложений реального времени. Детально рассмотрены функции трассировки.
                Оглавление
                  -
                  Лекция 9
                  3 часа 29 минут
                  Технологические интерфейсы
                  Рассматриваются функции и служебные программы, играющие технологическую роль – функции и утилиты для работы с системным журналом, функции для организации баз данных, средства поиска и сортировки, манипулирования пользовательскими контекстами, управления средой вещественной арифметики, обхода иерархии файлов и т.п.
                  Оглавление
                    -
                    Лекция 10
                    1 час 40 минут
                    Заключение
                    Подводится итог курса, кратко суммируются полученные знания.
                    Оглавление
                      -
                      1 час 40 минут
                      -