Table of Contents
Операционные системы (ОС)
Данная страница предназначена для организации курса “Операционные системы (ОС) 22ХХ ИГУ”.
Лабы сдавать в свою телеграм-группу в виде ссылки на единый проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (по согласованию с преподавателем).
Лабораторная работа 1
- Исследование компилятора gcc, язык ассемблера. Связь процесса и операционной системы. Makefile, git.
- Нужно написать программу на С, С++, PASCAL/FPC и др. компилируемом языке, странслировать его в Assembler с разными опциями оптимизации
gcc -S -o <>.s <>.c [-O[0123s]] [-g[123]]
- Разобраться с одним из вариантов [оптимизации] ассемблерной программой (добавить комментарии в сгенерированный ассемблерный код) - найти циклы, переменные и т.п.
- Преобразовать программу в модульную, разработать Makefile.
- Программу усовершенствовать: добавить параллельный процесс средствами Linux/Windows. Синхронизация доступа к общему ресурсу (файл, канал, pipe, очередь, mmap, smmem). Язык С или другой, но на С проще, есть куча примеров.
Варианты лабораторных работ (реализуемая функция)
- вычисление
- факториала, чисел Фибоначчи, функции Аккермана, …
- определенного интеграла численным методом,
- сходящегося ряда для известных функций (sin, cos, exp, ….);
- реализация численного метода
- дифференцирования,
- решения трансцендентного уравнения (методы Ньютона, Рыбакова, деления отрезка пополам, золотого сечения, простых итераций, …),
- решения задачи Коши;
- реализация алгоритма
- Бразенхема (рисование прямой, окружности, общего вида).
Лабораторная 2 - Установка Linux (развертка, bootstraping)
… из командной строки:
- Создать виртуальную Linux x86_64-машину (не забываем включить в BIOS в CPU аппаратную поддержку виртуальных машин) с винчестером и CD, сетевая карта - bridge.
- Загрузить дистрибутив System Rescue CD **64!**, подсоединяем к виртуальной машине, грузим CD; на некоторых машинах может не запускаться, попробуйте версию 4.X.X.
- Устанавливаем Linux-ы: изучаем бутстраппинг (bootstrapping) операционной системы:
- (“начальный уровень”) Debian/Ubuntu при помощи debootstrap;
- (“средний уровень”) ставим Arch Linux (my favorite distribution) русский перевод (может быть неактуальным!) ;
- (“продвинутый уровень”) Установка глобального доступа в сеть IPv6 Tunnel brocker;
- (“уровень 'guru'”) LHS;
- (“уровень 'dao'”) Arch загрузкой по сети DHCP/TFTP/NFS, можно и другие дистрибутивы использовать.
- Установить сервер sshd.
- Сделать пользователя user с паролем 123456 (как у Хиллари Клинтон на корпоративной почте
); пробросьте порт маршрутизатора 7022 на порт 22 вашей виртуальной машины; попробую зайти, посмотреть все ли готово.
- Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).
Лабораторная 3a. Реализация скрипта bash
… в вашей установленной виртуальной машине реализовать задачу из методички, опубликованной здесь: ЗДЕСЬ.
Лабораторная 3b. Реализация скрипта на Windows PowerShell
Задание то же, что и в Лабораторной 3a, но надо сделать в Powershell.
- Изучаем по книге (покупаем за $0), презентация;
- Делаем задачу из лабы с bash, но средствами Windows (Imagemagick для Windows существует тоже, например);
- Как вариант можно по согласованию поставить самостоятельно задачку.
Лабораторная 4. Разработка сетевой инфраструктуры для распределенных вычислений
…. для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети.
- Изучить RabbitMQ.
- Придумать задачу, например потоковая обработка документов (считывание изображений сканированных документов, распознавание, разметка, сохранение в БД, поиск в БД); Крутой проект, конечно, но можно модель построить.
- Реализовать виртуальную сеть (zerotier, OpenVPN, wireguard) и инфраструктуру RabbitMQ.
- Реализовать на инфраструктуре - каждый берет себе этап обработки, пишет на любом языке, поддерживаемом RebbitMQ.
Как продвинутый вариант - можно зарегистрироваться у Microsoft на Asure и там зажигать год бесплатно на новой учетной записи.
Темы проектов
Темы находятся здесь
Оценка = количество сданных лаб + 1. 😉 Кому трудно - делайте вдвоем.
Доступ к Виртуальной машине
Из командной строки (powershell) Windows 8.0-11.0
ssh stud@imp.isclan.ru
Пароль здесь не публикую по понятным причинам.