This is an old revision of the document!
Системное программное обеспечение (СПО)
Данная страница предназначена для организации курсов
- Системное программное обеспечение (СПО) для групп АСУ (ИРНИТУ), ИрГУПС
Лабы сдавать в свою телеграм-группу в виде ссылки на единый проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (по согласованию с преподавателем).
Слайды курса OCW.MIT.EDU Computer Language Engineering! Все сразу в одном файле.
Лабораторные по СПО
- Исследование компилятора gcc, язык ассемблера. Связь процесса и операционной системы. Makefile, git.
- Нужно написать программу на С, С++, PASCAL/FPC и др. компилируемом языке, странслировать его в Assembler с разными опциями оптимизации
gcc -S -o <>.s <>.c -O[0123s]
- Разобраться с одним из вариантов [оптимизации] ассемблерной программой (добавить комментарии в сгенерированный ассемберный код) - найти циклы, переменные и т.п.
- Программу усовершенствовать: добавить параллельный процесс средствами Linux/Windows. Синхронизация доступа к общему ресурсу (файл, канал, pipe, очередь, mmap, smmem). Язык С или другой, но на С проще, есть куча примеров.
- Конечный детерминированный автомат, распознающий регулярное выражение. Реализация автомата на языке программирования и/или при помощи flex или
antlr4. Лучше запрограммировать два варианта (ничего сложного там нет):- Программу на любимом языке программирования;
- Программу на flex + С или на подобной связке.
- Реализация контекстно-свободной грамматики (оператора языка). Тут как душа пожелает flex+bison, antlr4, ….
- Реализация генератор кода - текст на языке ассемблера или, что круче, на llvm (llvmlite/Python, и т.п.).
Оценка = количество сданных лаб, минимум 4 (1234, тройки мне нужны). 😉 Кому трудно - делайте вдвоем.
Для 4 и 5 лабораторных можно дописать мой компилятор oberon7 (на стадии обновления исходников). https://github.com/stud-labs/oberon7-cpp, например, реализовать операции и тип bool, cardinal, В конце readme есть примеры задач.
Доступ к Виртуальной машине
Из командной строки (powershell) Windows 8.0-11.0
ssh stud@sys.iscnet.ru
Пароль здесь не публикую по понятным причинам.
