Операционная система FreeRTOS. Самый полный курс на русском языке. Часть 9. Семафоры.

preview_player
Показать описание
Полный курс по операционной системе FreeRTOS. Часть 9.
Тема: Семафоры. Двоичные и счетные семафоры.

------------------------------------------
Если вы хотите поддержать автора канала номер карты Сбер:
2202-2023-2480-4008
------------------------------------------
Рекомендации по теме
Комментарии
Автор

Здравствуйте, спасибо вам огромное за труд, очень интересно слушать вас, а потом практиковаться

DColins
Автор

Видео где Автор делится опытом, разъясняет непонятные или сложные моменты, учит что-то делать практически - полезно и нужно по определению. Спасибо за Вашу работу!

paulkvetkov
Автор

Спасибо ещё раз! Каждое видео - это настоящий шедевр!

ЛюбомирБезган
Автор

t=23:10 "обратите внимание, что последовательность изменилась". Ошибочное суждение. Во-первых, разницы между 19:43 и 23:10 очевидно нет. Во-вторых, ее и не может быть, т.к. код отличается на переход через for(;;), т.е. на одну инструкцию RJMP скорее всего. В первом случае она вызывается до osDelay(3), во втором - после. А на таком масштабе отдельных инструкцие не видно.

phisik
Автор

День добрый. Как всегда, полезное и интересное видео, спасибо.

VasyaPupkinus
Автор

Сразу лайк до просмотра, заранее спасибо за этот курс.

Ololoshize
Автор

Классный курс получается! Рассказываете как проф. преподаватель (сам работал в вузе 19 лет). Знаком с FreeRtos лет 10, а то и более, но никогда не использовал. И кажется многое потерял... А тут вдруг пришлось использовать библиотеку, которая сделана под эту ОСь и вот я с вами ;-) Спасибо огромное за Вашу работу, обязательно воспользуюсь номером карты.

yuriyivanov
Автор

Большое спасибо, Владимир, за работу!

markusdrive_com
Автор

Спасибо! Я надеюсь, весь курс будет залит на одну из российских платформ!

nangelo
Автор

Про инверсию приоритета еще можно рассказать

ZuratonE
Автор

Фишка этого курса - использование логич. анализатора для визуализации. Дякую. 👍
Интересно, а есть ли возможность показать вызов планировщика в анализаторе для полноты картины?

Gleb_Godlevski
Автор

Всё-таки ожидаемый порядок обработки при выдаче двух семафоров подряд (25:53) с указанными приоритетами будет иным. Очевидно, уже после первого семафора будет происходить переключение контекста и передача управления в задачу 4 (видно на 27:20).

justdoh
Автор

Большое спасибо! Особенно за наглядность процессов, прям понятно как отсчитываются временные промежутки и передается управление, кстати не подскажете где можно посмотреть библиотеки кода или примеры на ваш взгляд с наиболее правильными реализациями (примеры кода для различных задач с переферией uart ads spi и пр.)

emmett
Автор

Добрый день, спасибо! А если нужно переводить ряд задач-драйверов в режим готовности к выполнению из мастер-таска (и блокировать) не на один цикл, а на время до следующей блокировки? Можно ли это сделать как-то кроме vTaskSuspend(handle) из задачи-мастера? И считается ли вообще нормальным такое управление через задачу мастера с высшим приоритетом и vTaskDelay/vTaskResume? Сейчас у меня по прерыванию запускается задача-мастер и выполняется один раз, запуская нужный драйвер и блокируя не использующиеся. Спасибо за уроки, буду рад ответу!

Andry_TV_channel
Автор

Можно ли счетному семафору задать за один раз нужное значение или нужно вызывать give нужное количество раз?

LitvinYaroslav
Автор

Спасибо, за Вашу работу, для многих она очень важна. Коллеги, подскажите один момент, когда планировщик переключает задачу на более приоритетную, он сохраняет ее стек, но не запоминает место, с которого она была переключена? Т.е задача всегда вызывается с самого начала тела функции? Или же этот механизм схож с прерываниям, когда программный счётчик останавливается, и запускается с места где остановился?

BodinAndrey
Автор

Владимир спасибо за видео. Не понятно использование osDelay(1) после xSemaphoreTake. Ведь одной xSemaphoreTake будет достаточно для синхронизации этих задач? Ведь задача 4 будет находиться в блокировке по семафору?
Это учебный трюк чтобы запутать студентов?

dpochechuev
Автор

Спасибо за видео. Я так понимаю, что бинарные светофоры сродни флагам в масштабе ОС со всеми вытекающими плюшками? И семафор может например подсказать задаче выполнить чтение очереди, если он пришел? Правильно?

flyr
Автор

Как человек, который кучу проектов сделал по цифровым многоканальным источником питания, всяким хитрым системам реал-таймом, где процесс работы вымеряется до наносекунд и где периодичность различных процессов до сотен килогерц, а теперь вдруг заинтересовавшийся всякими ОСями... сижу и фигею... 1мс для меня это вечность 😀😀😀 и чем больше изучаю, тем больше понимаю - ну его нахрен... я своему коду больше доверяю.... а эти все ОСи пусть там турникетами да кнопками умного дома управляют. Доверить им что то мало мальски серьезное, на мой взгляд нельзя, хотя они вроде бы для этого и предназначены. В вашем примере если в систему кидаются 2 семафора. По всей логике как кода, так и теории, "задача" их обработки обязана быть вызвана ровно 2 раза! Но она вызывается 3 раза, и не важно что в третий раз она какой-то там огрызок доделывает! Причем этот огрызок не от пользовательской функции(где ты сам реально можешь косякнуть), а от системной функции самого ядра ОСи!! Это ж реал-тайм вещи с защитой потоковости, тут все должно быть четко как часы - 2 раза значит 2, и без вариантов! Иначе как на них нормально писать? И я подозреваю таких подводных камней в этих RTOS через чур много, если даже на учебном примере они вылезают.

Это вопрос конечно не к автору, он то как раз большой молодец! Он как раз объясняет все очень неплохо!
Побольше таких бы "косяковых" примеров работы))))

bb
Автор

Владимир доброе утро. Почему Вы это делаете? В чем Ваша мотивация?

DIY_PLC