В некоторых вступительных заметках о вводе / выводе и операционных системах я читал, что "асинхронные системы требуют буферизации". Почему это так, пожалуйста?
ура
В некоторых вступительных заметках о вводе / выводе и операционных системах я читал, что "асинхронные системы требуют буферизации". Почему это так, пожалуйста?
ура
В синхронной сети (например, SDH), битовые потоки выделяются гарантированной полосой пропускания. Узел в синхронной сети пересылает отдельные биты от входного интерфейса к выходному интерфейсу, и благодаря TDM (мультиплексирование с временным разделением) всегда есть интервал, готовый для того, чтобы бит от входа был помещен на выходной интерфейс. Буфер (размером 1 бит) необходим для каждого потока, где бит ожидает между входными и выходными выделенными временными интервалами TDM. 1 бит настолько мал, что его обычно считают «без буфера».
В асинхронной сети (например, Ethernet) вы никогда не знаете, сколько пакетов поступит через интерфейс, и их необходимо будет переадресовать на другой интерфейс. Резервирование пропускной способности не сделано. Асинхронный узел может отбрасывать входящие пакеты, если выходной интерфейс занят, но это может привести к очень большой потере пакетов. Реализация буферов позволяет задерживать пакеты и полностью использовать полосу пропускания выходного интерфейса. Только когда буферы заполнены, пакеты отбрасываются. Существует множество теорий относительно оптимальных стратегий отбрасывания пакетов (RED, AFD, ...) и исходящих пакетов (FIFO, SFQ, CODEL).
Асинхронные системы встречаются гораздо чаще и медленно заменяют синхронные системы. Это связано с тем, что, несмотря на дополнительную сложность узлов, у них нет накладных расходов на настройку потоков, и, следовательно, они обладают гораздо большей способностью обрабатывать большое количество потоков и гораздо быстрее адаптироваться к изменениям потоков данных. Интернет не будет возможен в синхронной системе.