Thursday, January 3, 2013

الفرق بين Buffer و Spooler



كلاهما حل وسيط بين البروسيسور السريع وبين الأجهزة الخارجية البطيئة وكل منهما له طريقته في حل هذه المشكلة حيث إختيار أحدهما يتوقف علي اداء البروسيسور وما نريده منه

Buffer
 ففيها يكون الوسيط عبارة عن RAM حيث عندما نقوم بالكتابة علي الكيبورد لا تتم مقاطعة البروسيسور مع كل حرف ولكن تذهب هذه الحروف إلي جزء من الذاكرة موجود داخل الكيبورد وعندما يكون هناك قدر كافي من البيانات تستحق إهتمام البروسيسور أو غالبا تكون الإستجابة سريعة وشبه لحظية حيث لا يشعر المستخدم بهذا التأخر إلا إذا كانت الآلة التي يعمل عليها بطيئة جدا , يقوم البروسيسور بنقل هذه البيانات إليه وينفذها.
وبالنسبة لوسائل الإخراج غالبا ما تكون هذه الذاكرة في الجهاز الخارجي نفسه مثل الطابعة حيث ينقل البروسيسور الملف المراد طباعته كاملا مرة واحد إلي RAM الموجودة بداخل الطابعة
ولكن هذه الطريقة تتطلب مقاطعة البروسيسور أثناء عمله إذا تخيلنا أن هناك 5 أجهزة إدخال و5 إخراج وكلهم يقومون بعمل interrupt للبروسيسور لتنفيذ مهمة ما...بالتالي هذه الطريقة تعطي المستخدم إستجابة سريعة لتفاعل المستخدم مع الكومبيوتر ولكنها تكون علي حساب العمليات الأخري التي يقوم البروسيسور بتنفيذها
أيضا المشكلة الأخري في هذه الطريقة هي أنه قد يكون حجم الملف المراد تخزينه مؤقتا في RAM أكبر من مساحتها, مما يعني أنه قد يحدث Overflow للبيانات في الميموري أو يقوم البروسيسور بتقسيم الملف الكبير إلي أجزاء ينقلها إلي الBUFFER واحدة بعد أخري.


Spooler 
تستخدم فقط عند إخراج البيانات من البروسيسور -السريع جدا- إلي جهاز إخراج -بطئ جدا مقارنة بالبروسيسور- مثل الطابعة.
وفي هذه الحالة عندما نقوم بإعطاء الكومبيوتر أمر بطباعة ملف فإنه يأخذ هذا الملف ويضعه في ذاكرة تخزينية مؤقتة تكون علي HardDisk ويكمل البروسيسور أعماله التي يقوم بها وعندما يفرغ منها جميعا ليصل إلي مرحلة IDLE -البروسيسور لا يعمل شئ- يذهب البروسيسور إلي الهارد ديسك ليقوم بنقل الملفات الي الطابعة بنفس سرعة الطابعة,
مميزات هذه الطريقة أنها لا تقوم بعمل مقاطعة للبروسيسور كثيرا وبالتالي تعطي أداء أعلي وأيضا لأنها تستخدم الهارد ديسك الذي عادة ما تكون مساحته التخزينية كبيرة جدا فإنها لا تحتاج إلي أي جهد إضافي بتقسيم الملف إلي أجزاء صغيرة تناسب حجم الRAM كما في الBuffer
ولكن العيب الوحيد أن عملية الطباعة قد تكون بطيئة جدا إذا كان البروسيسور مشغول غالبا ولا يكون في وضعية IDLE إلا نادرا.

No comments:

Post a Comment