Действительно ли вам нужна ОС реального времени? |
Ответить | Страница <1 89101112> |
Автор | |||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
Опубликовано: 12 Декабрь 2003 22:38 |
||
на вскидку - маловато статистики, после старта нитки делается пауза в 1 мс при том что тик в XP - 10мс, сам старт занимает предположительно не меньше тика.
Чем вызваны "перебои" вызваны перебои - очевидно. Отсутсвием семафоров. Различное поведение под вин и qnx может быть вызвано как разной величиной тика, так и, возможно, разной производительностью/параметрами компиляторами. Т.е. претензия - не указан компилятор/опции компилятора и системный квант времени. |
|||
SY,
EK |
|||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
|||
В том-то и прелесть стандартизации, в том числе и POSIX, что при её наличии вот это "посмотрите" - это занятие только для извращенцев, для мазохистов (но это мы уже об другом предмете): в диаметрально противоположных OS - клиент-серверной микроядерной QNX и моноядерной Linux - мне нет нужды смотреть как выполнен fopen - он работает одинаково, и именно так, как стандарт предписывает, для чего он (стандарт) только и нужен! |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
|||
дя? во-первых, даже для fopen'а есть ньюансы типа "r"/"rb", во-вторых, для функций типа read/write ньюансов еще больше, в частности, когда хендл - не файловый хендл, а, например, на самом деле сокет. Что уж говорить о такой тонкой материи, как временные зависимости в работе ниток/семафоров |
|||
SY,
EK |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
|||
кстати о птичках. реализации большого количества стандартных функций для однониточной и многониточных программ отличаются, что приводит к достаточно большому числу "тонких эффектов". Один из них, например, приводит к различию скорости выполнения, по моим наблюдениям - до двух раз. |
|||
SY,
EK |
|||
Участник Присоединился: 31 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 52 |
|||
Не совсем верно, семафоры, мютексы и др. объекты синхронизации использовать тут нельзя, июо это сразу приведет к серии переключений контекстов, а надо бы как и в QNX варианте использовать атомарные функции или критические секции... Вы не пробовали запустить такой тест по OS/2? У меня тоже появился вопрос, я модифицировал виндовый вариант программы, добавив критичесские секции на обращение к буферу и запретил динамическое присваивание приоритетов, но тем неменее при увеличении длительности цикла получил такой вариант: c:\work\Visual C++ Projects\InvW\Debug>invw +6 inverse test, Win32 API, vers.1.03 repeating number = 5000000, lock on mutex 111101111110000000002222222222 c:\work\Visual C++ Projects\InvW\Debug>invw +7 inverse test, Win32 API, vers.1.03 repeating number = 50000000, lock on mutex 101111111110000000002222222222 попадание управления к 0 потоку, когда "властвует" 1 уже говорит о плохой предсказуемости win32 в смысле диспетчеризации... |
|||
Draggan
Kharkov, QNX Seminars |
|||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
|||
Здесь не совсем уместно говорить о "плохой предсказуемости" - каждое переключение контекста есть строго детерминированный процесс, и всё поведение их совокупности тоже детерминировано... Но составляющих этого процесса становится так много (может процесс свопинга или мапирования страниц включиться, динамическое поведение приоритетов, обработчики прерываний: таймер, например...) - что, помните, я говорил о "сложности" системы - её поведение под стать предсказывать уже статистически. |
|||
Участник Присоединился: 31 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 52 |
|||
При чем тут переключение контекста? Когда я даю одному потоку приоритет выше чем другому, я имею в виду, что он должен выполняться первым, если конечно может. Вопрос, в том, что останавливает поток 1, даже на краткий период времени, потому, как даже один цикл потока 0 не проходит...
Это означает, что у активного потока возможны задержки выполнения, причем причины этих задержек далеко не очевидны... Именно об этом я говорил как о плохой предсказуемости, хотя это все уже известно и до меня... Да, сделал я объект синхронизации под виндой, убирающий инверсию приоритетов путем наследования. Ознакомиться можно здесь: http://qnxclub.net/modules.php?name=Forums&file=viewtopic&p=72#72 Сразу скажу код несколько сыроватый, но работает. Принимаю любые замечания и рекомендации. :) |
|||
Draggan
Kharkov, QNX Seminars |
|||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
|||
При том, что даже при выполнении 1-го потока высокого приоритета - у вас всё равно будут переключения контекста: по timeslice, например, когда планировщик должен пересмотреть списки готовых к выполнению потоков... и принять решение вернуть управление тому же, который только что прервали. |
|||
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 08 Сентябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 178 |
|||
гм...анонимусов вы там запретили.. при попытке зарегистрироваться приходит сообщение new spam received: дЮММШЕ ДКЪ ЮЙРХБХГЮЖХХ ЮЙЙЮСМРЮ .... Spam detection software, running on the system "ocean.is47.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or block similar future email. If you have any questions, see the administrator of that system for details. ============ оригинально - да ? Далее идет "Добро пожаловать Харьковский" и ссылка для активизации....при тыканьи в которую получаем "Пользователя с такими данными в нашей базе данных не найдено." мда... а сама статья стала совсем нечитабельна, вероятно <meta NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.0 (Win32)"> с русской языкой несколько не в ладах |
|||
SY,
EK |
|||
Действительный член Присоединился: 14 Октябрь 2003 Категория: Ukraine Online Status: Offline Публикации: 267 |
|||
Не запретили, а запретили им писать в обсуждение - согласитесь, это 2 большие разницы, нет?
Я надеюсь, что это - артефакт ;) - там действительно шла перманентная реконструкция, вы, наверное "под неё" попали :(.
Виноват, это я недосмотрел - текст в UNICODE, его можно читать, подстроив браузер - но это, конечно - лишнее. В 1-2 дня текст будет заменен на нормальный (в кодировке 1251). Но там рядом - лежит PDF текст - это дубликаты, вы можете легко прочитать его. Но за время с написания статьи: - она вызвала обсуждения и уточнения, которые, как мне кажется - интереснее самой статьи; - во след, по итогам и нашего с вами обсуждения, написана и выложена новая статья (на сегодня, пока - только PDF): http://qnxclub.net/modules.php?name=Forums&file=viewtopic&t=16 - и ещё одна, на ту же тематику, нашего коллеги из Монреаля - у меня на руках для чтения и рецензии, будет выложена после минимальной (грамматической) правки в 5-7 дней. |
|||
Ответить | Страница <1 89101112> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |