LINUX.ORG.RU
ФорумTalks

[Это интересно] QNX и dead-lock


0

1

Всем привет.

С этого года веду помимо Linux/Unix ещё и «Операционные системы». Рассматривали со студентами взаимоблокировки и методы борьбы с ними. Возник у пытливых умов за партами вопрос - а как в QNX обстоит дело с борьбой со взаимоблокировками? Ответа поверхностным гуглением не нашёл, покупать книжку по QNX не хочется

Адресую вопрос великому лораз(у?)му :)

Спасибо


поясните неучу о чем вообще речь?)

dk-
()
Ответ на: комментарий от tailgunner

Ну как же, это ж QNX.

Первые 4 лекции им читал не я. Видимо, предыдущий преподаватель не дал чёткого понятия, чем системы реального времени принципиально отличаются от прочих систем

hc
() автор топика

в QNX исключена инверсия приоритетов, только и всего. при следовании coding guides по архитектуре IPC в приложении, дедлок получить крайне проблематично; однако при известном желании отстрелить себе ногу ничуть не сложней, чем в любой другой системе

jtootf ★★★★★
()

Почитал, подумал.

А в таком случае, хотя бы одна операционная система реализует тот же алгоритм банкира?

hc
() автор топика
Ответ на: комментарий от tailgunner

Ну необязательно же семафоры. Классическая ситуация - один процесс монопольно захватывает ресурс А, другой - ресурс Б. Потом они хотят сделать наоборот, но блокируются

hc
() автор топика
Ответ на: комментарий от tailgunner

>Ну, теоретически, у fcntl есть код возврата EDEADLK, но я не знаю, реализована ли проверка на deadlock хоть где-нибудь.

если система POSIX то да, по стандарту должно быть реализовано в теории.

alphex_kaanoken ★★★
()

Ну какбе MS не зря кричали что мультипоточных осей нету

фактически, а все что есть это феерические костыл

wfrr ★★☆
()

Загуглил по EDEADLK. Поиски привели меня вот туда - http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/fs/locks.c#L704

Если эта функция возвращает 0, то функция __posix_lock_file возвращает EDEADLK функции posix_lock_file, которая в свою очередь возвращает его функции vfs_lock_file. Вот так вот.

Теперь подумаю, что делает функция

hc
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.