User Tools

Site Tools


sys:os

This is an old revision of the document!


Операционные системы (ОС)

Данная страница предназначена для организации курса “Операционные системы (ОС) 22ХХ ИГУ”.

Лабы сдавать в свою телеграм-группу в виде ссылки на единый проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (по согласованию с преподавателем).

Лабораторная работа 1

  1. Исследование компилятора gcc, язык ассемблера. Связь процесса и операционной системы. Makefile, git.
    • Нужно написать программу на С, С++, PASCAL/FPC и др. компилируемом языке, странслировать его в Assembler с разными опциями оптимизации
       gcc -S -o <>.s <>.c -O[0123s]
    • Разобраться с одним из вариантов [оптимизации] ассемблерной программой (добавить комментарии в сгенерированный ассемберный код) - найти циклы, переменные и т.п.
  2. Программу усовершенствовать: добавить параллельный процесс средствами Linux/Windows. Синхронизация доступа к общему ресурсу (файл, канал, pipe, очередь, mmap, smmem). Язык С или другой, но на С проще, есть куча примеров.

Лабораторная 2 - Установка Linux

… из командной строки:

  1. Создать виртуальную Linux x86_64-машину (не забываем включить в BIOS в CPU аппаратную поддержку виртуальных машин) с винчестером и CD, сетевая карта - bridge.
  2. Загрузить дистрибутив System Rescue CD **64!**, подсоединяем к виртуальной машине, грузим CD; на некоторых машинах может не запускаться, попробуйте версию 4.X.X.
  3. Устанавливаем Linux-ы: изучаем бутстраппинг (bootstrapping) операционной системы:
    1. (“начальный уровень”) Debian/Ubuntu при помощи debootstrap;
    2. (“средний уровень”) ставим Arch Linux (my favorite distribution) русский перевод (может быть неактуальным!) ;
    3. (“продвинутый уровень”) Gentoo/Funtoo;
    4. (“уровень 'guru'”) LHS;
    5. (“уровень 'dao'”) Arch загрузкой по сети DHCP/TFTP/NFS, можно и другие дистрибутивы использовать.
  4. Установить сервер sshd.
  5. Сделать пользователя user с паролем 123456 (как у Хиллари Клинтон на корпоративной почте ;-)); пробросьте порт маршрутизатора 7022 на порт 22 вашей виртуальной машины; попробую зайти, посмотреть все ли готово.
  6. Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).

Лабораторная 3. Реализация скрипта bash

… в вашей установленной виртуальной машине реализовать задачу из методички, опубликованной здесь: ЗДЕСЬ.

Лабораторная 4. Реализация скрипта на Windows PowerShell

Задание то же, что и в Лабораторной 3, но надо сделать в Powershell.

  1. Изучаем по книге (покупаем за $0), презентация;
  2. Делаем задачу из лабы с bash, но средствами Windows (Imagemagick для Windows существует тоже, например);
    1. Как вариант можно по согласованию поставить самостоятельно задачку.

Лабораторная 5. Разработка сетевой инфраструктуры

…. для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети.

  1. Изучить RabbitMQ.
  2. Придумать задачу, например потоковая обработка документов (считывание изображений сканированных документов, распознавание, разметка, сохранение в БД, поиск в БД); Крутой проект, конечно, но можно модель построить.
  3. Реализовать виртуальную сеть (zerotier, OpenVPN, wireguard) и инфраструктуру RabbitMQ.
  4. Реализовать на инфраструктуре - каждый берет себе этап обработки, пишет на любом языке, поддерживаемом RebbitMQ.

Как продвинутый вариант - можно зарегистрироваться у Microsoft на Asure и там зажигать год бесплатно на новой учетной записи.

Темы проектов

Темы находятся здесь

Оценка = количество сданных лаб, минимум 4 (1234, тройки мне нужны). 😉 Кому трудно - делайте вдвоем.

Для 4 и 5 лабораторных можно дописать мой компилятор oberon7 (на стадии обновления исходников). https://github.com/eugeneai/Java-oberon-compiler, например, реализовать операции и тип bool, cardinal, В конце readme есть примеры задач.

Доступ к Виртуальной машине

Из командной строки (powershell) Windows 8.0-11.0

 ssh stud@imp.isclan.ru 

Пароль здесь не публикую по понятным причинам.

sys/os.1679624453.txt.gz · Last modified: 2023/03/24 10:20 by eugeneai