بث البت

سلسلة البتات (أو سلسلة البتات )، والمعروفة أيضًا باسم التسلسل الثنائي ، هي سلسلة من البتات .

سلسلة البايتات هي تسلسل من البايتات . عادةً، كل بايت عبارة عن قيمة مكونة من 8 بتات ، ولذلك يُستخدم مصطلح سلسلة الأوكتيتات أحيانًا بشكل متبادل. يمكن ترميز الأوكتيت كسلسلة من 8 بتات بطرق مختلفة (انظر ترقيم البتات )، لذا لا توجد ترجمة مباشرة وفريدة بين سلاسل البايتات وسلاسل البتات.

تُستخدم تدفقات البتات وتدفقات البايتات على نطاق واسع في الاتصالات السلكية واللاسلكية والحوسبة . على سبيل المثال، يتم نقل تدفقات البتات المتزامنة بواسطة SONET ، بينما ينقل بروتوكول التحكم في الإرسال تدفق البايتات غير المتزامن .

العلاقة بتدفقات البايت

من الناحية العملية، لا يتم استخدام تدفقات البتات مباشرة لترميز تدفقات البايتات؛ فقد تستخدم قناة الاتصال طريقة إشارة لا تترجم مباشرة إلى بتات (على سبيل المثال، عن طريق إرسال إشارات بترددات متعددة) وعادة ما تقوم أيضًا بترميز معلومات أخرى مثل التأطير وتصحيح الأخطاء مع بياناتها.

أمثلة

يُستخدم مصطلح "تدفق البتات" بشكل شائع لوصف بيانات التكوين المراد تحميلها في مصفوفة البوابات المنطقية القابلة للبرمجة (FPGA). مع أن معظم مصفوفات البوابات المنطقية القابلة للبرمجة تدعم أيضًا طريقة التحميل المتوازي للبايتات، إلا أن هذا الاستخدام قد يكون نشأ استنادًا إلى الطريقة الشائعة لتكوين مصفوفة البوابات المنطقية القابلة للبرمجة من تدفق بتات تسلسلي، عادةً من شريحة ذاكرة PROM تسلسلية أو شريحة ذاكرة فلاش . ويكون التنسيق التفصيلي لتدفق البتات لمصفوفة بوابات منطقية قابلة للبرمجة معينة عادةً خاصًا بمورّد مصفوفة البوابات المنطقية القابلة للبرمجة.

في الرياضيات، تمت دراسة العديد من التسلسلات اللانهائية المحددة من البتات لخصائصها الرياضية؛ وتشمل هذه التسلسلات تسلسل باوم-سويت ، وتسلسل إهرنفويشت-ميسيلسكي ، وكلمة فيبوناتشي ، وتسلسل كولاكوسكي ، وتسلسل طي الورق المنتظم ، وتسلسل رودين-شابيرو ، وتسلسل ثو-مورس .

في معظم أنظمة التشغيل ، بما في ذلك أنظمة يونكس وويندوز ، تحوّل مكتبات الإدخال/الإخراج القياسية الوصول إلى الملفات المُقسّمة إلى صفحات أو مُخزّنة مؤقتًا على مستوى أدنى إلى نموذج تدفق البايتات. على وجه الخصوص، في أنظمة التشغيل الشبيهة بيونكس، تحتوي كل عملية على ثلاثة تدفقات قياسية ، وهي أمثلة على تدفقات البايتات أحادية الاتجاه. توفر آلية الأنابيب في يونكس اتصالات تدفق البايتات بين العمليات المختلفة.

تُكتب خوارزميات الضغط عادةً باستخدام تدفقات البتات، لأن البتات الثمانية التي يوفرها البايت (أصغر وحدة ذاكرة قابلة للعنونة) قد تكون غير مُستغلة. على الرغم من أنها تُنفذ عادةً بلغات منخفضة المستوى ، إلا أن بعض اللغات عالية المستوى مثل بايثون [ 1 ] وجافا [ 2 ] توفر واجهات أصلية لإدخال وإخراج تدفقات البتات.

ومن الأمثلة المعروفة لبروتوكول الاتصال الذي يوفر خدمة تدفق البايت لعملائه بروتوكول التحكم في الإرسال (TCP) لمجموعة بروتوكولات الإنترنت ، والذي يوفر تدفق بايت ثنائي الاتجاه.

نوع الوسائط على الإنترنت لتدفق البايتات العشوائي هو application/octet-stream . أما أنواع الوسائط الأخرى فهي مُعرّفة لتدفقات البايتات بتنسيقات معروفة.

التحكم في التدفق

في كثير من الأحيان، يتم إنشاء محتويات دفق البايت بشكل ديناميكي، مثل البيانات من لوحة المفاتيح والأجهزة الطرفية الأخرى (/dev/tty)، والبيانات من مولد الأرقام العشوائية الزائفة ( /dev/urandom )، وما إلى ذلك.

في تلك الحالات، عندما يستخدم وجهة تدفق البايتات (المستهلك) البايتات بشكل أسرع من إمكانية توليدها، يستخدم النظام مزامنة العمليات لجعل الوجهة تنتظر حتى يصبح البايت التالي متاحًا.

عندما يتم توليد البايتات بسرعة تفوق قدرة الوجهة على استخدامها، وكان المُنتِج عبارة عن خوارزمية برمجية، يقوم النظام بإيقافه مؤقتًا باستخدام تقنيات مزامنة العمليات نفسها. عندما يدعم المُنتِج التحكم في التدفق ، لا يرسل النظام إشارة الجاهزية إلا عندما يكون المُستهلِك جاهزًا للبايت التالي. أما عندما يتعذر إيقاف المُنتِج مؤقتًا - كلوحة مفاتيح أو أي جهاز لا يدعم التحكم في التدفق - يحاول النظام عادةً تخزين البيانات مؤقتًا حتى يصبح المُستهلِك جاهزًا لها، وذلك باستخدام قائمة انتظار في الغالب . غالبًا ما يستطيع المُستهلِك إفراغ المخزن المؤقت قبل امتلائه تمامًا. يؤدي استمرار المُنتِج في إنتاج البيانات بسرعة تفوق استهلاكها، حتى بعد امتلاء المخزن المؤقت، إلى تجاوز سعة المخزن المؤقت غير المرغوب فيه ، وفقدان الحزم ، وازدحام الشبكة ، وحجب الخدمة .

انظر أيضاً

مراجع

  1. "Bitstream" . مؤسسة برمجيات بايثون. مؤرشف من الأصل بتاريخ 2016-09-08.
  2. "فئة BitSet" . أوراكل. مؤرشف من الأصل بتاريخ 30-11-2016.