This is an old revision of the document!
Table of Contents
Системное программное обеспечение (СПО), Операционные системы (ОС)
Данная страница предназначена для организации курсов
- Системное программное обеспечение (СПО) для групп АСУ (ИРНИТУ),
- Операционные системы (ОС) 2?41 ИГУ.
Курсы размещены на одной странице, так как сильно друг с другом связаны, и, по задумке, долны обогащать друг друга.
Лабы сдавать в свою телеграм-группу в виде ссылки на единый проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (по согласованию с преподавателем).
СПО
Telegram-канал - https://t.me/+zCYSOQqGpqdmNDVi (ИРНИТУ АСУ-18-1 и др., Welcome!)
Слайды курса 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/eugeneai/Java-oberon-compiler, например, реализовать операции и тип bool, cardinal, В конце readme есть примеры задач.
Доступ к Виртуальной машине
Из командной строки (powershell) Windows 8.0-11.0
ssh stud@sys.iscnet.ru
Пароль здесь не публикую по понятным причинам.
ОС
Telegram-канал - https://t.me/+zCYSOQqGpqdmNDVi (тот же, что у ИРНИТУ АСУ-18-1)
Лабораторные по ОС
Лабораторная 1 - исследование компилятора GCC
… та же, что лаб. 1 по СПО
Лабораторная 2 - Установка Linux
… из командной строки:
- Создать виртуальную Linux x86_64-машину (не забываем включить в BIOS в CPU аппаратную поддержку виртуальных машин) с винчестером и CD, сетевая карта - bridge;
- Загрузить дистрибутив System Rescue CD, подсоединяем к машине, грузим;
- Устанавливаем Linux-ы:
- (“начальный уровень”) Debian/Ubuntu при помощи debootstrap;
- (“средний уровень”) Arch Linux;
- (“продвинутый уровень”) Gentoo/Funtoo;
- (“уровень 'guru'”) LHS;
- (“уровень 'dao'”) … загрузкой по сети DHCP/TFTP/NFS;
