Пређи на садржај

Битстрим

С Википедије, слободне енциклопедије

Битстрим, такође познат као бинарна секвенца, је низ битова.

Бајтстрим је низ бајтова. Типично, сваки бајт је 8-битна количина, па се термин октетни ток понекад користи наизменично. Октет може бити кодиран као низ од 8 битова на више различитих начина (погледајте нумерисање битова) тако да не постоји јединствена и директна транслација између токова бајтова и токова битова.

Битстримови и бајтстримови се интензивно користе у телекомуникацијама и рачунарству. На пример, СОНЕТ преноси синхрони ток битова, а протокол за контролу преноса асинхрони ток бајтова.

Однос према токовима бајтова

[уреди | уреди извор]

У пракси, токови битова се не користе директно за кодирање бајтова; комуникациони канал може да користи метод сигнализације који се не преводи директно у битове (на пример, преносећи сигнале више фреквенција) и обично такође кодира друге информације као што су кадрирање и исправљање грешака заједно са својим подацима.[тражи се извор]

Термин битстрим се често користи за описивање конфигурационих података који се учитавају у поље програмабилних капија (FPGA). Иако већина FPGA такође подржава метод паралелног учитавања бајтова, ова употреба је можда настала на основу уобичајеног метода конфигурисања FPGA из серијског тока битова, обично из серијског PROM-а или чипа флеш меморије. Детаљан формат битова за одређени FPGA је типично власништво FPGA добављача.

На већини оперативних система, стандардне I/O библиотеке конвертују приступ датотекама нижег нивоа са страницама или бафером у парадигму бајтстрима. Конкретно, у оперативним системима сличним Јуниксу, сваки процес има три стандардна тока, који су примери једносмерних токова бајтова.

Алгоритми компресије често кодирају у токовима битова, јер 8 битова које нуди бајт (најмања адресабилна јединица меморије) може бити расипна. Иако се обично имплементирају у језицима ниског нивоа, неки језици високог нивоа као што су Пајтон[1] и Јава[2] нуде изворне интерфејсе за битстрим I/O.

Један добро познати пример комуникационог протокола који својим клијентима пружа услугу бајт-стрима је Протокол контроле преноса (TCP) пакета интернет протокола, који обезбеђује двосмерни ток бајтова.

Тип Интернет медија за произвољни ток бајтова је application/octet-stream. Други типови медија су дефинисани за токове бајтова у добро познатим форматима.

Контрола протока

[уреди | уреди извор]

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

У оним случајевима, када одредиште тока бајтова (потрошач) користи бајтове брже него што се могу генерисати, систем користи синхронизацију процеса да одреди одредиште да чека док следећи бајт не буде доступан.

Када се бајтови генеришу брже него што одредиште може да их користи, а произвођач је софтверски алгоритам, систем га паузира са истим техникама синхронизације процеса. Када произвођач подржава контролу тока, систем шаље сигнал спреман само када је потрошач спреман за следећи бајт. Када се произвођач не може паузирати – тастатура или неки хардвер који не подржава контролу тока – систем обично покушава да привремено ускладишти податке док потрошач не буде спреман за то, обично користећи ред чекања. Често пријемник може да испразни бафер пре него што се потпуно напуни. Произвођач који наставља да производи податке брже него што се може потрошити, чак и након што је бафер пун, доводи до нежељеног преливања бафера, губитка пакета, загушења мреже и ускраћивања услуге.

Референце

[уреди | уреди извор]
  1. ^ „Bitstream”. Python Software Foundation. Архивирано из оригинала 2016-09-08. г. 
  2. ^ „Class BitSet”. Oracle. Архивирано из оригинала 2016-11-30. г.