Bitfolyam - Bitstream

A bitfolyam (vagy bitfolyam ), más néven bináris szekvenciát , egy szekvenciát a bitek .

A bytream egy bájtsorozat . Jellemzően mindegyik bájt 8 bites mennyiség , ezért az oktettfolyam kifejezés néha felcserélhető. Az oktettet 8 bites szekvenciaként lehet kódolni, többféle módon (lásd a bitek számozását ), így nincs egyedi és közvetlen fordítás a bytest és a bit stream között.

A bitfolyamokat és a bytreameket széles körben használják a telekommunikációban és a számítástechnikában . Például a szinkron bitfolyamokat a SONET hordozza , és a Transmission Control Protocol egy aszinkron bytream-et továbbít.

A bitfolyamok és a bytreamek kapcsolata

A gyakorlatban a bitfolyamokat nem közvetlenül használják a bytreamek kódolására; egy kommunikációs csatorna használhat olyan jelzési módszert, amely nem közvetlenül fordul bitekké (például több frekvenciájú jel továbbításával), és jellemzően más információkat is kódol, mint például a keretezés és a hibajavítás az adataival együtt.

Példák

A bitfolyam kifejezést gyakran használják a terepi programozható kaputömbbe (FPGA) betöltendő konfigurációs adatok leírására . Bár a legtöbb FPGA támogatja a bájt-párhuzamos betöltési módszert is, ez a használat az FPGA soros bitfolyamból, általában soros PROM-ból vagy flash memóriachipből történő konfigurálásának általános módszerén alapulhat . Egy adott FPGA bitfolyamának részletes formátuma általában az FPGA gyártó tulajdonában van.

A matematikában számos specifikus végtelen bitszekvenciát vizsgáltak matematikai tulajdonságaik tekintetében; ezek közé tartozik a Baum – Sweet szekvencia , Ehrenfeucht – Mycielski szekvencia , Fibonacci szó , Kolakoski szekvencia , szabályos papírhajtási szekvencia , Rudin – Shapiro szekvencia és Thue – Morse szekvencia .

A legtöbb operációs rendszerben , beleértve a Unix-szerűeket és a Windows -okat is , a szokásos I / O könyvtárak konvertálják az alacsonyabb szintű lapozott vagy pufferelt fájlhozzáférést bytestream paradigmává. Különösen a Unix-szerű operációs rendszerekben mindegyik folyamatnak három szabványos folyama van , amelyek példák az egyirányú bytreamekre. A Unix csőmechanizmus bytream kommunikációt biztosít a különböző folyamatok között.

A tömörítési algoritmusok gyakran bitfolyamokban kódolnak, mivel a bájt (a legkisebb címezhető memóriaegység) által kínált 8 bit pazarló lehet. Bár jellemzően alacsony szintű nyelveken valósítják meg , néhány magas szintű nyelv, például a Python és a Java natív interfészeket kínál a bitfolyam I / O-hoz.

A kommunikációs protokoll egyik jól ismert példája, amely byte-stream szolgáltatást nyújt ügyfeleinek , az Internet Protocol Suite Transmission Control Protocol (TCP) , amely kétirányú bytream-et biztosít.

Az internetes média típus egy tetszőleges bytestream az application / octet-stream . Egyéb médiatípusok vannak definiálva a bytreamekhez jól ismert formátumokban.

Áramlásszabályozás

Gyakran dinamikusan jön létre egy bytream tartalma, például a billentyűzetről és más perifériákról származó adatok (/ dev / tty), az álvéletlenszám-generátor adatai ( / dev / urandom ) stb.

Ezekben az esetekben, amikor a bytream célállomása (a fogyasztó) a bájtokat gyorsabban használja, mint amennyit elő lehet állítani, a rendszer a folyamat szinkronizálásával arra kényszeríti a rendeltetési helyet, amíg a következő bájt elérhetővé válik.

Ha a bájtok gyorsabban jönnek létre, mint amennyit a cél használhat, akkor számos módszer létezik a helyzet kezelésére:

  • Amikor a gyártó szoftver algoritmus, a rendszer szünetelteti a gyártót ugyanazokkal a folyamatszinkronizálási technikákkal.
  • Amikor a gyártó támogatja az áramlásszabályozást , a rendszer csak akkor küldi a kész jelet, amikor a fogyasztó készen áll a következő bájtra.
  • Ha a gyártót nem lehet szüneteltetni - ez egy billentyűzet vagy valamilyen hardver, amely nem támogatja az áramlásszabályozást -, a rendszer általában megpróbálja ideiglenesen tárolni az adatokat, amíg a fogyasztó készen áll rá, általában egy sor segítségével . Gyakran a vevő kiürítheti a puffert, mielőtt az teljesen megtelne. Az a gyártó, amely továbbra is gyorsabban állít elő adatokat, mint amennyit el lehet fogyasztani, még a puffer megtöltése után is, nem kívánt puffertúlcsorduláshoz , csomagvesztéshez , hálózati torlódáshoz és szolgáltatásmegtagadáshoz vezet .

Lásd még

Hivatkozások