Показать сообщение отдельно
Старый 20.12.2011, 19:27   #365
Cobox
Штырлиц
 
Аватар для Cobox
 
Регистрация: 09.04.2007
Адрес: Ирпень
Сообщений: 4,912
Вы сказали Спасибо: 136
Поблагодарили 355 раз(а) в 191 сообщениях
Репутация: 673
По умолчанию Re: Фазовое и временнóе согласование динамиков на частоте раздела полос.

Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
1. Не существует систем которые работают в реальном времени т.е. попросту вход сразу на выход не идет.
По-моему кто-то из нас не читал ту ссылку, которую я давал в своем сообщении на википедию
Ответь на простой вопрос: если ситема реального времени не существует, тогда о чем та статья в википедии? А если они существуют, то чем отличается система реального времени от других систем? И ты поймешь, что отвечать на все остальные твои пункты нет никакого смысла, ибо они абсурдны и написаны по незнанию того, что такое "система реального времени".
Сразу скажу, что система реального времени это не система, где "вход сразу идет на выход" (как ты написал и как ты думаешь ) - это системы с четко и заранее определёнными затратами времени/тактов процессора на выполнение операции и потому, когда ты получаешь на выходе результат, то очень легко определить задержку потраченную на выполнение операции и соответственно внести корректировку в результат, которая необходима на выполнения операции.
Например, как работает система жесткого реального времени.
На вход процессора поступает задача и дается жесткий квант времени на ее выполнение, и в момент вычислений процессор полностью игнорирует все другие задачи, пока не закончится этот квант времени. Поэтому программист, четко знает сколько времени тратится на каждую операцию и поэтому может легко внести корректировку в результат вычислений и при этом получит точный результат вычислений, т.е. даже если сделать тысячу раз одну и туже операцию, то все тысячу раз эта операция будет сделана за один и тот же квант времени.
Как работает система не реального времени.
На вход поступает задача и процессор запускается процесс (выполняет задачу) пока не получит прерывание от другого процесса. И когда, от какого процесса и сколько поступит прерываний во время выполнения этой задачи процессором - никому не известно,

Скрытый текст

Приведем достаточно типичный пример. Разработчик перенес свою программу из DOS в Unix. Программа должна сохранять на диске снятую с видеокамеры информацию, а также управлять работой камеры. В DOS все шло гладко, но при переходе в среду Unix появились задержки в передаче на камеру управляющих сигналов. В результате анализа ситуации выяснилось, что задачи пользователя простаивают из-за процесса sync, который призван синхронизировать кэш файловой системы при обращении к диску. Попытки отключить подкачку и установить программе управления камерой наивысших приоритетов результатов не дали.

т.е. время потраченное процессором на выполнение данной задачи не известно и кроме того, оно всегда будет разное, т.е. делаешь десять измерений, и все десять раз ты получаешь разное время на выполнение одной и той же операции.
А что такое "плавающее" время при динамических измерениях, где опорной базой измерений является время надеюсь объяснять не надо?
P.S.
Хотя не удержусь и отвечу на некоторые пункты:
Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
4. А проги написаны под DOS потому как требования однозадачные.
Нет, не потому, что там требования однозадачные, а потому, что там не возможно запустить параллельно второй процесс, без остановки первого и "вклинить" второй процесс в первый.

Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
3. Зуковуха сделала пшик,
согласен
Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
прога ждет ответ - та самая прямая линия до импульса,
а в этот момент, операционная система решает его нагрузить процессор полезной для нее работой, например, произвести кеширование, или еще бег весть, чем заняться.
Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
сигнал идет через кучу задержек и наконец вываливается из динамиков, затем в микрофон,
согласен
Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
микрофон пишет в память всё.
Ну во первых микрофон ничего не пишет. Пишет - программа, которую выполняет процессор под управлением операционной системы
И вот тут наступает самое интересное. Система занята выполнением других задач, например выполнением поступившего прерывания от мышки, реакцией на нажатие клавиши, кешированием данных с ОЗУ, и еще бог весть сколько процессов там болтается в процессоре (если не веришь, нажми CTRL+ALT+DEL и то ты не увидишь всех процессов, а только верхушку того айсберга, которая доступна для пользователя). И поэтому в момент записи сигнала в буфер, твоя система будет "отвелекатся" на другие задачи и соответственно терять часть информации, так как сигнал с микрофона ждать ее не будет.
В системе же реального времени будет выделен определеный квант времени для записи сигнала и в этот промежуток времени, никакая собака , не отвлечет процессор на другие задачи, пока не истечет время.
Улавливаешь разницу?

Цитата:
Сообщение от KAMIKAZE Посмотреть сообщение
Потом прога из буфера этого читает, никакая инфа не теряется.
Угу прога то прочитает, но только вопрос, что она там прочитает?

Последний раз редактировалось Cobox; 20.12.2011 в 19:37.
Cobox вне форума   Ответить с цитированием Вверх