|
|
  |
STM32F407: Ethernet + CHECKSUM_BY_SOFTWARE |
|
|
|
Apr 28 2017, 15:43
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Apr 28 2017, 16:19)  мьютекс поможет в устранении этого "бага", а вот семафор уже не поможет. Ещё раз: Каким образом???Я знаю как это делается например в Win. Но там это свойство - всей системы объектов синхронизации. Вне зависимости от того, что это - мьютекс или event. Т.е. - не зависит от типа объекта. Цитата(Forger @ Apr 28 2017, 16:19)  Нужно объявлять объект "ящика" через OSMboxCreate, заранее создав его экземпляр. Т.е. тратим ОЗУ. Это, к сожалению, так.
|
|
|
|
|
Apr 28 2017, 16:18
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Apr 28 2017, 18:43)  Ещё раз: Каким образом??? Очень просто - средствами самой os, а точнее, встроенными механизмами борьбы с инверсией приоритетов: протокол наследования приоритета (Priority inheritance protocol), протокол увеличения приоритета (Priority ceiling protocol). Например, вот как это сделано на примере tnkernel.: Возвращаясь к началу разговора: Цитата Мютекс - это объект RTOS, предназначенный для обеспечения конкурентного доступа к общим ресурсам. Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов). Цитата(jcxz @ Apr 28 2017, 18:43)  Это, к сожалению, так. А чего тогда было спорить?
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 28 2017, 19:58
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Apr 28 2017, 18:18)  Очень просто - средствами самой os, а точнее, встроенными механизмами борьбы с инверсией приоритетов: Передёргиваете. Вы утверждали выше, что мьютекс сам по себе решает проблему инверсии приоритетов. Я Вам написал, что это не так, что мьютекс и инверсия приоритетов - это как горячее и зелёное - никакого отношения одно к другому не имеет. Средства для борьбы с инверсией приоритетов, если таковые есть, они сами по себе, и они не являются свойством мьютекса, а если они есть, то имеются в разных средствах синхронизации (мьютексы, семафоры, критические секции и т.п.). Т.е. - в каких-то ОС они есть, в каких-то - нет. Я знаю, что такие средства есть в Win, но их нет в uCOS. Но мьютексы есть и там и там. Цитата(Forger @ Apr 28 2017, 18:18)  А чего тогда было спорить?  Спорить о чём? Где я утверждал, что для объектов синхронизации uCOS не нужна ОЗУ???
|
|
|
|
|
Apr 28 2017, 20:41
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Apr 28 2017, 22:58)  Вы утверждали выше, что мьютекс сам по себе решает проблему инверсии приоритетов. Перечитайте мои посты еще раз отсюда, пожалуйста. На всякий случай еще раз продублирую мануал uCos: "Semaphores are subject to unbounded priority inversions, while mutex are not." и википедию: "Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов)." Цитата(jcxz) "...Почти везде для разделения ресурсов используем семафоры.." Цитата Спорить о чём? .
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 28 2017, 21:10
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Apr 28 2017, 22:41)  Перечитайте мои посты еще раз Зачем? Вы в сообщении 8 уже небылицы рассказываете. Цитата(Forger @ Apr 28 2017, 22:41)  и википедию: "Мютекс представляет собой двоичный семафор с дополнительными свойствами (например, протоколы обхода неограниченной инверсии приоритетов)." Очевидно, что такого бреда не может быть в википедии. Хотя бы потому, что "мютексов" никаких не существует в природе, а есть "мьютексы". А отсюда следует, что эту фразу Вы ниоткуда не скопировали, а высосали из пальца. Вы сами то почитайте хотя-бы википедию, https://ru.wikipedia.org/wiki/Мьютекси узнаете что такое мьютекс и deadlock и многое другое. PS: И про отличие семафора от мьютекса там тоже сказано. Совсем не то что Вы думаете.
|
|
|
|
|
Apr 28 2017, 22:40
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Apr 29 2017, 00:10)  ....небылицы рассказываете. ....такого бреда не может быть в википедии. ... ..."мютексов" никаких не существует в природе, а есть "мьютексы". Когда все объективные аргументы исчерпаны, в ход идет "тяжелая артиллерия": придирка к грамматическим ошибкам, обвинения в "бреде", "небылицах", "высосано из пальца" т.п. ... Цитата(jcxz) А отсюда следует, что эту фразу Вы ниоткуда не скопировали, а высосали из пальца. "Высосано" отсюда. Цитата(jcxz) И про отличие семафора от мьютекса там тоже сказано. Совсем не то что Вы думаете. Значит врут книги или я просто не умею читать. А мануалы к uCos, freeRTOS, tnkernel и другим осям вообще рассказывают целые "небылицы".... Нда, как все печально-то Уж сделайте милость, просветите неучей - в чем же состоит Истинное Отличие семафора от мьютекса!
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
Apr 29 2017, 04:29
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Forger @ Apr 28 2017, 22:28)  Кстати, просветите меня - неуча: почему так настойчиво юзают lwip версию 1.4 даже в новых проектах, коли уже давно существует 2.хх? Полгода всего. Это недавно, почти вчера. Скажем, если сравнивать с C99, понадобилось лет 10, чтобы начало внедряться. Кстати, насчёт "новых проектов" я бы уточнил. Скажем, порт lwip для FreeRTOS - это старый проект. Кубический куб - тоже. А вот чтобы кто-то самостоятельно взял исходники lwip с официального сайта и прикрутил к своему проекту - это редкость. Обычно возникают вопросы типа "ой, у меня не работает, где там галочку поставить в кубическом кубе?"
|
|
|
|
|
Apr 29 2017, 08:07
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Apr 29 2017, 00:40)  Когда все объективные аргументы исчерпаны, в ход идет "тяжелая артиллерия": придирка к грамматическим ошибкам, обвинения в "бреде", "небылицах", "высосано из пальца" т.п. ... Может Вы не поняли, но это не придирка к грамматике. Вы написали про википедию и типа привели выдержку из неё. Я указал, что это не может быть ссылкой оттуда, так как в википедии даже слово "мютекс" не находится. Значит Ваш аргумент выдуман. И в википедии кстати в описании мьютекса ничего не говорится о его возможностях по инверсии приоритета. Как и следовало ожидать. И статья там безотносительно ОС - для всех ОС. Цитата(Forger @ Apr 29 2017, 00:40)  "Высосано" отсюда. Значит врут книги или я просто не умею читать. Вот это похоже на правду - что не умеете читать. Отсюда Вы и дёрнули эту цитату. И совсем не поняли, что она относится к конкретной ОС - tnkernel. Т.е. - как я и писал ранее - средства борьбы с инверсией приоритетов - это свойство данной ОС, а не в целом всех мьютексов как класса объектов синхронизации. Мьютексы в других ОС могут не иметь таких средств или иметь другие и от этого они не перестают быть мьютексами. Цитата(Forger @ Apr 29 2017, 00:40)  А мануалы к uCos Уж сделайте милость, просветите неучей - в чем же состоит Истинное Отличие семафора от мьютекса! Отличия описаны в той же википедии. Лучше Вы - сделайте милость - укажите каким образом мьютекс в uCOS-II борется с инверсией приоритетов. Мне очень интересно. А то пользуюсь uCOS-II уже лет 10 и не знал о такой её замечательной особенности! Если докажете что мьютексы умеют это делать, вот ей богу - перейду исключительно на них  Цитата(scifi @ Apr 29 2017, 06:29)  А вот чтобы кто-то самостоятельно взял исходники lwip с официального сайта и прикрутил к своему проекту - это редкость. А чтобы кто-то самостоятельно взял и написал TCP-стек самостоятельно, не беря lwIP?
|
|
|
|
|
Apr 29 2017, 08:26
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Forger @ Apr 29 2017, 10:21)  Справитесь самостоятельно или нужно разжевать и тут? Разжуйте. Какую именно строку надо изучать?  Цитата(Forger @ Apr 29 2017, 10:21)  На всякий случай подскажу - ищите фразу "OS_ERR_PIP_LOWER" в файле os_mutex.c. Нет такой фразы! Т.е. - вообще нет ни в одном файле. Опять из пальца высасываете.
|
|
|
|
|
Apr 29 2017, 08:27
|

Профессионал
    
Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831

|
Цитата(jcxz @ Apr 29 2017, 11:23)  Разжуйте. Какую именно строку надо изучать?  Все ясно: привычка "забивать гвозди лопатой" за 10 лет практики уже превратилась в религию А менять чужую религию - самое последнее, что стоит делать. Цитата(jcxz @ Apr 29 2017, 11:26)  Нет такой фразы! Т.е. - вообще нет ни в одном файле.Опять из пальца высасываете. У меня есть последняя версия uCos-II v2.90, но это появилось уже в версии 2.80, а в 2.76 нет. Обновите ось. А в uCos-III (у меня под боком V3.03.00) мьютекс стал еще более умным - появилось еще больше возможных ошибок применения.
--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|