Both sides previous revisionPrevious revisionNext revision | Previous revision |
rts:slides [2023/02/23 12:35] – eugeneai | rts:slides [2023/03/22 10:32] (current) – [Системы реального времени: лекции] eugeneai |
---|
- {{ :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 | Взаимодействие и синхронизация}}; |
| |
| |
| ===== Лабораторные работы ===== |
| - Разработка программы на языке С без использования чисел с плавающей точкой и операций умножения и деления (вычисление квадратного корня из целого числа, алгоритм Бразенхэма) |
| - Перевести программу из Лабораторной 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]] |
| |
| |