User Tools

Site Tools


rts:slides

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
rts:slides [2023/02/23 12:35] eugeneairts:slides [2023/03/22 10:32] (current) – [Системы реального времени: лекции] eugeneai
Line 8: Line 8:
   - {{ :rts:lecture_07.pdf | Языки программирования}};   - {{ :rts:lecture_07.pdf | Языки программирования}};
   - {{ :rts:lecture_08.pdf | Представление времени}} -- [[https://www.youtube.com/watch?v=6cqD_MPhx9c&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=10|видеоролик]];   - {{ :rts:lecture_08.pdf | Представление времени}} -- [[https://www.youtube.com/watch?v=6cqD_MPhx9c&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=10|видеоролик]];
-  - {{ :rts:lecture_09.pdf | Теория программирования}}; +  - {{ :rts:lecture_09.pdf | Теория программирования: языковые структуры, модули}} [[https://youtu.be/BqnI6RImvh0|видеоролик]]
-  - {{ :rts:lecture_10.pdf | Теория программирования: проблема зависимости}}; +  - {{ :rts:lecture_10.pdf | Теория программирования: надежность}} [[https://www.youtube.com/watch?v=-tctfTxNAdU|видеоролик]]
-  - {{ :rts:lecture_11.pdf | Системы цифрового управления}};+  - {{ :rts:lecture_11.pdf | Системы цифрового управления}} [[https://youtu.be/0eNB-NI9VEM|видеоролик]];
   - {{ :rts:lecture_12.pdf | Введение в LEGO Mindstorms}};   - {{ :rts:lecture_12.pdf | Введение в LEGO Mindstorms}};
-  - {{ :rts:lecture_13.pdf | Теория программирования: проблема зависимости (продолжение)}};+  - {{ :rts:lecture_13.pdf | Теория программирования: надежность программного обеспечения (продолжение)}} [[https://youtu.be/lTIMrzxIg-4|видеоролик]];
   - {{ :rts:lecture_14.pdf | Восстановление из состояния сбоя, противодействие сбоям}};   - {{ :rts:lecture_14.pdf | Восстановление из состояния сбоя, противодействие сбоям}};
   - {{ :rts:lecture_15.pdf | Исключения (Exceptions)}};   - {{ :rts:lecture_15.pdf | Исключения (Exceptions)}};
   - {{ :rts:lecture_16.pdf | Исключения (продолжение)}};   - {{ :rts:lecture_16.pdf | Исключения (продолжение)}};
-  - {{ :rts:lecture_17.pdf | Многозадачность}};+  - {{ :rts:lecture_17.pdf | Многозадачность}} [[https://youtu.be/5UKkXgB4vYM|видеоролик]];
   - {{ :rts:lecture_18.pdf | Многозадачное программирование (продолжение)}};   - {{ :rts:lecture_18.pdf | Многозадачное программирование (продолжение)}};
   - {{ :rts:lecture_19.pdf | Взаимодействие и синхронизация}};   - {{ :rts:lecture_19.pdf | Взаимодействие и синхронизация}};
Line 26: Line 26:
  
  
 +===== Лабораторные работы =====
 +  - Разработка программы на языке С без использования чисел с плавающей точкой и операций умножения и деления (вычисление квадратного корня из целого числа, алгоритм Бразенхэма) 
 +  - Перевести программу из Лабораторной 1 на ассемблер при помощи ''gcc -S'' и опции оптимизации ''-Ox''. Необходимо полученную программу программу откомментировать (найти переменные в стек-фрейме, границы циклов), видеоролики:  
 +       * [[https://www.youtube.com/watch?v=sFnLigtdSQc&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=15|порождение ассемблерного модуля и его анализ]]
 +       * [[https://www.youtube.com/watch?v=yTk38AfIFUg&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=16|эксперименты с флагами оптимизации компилятора gcc]]
 +  - Реализовать программу из Лабораторной 1 на языке Forth
 +       * [[https://www.youtube.com/watch?v=Np5pdDAswEI&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=8|обзор языка программирования Forth]]
 +  - Реализовать два процесса POSIX, C (родительский, порождающий дочерний), обеспечить их взаимодействие (''pipe, shmem, mmap, file, fifo, ...''), если необходимо, обеспечить синхронизацию доступа процессам к общему ресурсу при помощи семафоров
 +       * [[https://www.youtube.com/watch?v=x_a-7MxcdM4&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=17|системные вызовы Linux]]
 +       * [[https://www.youtube.com/watch?v=gDf0Jyo41L4&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=18|пример использования системного вызова (write)]]
 +       * [[https://www.youtube.com/watch?v=MpN1TMEZBXQ&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=19|создание дочернего процесса]]
 +       * [[https://www.youtube.com/watch?v=K89cHNC6_Xs&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=20|пример передачи информации между процессами (потоковое шифрование)]]
 +       * [[https://www.youtube.com/watch?v=A-xZuJoSkd0&list=PLDmve33tqgosZR652b14FqH5QW2zrkP-K&index=21|замена pipe на shmem]]
 +       * [[https://www.opennet.ru/base/dev/linux_semaphore.txt.html|синхронизация доступа]] к общей памяти (лекции пока нет). Другие виды [[http://dmilvdv.narod.ru/Translate/ELSDD/elsdd_posix_semaphores.html|семафоров POSIX]]
  
  
rts/slides.1677126901.txt.gz · Last modified: 2023/02/23 12:35 by eugeneai