صوان (حوسبة)

**الصِوَان**   في علم الحاسوب هو مكان مؤقت في الذاكرة يتم فيه تخزين البيانات حين تنقَل من مكان إلى آخر. كما ويتعلق تركيبه حسب الوظيفة التي يشغلها. عادة البيانات تخزن قي **مخزن ال[[بيانات]] المؤقت** بالشكل الذي تأتى منه كأيّ وحدة إدخال مثال (لوحة المفاتيح) أو قبل أن ترسل إلى أي وحدة إخراج مثال (الطابعة). غير أنه يمكن أستخدامها أثناء نقل البيانات بين العمليات التي تجرى داخل الحاسوب. هذا مشابه للمخازن المؤقتة في الاتصالات. يمكن تنفيذ المخازن المؤقتة في موقع ذاكرة ثابت في الأجهزة (العتاد الصلب) - أو باستخدام مخزن مؤقت للبيانات الافتراضية في البرمجية (العتاد الناعم)، مع الإشارة إلى موقع في الذاكرة الفعلية (الفيزيائية). في جميع الحالات، تُخزّن البيانات في مخزن البيانات المؤقت على وسيط تخزين فعلي (فيزيائي). يتم تنفيذ غالبية المخازن المؤقتة في البرمجية، والتي تستخدم عادةً ذاكرة الوصول العشوائي الأسرع لتخزين البيانات المؤقتة، نظرًا إلى أنه وقت الوصول أسرع بكثير إذا ما تمت لمقارنة ذلك بمحركات الأقراص الصلبة. تُستخدم المخازن المؤقتة عادةً عندما يكون هناك اختلاف بين معدل تلقي البيانات والمعدل الذي يمكن معالجته به، أو في حالة أن هذه المعدلات متغيرة، على سبيل المثال في التخزين المؤقت للطابعة أو في تدفق الفيديو عبر الإنترنت. في بيئة الحوسبة الموزعة، غالبًا ما يتم تنفيذ المخزن المؤقت للبيانات في شكل مخزن مؤقت للاندفاع (التدفق) يوفر خدمة التخزين المؤقت الموزعة.

غالبًا ما يضبط المخزن المؤقت التوقيت من خلال تنفيذ خوارزمية قائمة الانتظار (أو FIFO) في الذاكرة، وكتابة البيانات في قائمة الانتظار تزامنياً بمعدل واحد وقراءتها بمعدل آخر.
## مخزن البيانات المؤقت في الاتصالات
روتين التخزين المؤقت أو وسيط التخزين المستخدم في الاتصالات يعوض عن اختلاف في معدل تدفق البيانات، أو وقت ظهور الأحداث البرمجية، عند نقل البيانات من جهاز إلى آخر.

تستخدم المخازن المؤقتة لأغراض عديدة، بما في ذلك:
* ربط بين دائرتين رقميتين تعملان بمعدلات مختلفة
* الاحتفاظ بالبيانات لاستخدامها لاحقًا
* السماح بإجراء تصحيحات التوقيت على دفق البيانات
* جمع بتات البيانات الثنائية في مجموعات يمكن تشغيلها بعد ذلك كوحدة
* تأخير وقت عبور الإشارة للسماح بحدوث عمليات أخرى.
## أمثلة
* الأمر أو عبارة BUFFERS في CONFIG.SYS الخاص بنظام تشغيل داس Dos.
* المخزن المؤقت بين منفذ تسلسلي (UART) والمودم. سرعة منفذ COM قد تكون 38400 بت / ثانية، بينما قد يكون لدى المودم ناقل 14400 بت / ثانية فقط.
* المخزن المؤقت المدمج على محرك الأقراص الثابتة أو الطابعة أو أي جزء آخر من الأجهزة.
* مخزن الاطارات Framebuffer على بطاقة الفيديو.
## تاريخ
أول ذكر لمخزن مؤقت للطباعة هو المخطاط الخارجي "Outscriber" الذي ابتكره رائد معالجة الصور روسيل.أ كيرش لحاسوب أس إي ايه سي SEAC في عام 1952 واحدة من أهم المشاكل في تصميم أجهزة الحاسوب الرقمية الأوتوماتيكية هي إخراج النتائج المحسوبة من الجهاز بسرعة كافية لتجنب تأخير الإضافي للعملية الحساب. في العديد من المشاكل التي يتم تطبيقها على حاسوب الأغراض العامة، تكون كمية بيانات المخرجات كبيرة نسبيًا - لذا عدم الكفاءة يعتبر شيء مهم جداً والذي ينتج عن إجبار الحاسوب على انتظار كتابة هذه البيانات على أجهزة الطباعة الموجودة. تم حل هذه المشكلة في *أس إي ايه سي* من خلال توفير أجهزة تسجيل مغناطيسية كوحدات إخراج. هذه الأجهزة قادرة على تلقي معلومات من الجهاز بمعدلات تصل إلى 100 مرة أسرع من الآلة الكاتبة الكهربائية. وبالتالي، يتم تحقيق كفاءة أفضل في تسجيل بيانات الإخراج؛ ومن ثم يمكن إجراء النسخ لاحقًا من جهاز التسجيل المغناطيسي إلى جهاز الطباعة دون ربط الكمبيوتر الرئيسي.

## لغات برمجة

### جافا
في لغة برمجة جافا يمكن استخدام مكتبة جافا للإدخال والاخراج `java.io` والتي تتضمن أصناف ادخال التدفق للتخزين المؤقت `BufferedInputStream`  وأصناف الإخراج للتخزين المؤقت `BufferedOutputStream` والتي يمكن استخدامها للتحكم والاستفادة من مخزن البيانات المؤقت  على سبيل المثال الكود التالي:

```java
input= new BufferedReader(new FileReader("ملف للقراءة منه.txt"));
output = new BufferedWriter(new FileWriter("ملف للكتابة واخراج النتائج.txt"));
```


## مراجع

تصنيف:إدارة البيانات
تصنيف:تزامن
تصنيف:ذاكرة الحاسوب
تصنيف:علم الحاسوب