User Tools

Site Tools


sys:os

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sys:os [2023/03/24 10:03] – created eugeneaisys:os [2025/02/06 14:22] (current) eugeneai
Line 1: Line 1:
-====== Системное программное обеспечение (СПО), Операционные системы (ОС) ======+====== Операционные системы (ОС) ======
  
-Данная страница предназначена для организации курсов +Данная страница предназначена для организации курса "Операционные системы (ОС) 22ХХ ИГУ".
-  * Системное программное обеспечение (СПО) для групп АСУ (ИРНИТУ), +
-  * Операционные системы (ОС) 2?41 ИГУ+
- +
-Курсы размещены на одной странице, так как сильно друг с другом связаны, и, по задумке, долны обогащать друг друга.+
  
 Лабы сдавать в свою телеграм-группу в виде ссылки на **единый** проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (**по согласованию с преподавателем**). Лабы сдавать в свою телеграм-группу в виде ссылки на **единый** проект всех лабораторных работ на github или ему подобный сервис. Лабы можно делать в любом порядке, можно в виде единого проекта (**по согласованию с преподавателем**).
  
-===== СПО ===== +===== Лабораторная работа 1 =====
- +
-Telegram-канал - https://t.me/+zCYSOQqGpqdmNDVi (ИРНИТУ АСУ-18-1 и др., Welcome!) +
- +
-Слайды курса OCW.MIT.EDU [[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-spring-2010/projects/|Computer Language Engineering]]! Все сразу в одном [[https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-035-computer-language-engineering-spring-2010/download-course-materials/|файле]]. +
-===== Лабораторные по СПО =====+
  
   - Исследование компилятора gcc, язык ассемблера. Связь процесса и операционной системы. Makefile, git.   - Исследование компилятора gcc, язык ассемблера. Связь процесса и операционной системы. Makefile, git.
-    * Нужно написать программу на С, С++, PASCAL/FPC и др. компилируемом языке, странслировать его в Assembler с разными опциями оптимизации <code> gcc -S -o <>.s <>.c -O[0123s]</code> +    * Нужно написать программу на С, С++, PASCAL/FPC и др. компилируемом языке, странслировать его в Assembler с разными опциями оптимизации <code> gcc -S -o <>.s <>.c [-O[0123s]] [-g[123]]</code> 
-    * Разобраться с одним из вариантов [оптимизации] ассемблерной программой (**добавить комментарии в сгенерированный ассемберный код**) - найти циклы, переменные и т.п.+    * Разобраться с одним из вариантов [оптимизации] ассемблерной программой (**добавить комментарии в сгенерированный ассемблерный код**) - найти циклы, переменные и т.п
 +    * Преобразовать программу в модульную, разработать Makefile.
   - Программу усовершенствовать: добавить параллельный процесс средствами Linux/Windows. Синхронизация доступа к общему ресурсу (файл, канал, pipe, очередь, mmap, smmem). Язык С или другой, но на С проще, есть куча примеров.   - Программу усовершенствовать: добавить параллельный процесс средствами Linux/Windows. Синхронизация доступа к общему ресурсу (файл, канал, pipe, очередь, mmap, smmem). Язык С или другой, но на С проще, есть куча примеров.
