Я читаю эту книгу и до сих пор, находясь в главе 3, понимаю, что мультипрограммирование и многопроцессорность позволяют быстрее выполнять несколько существующих процессов / потоков. Я читаю все их тонкости и пока все прекрасно понимаю. Однако также упоминается, что, хотя программа использует модули ввода / вывода, другая программа должна ожидать, что означает, что две программы не могут использовать модули ввода / вывода одновременно.

Возможно, я спрашиваю слишком рано, и об этом говорится где-то позже в книге, но прямо сейчас - в этот момент - я не могу не задаться вопросом, как я могу иметь, скажем, VLC media player и Windows Media Player, воспроизводящие, каждый по-разному видео на мой компьютер и все же звук должен быть комбинацией звука обоих видео. Возможно ли, что выполнение процессов в I/O также имеет своего рода таймер? Или, может быть, мой компьютер имеет несколько модулей ввода / вывода (в данном случае аудио / динамик)? Если так, есть ли предел? Есть ли где-то в этой книге, на что я могу ненадолго запрыгнуть, чтобы почитать? Или, может быть, какой-то сайт, который объясняет это?

2 ответа2

2

Есть несколько программных модулей, которые подаются в модуль программного микшера, который подает оборудование. Каждое приложение сохраняет очередь звуковых данных непустой, так как модуль микшера объединяет входы, чтобы создать один выход, который управляет оборудованием.

2

Есть несколько вещей, чтобы рассмотреть. Прежде всего обратите внимание, что аналоговое аудио отличается от цифрового аудио, которое обычно передается с битрейтом 48 кГц (аналоговый битрейт теоретически бесконечен). если бы вы смотрели на него с большей частотой (например, 1 МГц), вы бы увидели "дыры" между битами, и вы можете использовать время, чтобы делать другие вещи, такие как обработка второго потока.

Во-вторых, обратите внимание, что южный мост обрабатывает обработку аудиокодеков, поэтому поток не должен проходить по всей длине системной шины. между южным мостом и самой звуковой картой, большая часть обработки выполняется рядом с шиной источника (контроллер superIO)

В-третьих, обратите внимание, что южный мост имеет несколько подключений к контроллеру SuperIO, и шина между ними (в современных вычислениях) измеряется в ГГц, как и битрейт Sata.

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

Звук высокой четкости при высоких битрейтах может создавать нагрузку на системные шины и создавать проблемы с многопоточностью при сохранении плавного воспроизведения. Windows Vista+ регулирует работу других потоковых служб южного моста, таких как сетевая карта, для обеспечения плавного воспроизведения, но хорошо подготовленная система без значительной нагрузки будет иметь небольшие проблемы при визуальном отображении пары потоков одновременно.

Итак, все говорят, что даже если ваша система была ограничена модулями ввода-вывода, звук достаточно медленный, чтобы распределяться по времени, использует аппаратное обеспечение и сгруппированные шины, чтобы избежать узких мест с другими компонентами системы, и не подчеркивает фактический канал ввода-вывода ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .