مخزن البيانات المؤقت أو الذاكرة الوسيطة أو صِوَان[1] (بالإنجليزية: Buffer) في علم الحاسوب هو مكان مؤقت في الذاكرة يتم فيه تخزين البيانات حين تنقَل من مكان إلى آخر.[2] كما ويتعلق تركيبه حسب الوظيفة التي يشغلها. عادة البيانات تخزن قي مخزن البيانات المؤقت بالشكل الذي تأتى منه كأيّ وحدة إدخال مثال (لوحة المفاتيح) أو قبل أن ترسل إلى أي وحدة إخراج مثال (الطابعة).[3] غير أنه يمكن أستخدامها أثناء نقل البيانات بين العمليات التي تجرى داخل الحاسوب. هذا مشابه للمخازن المؤقتة في الاتصالات. يمكن تنفيذ المخازن المؤقتة في موقع ذاكرة ثابت في الأجهزة (العتاد الصلب) - أو باستخدام مخزن مؤقت للبيانات الافتراضية في البرمجية (العتاد الناعم)، مع الإشارة إلى موقع في الذاكرة الفعلية (الفيزيائية). في جميع الحالات، تُخزّن البيانات في مخزن البيانات المؤقت على وسيط تخزين فعلي (فيزيائي). يتم تنفيذ غالبية المخازن المؤقتة في البرمجية، والتي تستخدم عادةً ذاكرة الوصول العشوائي الأسرع لتخزين البيانات المؤقتة، نظرًا إلى أنه وقت الوصول أسرع بكثير إذا ما تمت لمقارنة ذلك بمحركات الأقراص الصلبة. تُستخدم المخازن المؤقتة عادةً عندما يكون هناك اختلاف بين معدل تلقي البيانات والمعدل الذي يمكن معالجته به، أو في حالة أن هذه المعدلات متغيرة، على سبيل المثال في التخزين المؤقت للطابعة أو في تدفق الفيديو عبر الإنترنت.[4] في بيئة الحوسبة الموزعة، غالبًا ما يتم تنفيذ المخزن المؤقت للبيانات في شكل مخزن مؤقت للاندفاع (التدفق) يوفر خدمة التخزين المؤقت الموزعة.
غالبًا ما يضبط المخزن المؤقت التوقيت من خلال تنفيذ خوارزمية قائمة الانتظار (أو FIFO) في الذاكرة، وكتابة البيانات في قائمة الانتظار تزامنياً بمعدل واحد وقراءتها بمعدل آخر.[5]
روتين التخزين المؤقت أو وسيط التخزين المستخدم في الاتصالات يعوض عن اختلاف في معدل تدفق البيانات، أو وقت ظهور الأحداث البرمجية، عند نقل البيانات من جهاز إلى آخر.
تستخدم المخازن المؤقتة لأغراض عديدة، بما في ذلك:
أول ذكر لمخزن مؤقت للطباعة هو المخطاط الخارجي "Outscriber" الذي ابتكره رائد معالجة الصور روسيل.أ كيرش لحاسوب أس إي ايه سي SEAC في عام 1952[2] واحدة من أهم المشاكل في تصميم أجهزة الحاسوب الرقمية الأوتوماتيكية هي إخراج النتائج المحسوبة من الجهاز بسرعة كافية لتجنب تأخير الإضافي للعملية الحساب. في العديد من المشاكل التي يتم تطبيقها على حاسوب الأغراض العامة، تكون كمية بيانات المخرجات كبيرة نسبيًا - لذا عدم الكفاءة يعتبر شيء مهم جداً والذي ينتج عن إجبار الحاسوب على انتظار كتابة هذه البيانات على أجهزة الطباعة الموجودة. تم حل هذه المشكلة في أس إي ايه سي من خلال توفير أجهزة تسجيل مغناطيسية كوحدات إخراج. هذه الأجهزة قادرة على تلقي معلومات من الجهاز بمعدلات تصل إلى 100 مرة أسرع من الآلة الكاتبة الكهربائية. وبالتالي، يتم تحقيق كفاءة أفضل في تسجيل بيانات الإخراج؛ ومن ثم يمكن إجراء النسخ لاحقًا من جهاز التسجيل المغناطيسي إلى جهاز الطباعة دون ربط الكمبيوتر الرئيسي.
في لغة برمجة جافا يمكن استخدام مكتبة جافا للإدخال والاخراج java.io
والتي تتضمن أصناف ادخال التدفق للتخزين المؤقت BufferedInputStream
[6] وأصناف الإخراج للتخزين المؤقت BufferedOutputStream
[7] والتي يمكن استخدامها للتحكم والاستفادة من مخزن البيانات المؤقت [8] على سبيل المثال الكود التالي:
input= new BufferedReader(new FileReader("ملف للقراءة منه.txt"));
output = new BufferedWriter(new FileWriter("ملف للكتابة واخراج النتائج.txt"));
{{استشهاد بدورية محكمة}}
: تحقق من التاريخ في: |تاريخ الوصول=
(مساعدة)