[an error occurred while processing this directive]
|
=== Если у вас вход-выход жОстко синхронизированы(N слов на входе, N - на выходе за некий квант времени), то зачем городить по два буфера на вх и вых? Делайте по одному, с указателями на запись/чтение для вх и вых потока. Логически и задаче и драйверу должно быть проще. Да и в некоторых задачах память поэкономить можно.
Вопрос: как мне работать с одним буфером, если, допустим, данные поступают каждые 50 мкс, а их в виде буффера длинной 1024 слова обрабатывает некая задача в течении 5 мс. Получается, что если данные не сваливать в зеркальный буффер, то примерно 100 отсчетов будут утеряны.
=== Ну и насчёт "одна задача прерывает другую"... В принцЫпе, такое при ОС невозможно, бо прервать выполнение может только ОСь.
Помнится поймал я виря... Так вот он вдруг прерывал (совершенно натурально) все задачи и выключал комп... А еще ком прервать может блок питания...
=== С другой стороны, обрабатывать клавишы раз в 1мС нет смысла. И эквалайзер пересчитывать - тоже.
Но пересчитывать-то надо? И так, чтобы звук не прерывался непонятными щелчками...
=== Либо планировщик должен быть продвинутый, а это первый шаг к приоритетам.
И зачем они в реал-тайме? Кто кого должен прерывать: эквалайзер правого канала или левого? Кому присвоить самый высокий приоретет?
E-mail: info@telesys.ru