User Tools

Site Tools


sys:os

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sys:os [2023/05/12 08:37] – [Лабораторная 2 - Установка Linux] eugeneaisys:os [2025/02/06 14:22] (current) eugeneai
Line 8: Line 8:
  
   - Исследование компилятора 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). Язык С или другой, но на С проще, есть куча примеров.
 +
 +==== Варианты лабораторных работ (реализуемая функция) ====
 +
 +  - вычисление 
 +    - факториала, чисел Фибоначчи, функции Аккермана, ...
 +    - определенного интеграла численным методом,
 +    - сходящегося ряда для известных функций (sin, cos, exp, ....);
 +  - реализация численного метода
 +    - дифференцирования,
 +    - решения трансцендентного уравнения (методы Ньютона, Рыбакова, деления отрезка пополам, золотого сечения, простых итераций, ...),
 +    - решения задачи Коши;
 +  - реализация алгоритма
 +    - Бразенхема (рисование прямой, окружности, общего вида).
 +
  
 ==== Лабораторная 2 - Установка Linux (развертка, bootstraping) ====  ==== Лабораторная 2 - Установка Linux (развертка, bootstraping) ==== 
Line 21: 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, можно и другие дистрибутивы использовать.
Line 27: Line 43:
   - Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).   - Отчет - запишите ролик (VirtualBox, например, может это) как все было (тут надо продумать вариант записи консоли).
  
-==== Лабораторная 3. Реализация скрипта bash ====+==== Лабораторная 3a. Реализация скрипта bash ====
  
 ... в вашей установленной виртуальной машине реализовать задачу из методички, опубликованной здесь: [[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|ЗДЕСЬ]].
  
-==== Лабораторная 4. Реализация скрипта на Windows PowerShell ====+==== Лабораторная 3b. Реализация скрипта на Windows PowerShell ====
  
-Задание то же, что и в Лабораторной 3, но надо сделать в Powershell.+Задание то же, что и в Лабораторной 3a, но надо сделать в Powershell.
  
   - Изучаем по [[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|презентация]];
Line 39: Line 55:
     - Как вариант можно по согласованию поставить самостоятельно задачку.      - Как вариант можно по согласованию поставить самостоятельно задачку. 
  
-==== Лабораторная 5. Разработка сетевой инфраструктуры ====+==== Лабораторная 4. Разработка сетевой инфраструктуры для распределенных вычислений ====
  
 .... для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети. .... для организации распределенной обработки информации. Совместный проект 2-5 человек. Потребуются ваши виртуальные машины или контейнеры в виртуальной сети.
Line 55: Line 71:
  
  
-Оценка = количество сданных лаб, минимум 4 (1234, тройки мне нужны). 😉+Оценка = количество сданных лаб + 1. 😉
 Кому трудно - делайте вдвоем. Кому трудно - делайте вдвоем.
  
-Для 4 и 5 лабораторных можно дописать мой компилятор oberon7 (на стадии обновления исходников). https://github.com/eugeneai/Java-oberon-compiler, например, реализовать операции и тип bool, cardinal, В конце readme есть примеры задач. 
  
 === Доступ к Виртуальной машине === === Доступ к Виртуальной машине ===
sys/os.1683851822.txt.gz · Last modified: 2023/05/12 08:37 by eugeneai