Применение Свободного Программного обеспечения в спецкурсах факультета Компьютерных Наук

Синельников Евгений Александрович

Несмотря на то, что мир шагнул в новый век и новое тысячелетие, будучи широко охваченным информационными технологиями, современное высшее образование в этой области испытывает глубокий кризис. Поскольку всё большее число областей и специальностей, а вместе с ними и академические круги, стремятся воспользоваться самыми новыми информационными технологиями, они всё сильнее увязают в этих технологиях после первого же внедрения. Из-за достаточно близорукой оценки соотношения стоимости технических решений, их поддержки и целей обучения высококвалифицированных специалистов, руководство ВУЗов зачастую делает ставку не на собственное развитие, а на рекламу продукции, используемой при решении поставленных перед ним задач.

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

Одним из примеров внедрения свободных проектов в Саратовском государственном университете является спецкурс по дисциплине «Системы реального времени», читаемый автором впервые для студентов специальности «Вычислительные машины, комплексы, системы и сети». Предварительный анализ доступных материалов показал, что коммерческие компании, разрабатывающие специализированные операционные системы реального времени (ОСРВ), не стремятся предоставить возможность для свободного изучения и выбора их систем. В связи с этим для изучения студентам был предложен к изучению проект RTAI/fusion, вернувший позже своё прежнее имя Xenomai. Выбор данного проекта был не случаен, поскольку это один из немногих вариантов сред, предоставляющих возможность не только исследовать технологии реализации ОСРВ и работы в них, но также изучить базовые примитивы и основы реализации приложений для коммерческих ОСРВ на уровне API. При этом для работы необходима только среда с установленным Linux и Xenomai, для которых наличествует не только документация, но и исходные коды.

После анализа вариантов заданий по основам работы с ОСРВ, задачи, связанные не столько с работой в реальном времени, сколько с изучением особенностей операционных систем и реализации драйверов, были предложены близкому по теме курсу «Операционные системы».

Набор практических заданий для студентов пятого курса по дисциплине «Системы реального времени» пересёкся с необходимостью более тщательной проработки практических заданий по дисциплинам, читаемым студентам той же специальности ранее: «Системное программное обеспечение» на втором курсе и «Интерфейсы периферийных устройств» — на третьем.

Для курса «Интерфейсы периферийных устройств» была проведена оценка необходимого оборудования и было выяснено, что для изучения взаимодействия программно-аппаратных средств достаточно использования одного из вариантов микроконтроллеров общего назначения (в качестве примера использовался mega8535 от Atmel), соответствующего свободного пакета компиляторов GCC и свободных вспомогательных системных утилит, изучение которых снова пересекается в практикой по дисциплине «Системное программное обеспечение». Результатом этой оценки явился набор заданий, требующих от студента не только общего обзора наиболее распространённых интерфейсов, но и принципов реализации протоколов, являющихся неотъемлемой частью средств взаимодействия вычислительных систем.

Поскольку решение задач с использованием микроконтроллеров тесно пересекается с курсом «Микропроцессорные системы», набор свободных программных средств, используемых в курсе «Интерфейсы периферийных устройств» был предложен в качестве основной программной поддержки для практических занятий этого курса.

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