Jump to content

Битстрим

Битовый поток (или битовый поток как двоичная последовательность , представляет собой последовательность битов ), также известный .Байтовый поток — это последовательность байтов . Обычно каждый байт представляет собой 8-битную величину , поэтому термин «поток октетов» иногда используется как синоним. Октет может быть закодирован как последовательность из 8 бит разными способами (см. нумерацию битов ), поэтому не существует уникального и прямого перевода между потоками байтов и потоками битов.

Битовые и байтовые потоки широко используются в телекоммуникациях и вычислительной технике . Например, синхронные потоки битов передаются SONET , а протокол управления передачей передает асинхронный поток байтов.

Связь с байтовыми потоками

[ редактировать ]

На практике битовые потоки не используются непосредственно для кодирования байтовых потоков; канал связи может использовать метод сигнализации, который не преобразуется напрямую в биты (например, путем передачи сигналов нескольких частот) и обычно также кодирует другую информацию, такую ​​как кадрирование и коррекция ошибок, вместе со своими данными. [ нужна ссылка ]

Термин «битовый поток» часто используется для описания данных конфигурации, которые должны быть загружены в программируемую пользователем вентильную матрицу (FPGA). Хотя большинство FPGA также поддерживают метод параллельной загрузки байтов, такое использование могло возникнуть на основе общего метода настройки FPGA из последовательного потока битов, обычно из последовательного PROM или чипа флэш-памяти . Подробный формат битового потока для конкретной FPGA обычно является собственностью поставщика FPGA.

В математике несколько конкретных бесконечных последовательностей битов были изучены на предмет их математических свойств; к ним относятся последовательность Баума-Свита , последовательность Эренфойхта-Мицельского , слово Фибоначчи , последовательность Колакоски , обычная последовательность складывания бумаги , последовательность Рудина-Шапиро и последовательность Туэ-Морса .

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

Алгоритмы сжатия часто кодируют в битовых потоках, поскольку 8 бит, предлагаемые байтом (наименьшая адресуемая единица памяти), могут быть расточительны. Хотя обычно они реализуются на языках низкого уровня , некоторые языки высокого уровня, такие как Python, [1] и Ява [2] предлагают собственные интерфейсы для ввода-вывода битового потока.

Одним из хорошо известных примеров протокола связи , который предоставляет своим клиентам услугу потока байтов, является протокол управления передачей (TCP) из набора протоколов Интернета , который обеспечивает двунаправленный поток байтов.

Тип интернет-носителя для произвольного байтового потока: приложение/октет-поток . Другие типы носителей определены для байтовых потоков в известных форматах.

Управление потоком

[ редактировать ]

Часто содержимое байтового потока создается динамически, например данные с клавиатуры и других периферийных устройств (/dev/tty), данные генератора псевдослучайных чисел ( /dev/urandom ) и т. д.

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

Когда байты генерируются быстрее, чем пункт назначения может их использовать, а источником является программный алгоритм, система приостанавливает их, используя те же методы синхронизации процесса. Когда производитель поддерживает управление потоком , система отправляет сигнал готовности только тогда, когда потребитель готов к следующему байту. Когда производитель не может быть поставлен на паузу (клавиатура или какое-либо оборудование, не поддерживающее управление потоком данных), система обычно пытается временно сохранить данные до тех пор, пока потребитель не будет к ним готов, обычно используя очередь . Часто получатель может очистить буфер до того, как он полностью заполнится. Производитель, который продолжает создавать данные быстрее, чем они могут быть потреблены, даже после того, как буфер заполнен, приводит к нежелательному переполнению буфера , потере пакетов , перегрузке сети и отказу в обслуживании .

См. также

[ редактировать ]
  1. ^ «Битстрим» . Фонд программного обеспечения Python. Архивировано из оригинала 8 сентября 2016 г.
  2. ^ «Класс BitSet» . Оракул. Архивировано из оригинала 30 ноября 2016 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7428c6129e3f22c063da92706814c487__1720453320
URL1:https://arc.ask3.ru/arc/aa/74/87/7428c6129e3f22c063da92706814c487.html
Заголовок, (Title) документа по адресу, URL1:
Bitstream - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)