-  - Конечный детерминированный автомат, распознающий регулярное выражение. Реализация автомата на языке программирования и/или при помощи [[https://habr.com/ru/post/521996/|flex]] или <del>antlr4</del>. Лучше  запрограммировать два варианта (ничего сложного там нет): 
-    * Программу на любимом языке программирования; 
-    * Программу на flex + С или на подобной связке. 
-  - Реализация контекстно-свободной грамматики (оператора языка). Тут как душа пожелает [[https://www.usna.edu/Users/cs/roche/courses/f18si413/lab/04/|flex+bison]], [[https://outofrange.ru/2015/06/antlr4-for-preprocessing/|antlr4]],  .... 
-  - Реализация генератор кода - текст на языке ассемблера или, что круче, на [[https://llvm.org|llvm]] ([[https://llvmlite.readthedocs.io/en/latest/|llvmlite/Python]], и т.п.). 
  
-Оценка = количество сданных лаб, минимум 4 (1234, тройки мне нужны). 😉 +==== Варианты лабораторных работ (реализуемая функция) ====
-Кому трудно - делайте вдвоем.+
  
-Для 4 и лабораторных можно дописать мой компилятор oberon7 (на стадии обновления исходников). https://github.com/eugeneai/Java-oberon-compiler, например, реализовать операции и тип boolcardinal, В конце readme есть примеры задач.+  - вычисление  
 +    - факториала, чисел Фибоначчи, функции Аккермана, ... 
 +    - определенного интеграла численным методом
 +    - сходящегося ряда для известных функций (sin, cos, exp, ....); 
 +  - реализация численного метода 
 +    - дифференцирования, 
 +    - решения трансцендентного уравнения (методы Ньютона, Рыбаковаделения отрезка пополам, золотого сечения, простых итераций...), 
 +    - решения задачи Коши; 
 +  - реализация алгоритма 
 +    - Бразенхема (рисование прямой, окружности, общего вида).
  
-=== Доступ к Виртуальной машине === 
- 
-Из командной строки (powershell) Windows 8.0-11.0 
- 
-<code> ssh stud@sys.iscnet.ru </code> 
- 
-Пароль здесь не публикую по понятным причинам. 
- 
- 
-===== ОС ===== 
- 
-Telegram-канал - https://t.me/+zCYSOQqGpqdmNDVi (тот же, что у ИРНИТУ АСУ-18-1) 
- 
- 
-===== Лабораторные по ОС ===== 
- 
-==== Лабораторная 1 - исследование компилятора GCC ====  
- 
-... та же, что лабы. 1 (С->ассемблер)+2(параллельные процессы) по СПО ;-) [[rt:par|Постановка задачи]] 
  
-==== Лабораторная 2 - Установка Linux ==== +==== Лабораторная 2 - Установка Linux (развертка, bootstraping) ==== 
  
 ... из командной строки: ... из командной строки:
Line 60: Line 36:
     - ("средний уровень") ставим [[https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux|Arch Linux]] (my favorite distribution) русский [[https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|перевод]] (**может быть неактуальным!**) ;     - ("средний уровень") ставим [[https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux|Arch Linux]] (my favorite distribution) русский [[https://wiki.archlinux.org/title/Install_Arch_Linux_from_existing_Linux_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|перевод]] (**может быть неактуальным!**) ;
     - ("продвинутый уровень") [[https://wiki.gentoo.org/wiki/Handbook:Parts/Full/Installation/ru|Gentoo]]/[[https://www.funtoo.org/Install/Introduction|Funtoo]];     - ("продвинутый уровень") [[https://wiki.gentoo.org/wiki/Handbook:Parts/Full/Installation/ru|Gentoo]]/[[https://www.funtoo.org/Install/Introduction|Funtoo]];
 +    - ("продвинутый уровень") Установка глобального доступа в сеть IPv6 [[https://tunnelbroker.net|Tunnel brocker]];
     - ("уровень 'guru'") [[https://barracuda72.github.io/LFS-BOOK.pdf|LHS]];      - ("уровень 'guru'") [[https://barracuda72.github.io/LFS-BOOK.pdf|LHS]]; 
     - ("уровень 'dao'") Arch загрузкой по [[https://wiki.archlinux.org/title/diskless_system|сети]] DHCP/TFTP/NFS, можно и другие дистрибутивы использовать.     - ("уровень 'dao'") Arch загрузкой по [[https://wiki.archlinux.org/title/diskless_system|сети]] DHCP/TFTP/NFS, можно и другие дистрибутивы использовать.
   - Установить сервер sshd.   - Установить сервер sshd.
-  - Сделать пользователя eugeneai с паролем 123456 (как у Хиллари Клинтон на корпоративной почте ;-)); пробросьте порт маршрутизатора 7022 на порт 22 вашей виртуальной машины; попробую зайти, посмотреть все ли готово.+  - Сделать пользователя user с паролем 123456 (как у Хиллари Клинтон на корпоративной почте ;-)); пробросьте порт маршрутизатора 7022 на порт 22 вашей виртуальной машины; попробую зайти, посмотреть все ли готово.
   - Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).   - Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).
  
-==== Лабораторная 3. Реализация скрипта bash ====+==== Лабораторная 3a. Реализация скрипта bash ====
  
-... в вашей установленной виртуальной машине е обязательно, можно и в sys.iscnet.ru ее выполнить.+... в вашей установленной виртуальной машине реализовать задачу из методички, опубликованной здесь: [[https://github.com/eugeneai/bash-essentials-ru-handbok/raw/master/bash-ru.pdf|ЗДЕСЬ]].
  
-Методичка опубликована [[https://github.com/eugeneai/bash-essentials-ru-handbok/raw/master/bash-ru.pdf|ЗДЕСЬ]].+==== Лабораторная 3b. Реализация скрипта на Windows PowerShell ====
  
-==== Лабораторная 4. Реализация скрипта на Windows PowerShell ==== +Задание то же, что и в Лабораторной 3a, но надо сделать в Powershell.
- +
-... To Be DONE, TODO+
  
   - Изучаем по [[https://leanpub.com/powershell101|книге]] (покупаем за $0), [[https://docplayer.com/73181880-Lekciya-14-scenarii-windows-powershell.html|презентация]];   - Изучаем по [[https://leanpub.com/powershell101|книге]] (покупаем за $0), [[https://docplayer.com/73181880-Lekciya-14-scenarii-windows-powershell.html|презентация]];
   - Делаем задачу из лабы с bash, но средствами Windows (Imagemagick для Windows существует тоже, например);   - Делаем задачу из лабы с bash, но средствами Windows (Imagemagick для Windows существует тоже, например);
     - Как вариант можно по согласованию поставить самостоятельно задачку.      - Как вариант можно по согласованию поставить самостоятельно задачку. 
-==== Лабораторная 5. Разработка сетевой инфраструктуры ==== 
  
-.... для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины.+==== Лабораторная 4. Разработка сетевой инфраструктуры для распределенных вычислений ==== 
 + 
 +.... для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети.
  
   - Изучить [[https://www.rabbitmq.com|RabbitMQ]].   - Изучить [[https://www.rabbitmq.com|RabbitMQ]].
Line 89: Line 65:
  
 Как продвинутый вариант - можно зарегистрироваться у Microsoft на Asure и там зажигать год бесплатно на новой учетной записи. Как продвинутый вариант - можно зарегистрироваться у Microsoft на Asure и там зажигать год бесплатно на новой учетной записи.
- 
  
 ==== Темы проектов ==== ==== Темы проектов ====
  
 Темы находятся [[sys:prj|здесь]] Темы находятся [[sys:prj|здесь]]
 +
 +
 +Оценка = количество сданных лаб + 1. 😉
 +Кому трудно - делайте вдвоем.
 +
 +
 +=== Доступ к Виртуальной машине ===
 +
 +Из командной строки (powershell) Windows 8.0-11.0
 +
 +<code> ssh stud@imp.isclan.ru </code>
 +
 +Пароль здесь не публикую по понятным причинам.
 +
sys/os.1679623434.txt.gz · Last modified: 2023/03/24 10:03 by eugeneai