Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” РАБОЧАЯ ПРОГРАММА дисциплины СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220400 – “Программное обеспечение вычислительной техники и автоматизированных систем” Санкт-Петербург 2001 Санкт-Петербургский государственный электротехнический университет “ЛЭТИ” “УТВЕРЖДАЮ” Проректор по учебной работе проф. ___________ Ушаков В.Н. “_____”_______________2001 г. РАБОЧАЯ ПРОГРАММА дисциплины СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220400 – "Программное обеспечение вычислительной техники и автоматизированных систем” Факультет компьютерных технологий и информатики Кафедра математического обеспечения и применения ЭВМ Курс – 5 Семестр – 9 Лекции 32 ч. Текущий контроль 9 семестр Лабораторные работы 16 ч. Зачет 9 семестр Аудиторные занятия Самостоятельные занятия Всего часов 48 ч. 52 ч. 100 ч. 2001 2 Рабочая программа обсуждена на заседании кафедры математического обеспечения и применения ЭВМ “15” ноября 2001г., протокол № 4. Рабочая программа согласована с рабочими программами изученных ранее дисциплин «Программирование», «Операционные системы». Рабочая программа одобрена методической комиссией ФКТИ “15” ноября 2001г. 3 Цели и задачи дисциплины 1. Изучение базовых принципов функционирования и методов разработки систем реального времени. 2. Формирование практических навыков организации вычислительных процессов в системах реального времени. Рабочая программа согласована с рабочими программами изученных ранее дисциплин: 3. Операционные системы. 4. Программирование и основы алгоритмизации. . Требования к уровню освоения дисциплины В результате изучения дисциплины студенты должны: 1. Знать принципы организации вычислительных процессов в цифровых информационно-управляющих системах, работающих в реальном масштабе времени, взаимосвязь программных и аппаратных средств в системах этого класса, методы управления памятью, синхронизации взаимодействующих процессов, принципы контроля достоверности обработки информации в системах реального времени, основные теоретические методы построения и анализа систем реального времени; 5. Уметь применять системные средства операционных систем при разработке программ систем реального времени, рассчитывать и анализировать характеристики и показатели эффективности систем реального времени с позиции программиста-аналитика, использовать для программирования алгоритмические языки уровня Си; 6. Иметь представление о характеристиках и функциях современных и перспективных операционных систем реального времени, проблемах и тенденциях их развития. Содержание рабочей программы Введение. Предмет и задачи дисциплины. Основные этапы развития информационноуправляющих систем реального времени(СРВ). Современный уровень развития систем реального времени. Примеры типовых систем реального времени. Содержание курса, его связь с другими дисциплинами учебного плана Тема 1. Концепция процессов. Имя, класс, алфавит, определение процесса. Система обозначений: префиксы, рекурсия, выбор, взаимная рекурсия. Законы. Реализация процессов. Протоколы. Операции над протоколами: конкатенация, сужение, голова и хвост, звездочка, порядок, длина. Реализация протоколов. Протоколы процесса: законы, реализация, примеры. Спецификации: соответствие спецификации, доказательства, примеры. Тема 2. Взаимодействие процессов. Взаимодействие: законы, реализация, протоколы. Примеры: алфавиты, поведение, дедлок, бесконечный перехват. Ввод и вывод: примеры, реализация, спецификации. 4 Транспортеры: законы, реализация, замыкание, спецификации. Подчинение: законы, схема коммутаций. Последовательные процессы: законы, прерывания, катастрофы, перезапуск, чередование, контрольные точки, реализация. Разделяемые ресурсы: поочередное использование, общая память, кратные ресурсы. Операционная система. Планирование ресурсов. Тема 3. Управление процессами в системах реального времени. Процесс как единица декомпозиции в СРВ. Понятие об управлении процессами. Состояния процесса, переход процесса из состояния в состояние. Операции над процессами. Основные управляющие структуры данных, приоритеты процессов. Основные средства ОС РВ для управления процессами – важные события, сигналы, семафоры, системные прерывания, системные функции, средства взаимодействия и синхронизации процессов, средства управление памятью, общая схема управления вводом-выводом. Тема 4. Методы и средства межпотоковой и межпроцессной синхронизации. Запуск процессов. Программные каналы. Функция pipe. Именованные и неименованные семафоры. Системные функции sem_wait, sem_trywait, sem_post, sem_getvalue. Общая память. Таймеры, объявления данного события в заданное время. Потоки управления. Мьютексы. Примеры построения программ внутрипроцессной и межпроцессной синхронизации. Тема 5. Системные средства управления прерываниями вычислительного процесса в СРВ. Основные типы прерываний – синхронные, асинхронные прерывания. Правила использования синхронных и асинхронных прерываний. Основные типы системных функций для управления прерываниями – разрешение или запрещение прерываний, прерывания по получению данных, прерывания по аварийному завершению процесса, прерывания по вводу-выводу. Тема 6. Организация очередей в системах реального времени. Понятия об управлении процессами как об организации и обслуживании очередей. Планирование загрузки процессов. Критерии эффективности дисциплины планирования. Основные дисциплины организации очередей в СРВ и их характеристики. Многоуровневые очереди с обратными связями. Тема 7. Архитектура ПО систем реального времени. Управление памятью: страничная, сегментная, странично-сегментная память; управление страничной памятью по запросам; явление пробуксовки в страничных системах и стратегия рабочего множества. Управление процессами: планировщик (изменение состояния и формирование текущего приоритета), диспетчер (выбор процесса на выполнение). Ввод-вывод: процесс-драйвер; общая схема прохождения запросов вводавывода, логические каналы процесса. Тема 8. Особенности отладки ПО в системах реального времени. Этапность отладки: отладка процесса во взаимодействии с операционной системой, совместная отладка вычислительных процессов внутри ЭВМ, отладка процессов ввода-вывода с отдельными абонентами, комплексная отладка. Технологическое обеспечение 5 этапов отладки: встроенные программные имитаторы, использование технологической ЭВМ для имитации внешних воздействий, динамический отладчик. Проблемы комплексной отладки ПО СРВ: невозможность обеспечения в процессе отладки внешних воздействий, адекватных всем возможным условиям эксплуатации; необходимость сохранения технологических средств отладки на весь период эксплуатации ПО СРВ. Тема 9. Оценка эффективности систем реального времени. Надежность ПО: неисправность и отказ ПО, время наработки на отказ. Возможность модернизации: время разработки ПО и время эксплуатации без изменения абонентов. Трудоемкость разработки ПО: зависимость трудоемкости от требуемого времени наработки на отказ и приспособленности разрабатываемого ПО к модернизации. ЗАКЛЮЧЕНИЕ Тенденции развития методов организации вычислительных процессов в системах реального времени. 6 Перечень лабораторных работ Номер лаб. работы 1 2 3 4 5 Наименование и содержание лабораторной работы Номера тем Применение семафоров для межпотоковой и межпроцессной синхронизации. Применение таймеров для периодического запуска программ. Применение сигналов для обработки исключительных ситуаций и асинхронных воздействий. Применение механизма программных каналов и протоколов ТСР и UDP для передачи данных Применение механизма общей памяти для передачи данных 4,7,8 5,7,8 4,7,8 4,7,8 4,7,8 Распределение учебных часов по темам и видам занятий № темы Объем учебных часов Название разделов и тем Введение 1 2 3 4 5 6 Концепция процессов Взаимодействие процессов Управление процессами в системах реального времени Методы и средства межпотоковой и межпроцессной синхронизации. Системные средства управления прерываниями вычислительного процесса в СРВ. Организация очередей в системах реального времени Лекции 1 3 2 6 Практ. Занятия Самост. Работа Семест р Аудит. Занятия 1 3 2 6 4 6 6 1 7 8 12 9 9 Всего 9 9 4 8 12 10 22 9 6 2 8 8 16 9 4 4 8 9 8 6 14 9 2 8 10 9 2 9 100 9 4 7 Архитектура ПО систем реального времени. 8 2 Особенности отладки ПО в системах реального времени 2 Оценка эффективности систем реального времени ИТОГО: 32 9 Лабор. Занятия 2 6 2 16 7 48 52 ЛИТЕРАТУРА Основная № Название, библиографическое описание Л Лр Кп (ð) К-во экз. в библ. (на каф.) Гриф Мин. обр. РФ 1 Э.Немет, Г.Снайдер, С.Сибас, Т.Хейн UNIX: руководство системного администратора. С-Пб., Питер, 2003г 9 28 2 Лисс А.Р., Селеджи Г.Ц., Селеджи С.М. Программирование в системах реального времени: Учеб. Пособие / ГЭТУ.-С.- Пб., 1995 У.Стивенс. UNIX: взаимодействие процессов. СПб., Питер, 2002г 9 100 3 9 38 ГосКом РФ по высш. обр. Мин. обр. РФ Дополнительная № Название, библиографическое описание К-во экз. в библ. (на каф.) 1 Ю.Вахалия UNIX изнутри. С-Пб., Питер,2003г 2 У.Стивенс. UNIX: разработка сетевых приложений. С-Пб., Питер, 2003г Ф/б-2 3 Чан Т Системное программирование на С++ для UNIX. BHV Киев. 1999 0 4 Хоар Ч. Взаимодействующие последовательные процессы. М.: Мир, 1989. 0 8 0 Автор: (с к.т.н. Селеджи Г.Ц. Рецензент к.т.н., доцент Татаринов Ю.С. Зав. кафедрой математического обеспечения и применения ЭВМ д.т.н., профессор Декан факультета Компьютерных технологий и информатики д.т.н., профессор Лисс А.Р. Герасимов И.В. Программа согласована: Зав. отделом учебной литературы Смирнова О.Н. Руководитель методического отдела к.т.н., доцент Марасина Л.А. Председатель методической комиссии ФКТИ к.т.н., доцент 9 Михалков В.А.