Операционные системы (ОС)
Данная страница предназначена для организации курса “Операционные системы (ОС) 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;
-
(“уровень 'dao'”) Arch загрузкой по
сети DHCP/TFTP/NFS, можно и другие дистрибутивы использовать.
Установить сервер sshd.
Сделать пользователя user с паролем 123456 (как у Хиллари Клинтон на корпоративной почте

); пробросьте порт маршрутизатора 7022 на порт 22 вашей виртуальной машины; попробую зайти, посмотреть все ли готово.
Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).
Лабораторная 3a. Реализация скрипта bash
… в вашей установленной виртуальной машине реализовать задачу из методички, опубликованной здесь: ЗДЕСЬ.
Лабораторная 3b. Реализация скрипта на Windows PowerShell
Задание то же, что и в Лабораторной 3a, но надо сделать в Powershell.
-
Делаем задачу из лабы с bash, но средствами Windows (Imagemagick для Windows существует тоже, например);
Как вариант можно по согласованию поставить самостоятельно задачку.
Лабораторная 4. Разработка сетевой инфраструктуры для распределенных вычислений
…. для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети.
-
Придумать задачу, например потоковая обработка документов (считывание изображений сканированных документов, распознавание, разметка, сохранение в БД, поиск в БД); Крутой проект, конечно, но можно модель построить.
Реализовать виртуальную сеть (zerotier, OpenVPN, wireguard) и инфраструктуру RabbitMQ.
Реализовать на инфраструктуре - каждый берет себе этап обработки, пишет на любом языке, поддерживаемом RebbitMQ.
Как продвинутый вариант - можно зарегистрироваться у Microsoft на Asure и там зажигать год бесплатно на новой учетной записи.
Темы проектов
Темы находятся здесь
Оценка = количество сданных лаб + 1. 😉
Кому трудно - делайте вдвоем.
Доступ к Виртуальной машине
Из командной строки (powershell) Windows 8.0-11.0
ssh stud@imp.isclan.ru
Пароль здесь не публикую по понятным причинам.