مبحث بافر و بافرینگ
مبحث بافر و بافرینگ
دپارتمان آموزش کامپیوتر – کیش تک؛
بافر و بافرينگ
- سيستم فايل: قسمتي از سيستمعامل كه با فايل در ارتباط است و به دو ناحيه منطقي و فيزيكي تقسيم ميشود:
- بخش منطقي: دستورات كاربر مانند باز و بسته كردن فايل و خواندن و نوشتن فايل را انجام ميدهد.
- بخش فيزيكي: به طور مستقيم به فايلهاي موجود بر روي حافظه جانبي دسترسي دارد. اين بخش درخواستهاي دريافتي از بخش منطقي را جهت ارسال به ديسك تبديل به دستورات مناسبي ميكند.
- سه عمل اصلي در محيط فيزيكي انجام ميشود:
بافر
- ناحيهاي از حافظهي اصلي است كه جهت هماهنگي در عمليات ورودي و خروجي و عمليات CPU به كار ميرود.
- بافر ناحيهاي است كه بتواند حداقل يك بلاك را در خود جاي دهد چون در هر بار عمليات خواندن و نوشتن از ديسك حداقل يك بلاك تبادل ميشود.
- چنانچه فايل را بلاكبندي كرده باشيم معمولاً براي انجام عمليات ورودي و خروجي بر روي فايلها از دو بافر ورودي و خروجي استفاده ميشود.
انواع بافر از نظر محل ايجاد
– سخت افزاري: بافر موجود در دستگاه هاي جانبي مثل :ديسك-پرينتر و….. اين بافرها معمولا قابليت ذخيره سازي حجم زيادي از اطلاعات را دارند. اين نوع بافر با سرعت دستگاه ذخيرهسازي پر شده و پس از آن كه بافر پر شد، محتوي آن به كامپيوتر و از آنجا به بافر نرمافزاري منتقل ميشود.
– نرم افزاري: ناحيهاي كه توسط سيستم عامل در حافظه اصلي ايجاد ميگردد و در اختيار برنامه ها قرار مي گيرد.
بافرها به سه روش ايجاد ميشوند:
نحوه دستيابي سيستم فايل به محتويات بافر
- روش انتقالي يا حالت حركت (move mode)
- روش مكان نمايي يا تعيين محل (locate mode)
روش انتقالي يا حالت حركت (move mode)
- در اين روش برنامه بافر خاص خود را دارد (همان ناحيه كاري كاربر) و به بافر جداگانهاي دسترسي ندارد.
- ركورد از بافر ورودي به ناحيه كاري كاربر دي برنامه منتقل شده و يا از ناحيه كاري كاربر به بافر خروجي منتقل ميشود.
- عمل بلاك بندي و بلاك گشايي در اين روش توسط سيستم عامل صورت ميگيرد.
روش مكان نمايي يا تعيين محل(locate mode)
- در روش مكان نمايي ناحيه كاري خاص كاربر وجود ندارد.
- در اين روش بافر از ناحيهي كاري كاربر (مكاني از حافظه كه برنامه در آن در حال اجرا است) جدا مي باشد.
- در اين روش برنامه به طور مستقيم عمليات نقل و انتقال دادهها را بر روي بافر ورودي/خروجي انجام ميدهد.
- در واقع كاربر از همان بافر به عنوان ناحيه كاري استفاده ميكند.
- در اين روش بلاك بندي و بلاك گشايي توسط برنامه انجام مي پذيرد.
جهت ثبت نام در دوره های کامپیوتر ما اینجا کلیک کنید.
انواع بافرينگ
انواع بافرينگ از نظر تعداد بافرهايي كه به برنامه اختصاص داده ميشود:
- بافرينگ ساده يا استاندارد (Single Buffering)
- بافرينگ مضاعف-دوگانه (Double Buffering)
- بافرينگ چندگانه (Multiple Buffering)
بافرينگ ساده
- يك بافر در اختيار برنامه قرار داده مي شود و در اين حالت در زمانهايي كه بافر در حال پر شدن است نمي توان از محتويات آن استفاده كرد.
- CPU در اين روش ميبايست زمان انتظاري را سپري كند (idle time).
- در سيستم هاي چند برنامهاي،CPU ميتواند در زمان انتظار اجراي ديگر برنامهها را دنبال كند.
بافرينگ مضاعف
- در اين روش، هنگامي كه يك بلاك خوانده شده و به يك بافر منتقل ميشود ميتوان به طور همزمان بافر ديگري را پردازش كرد.
- در پردازش فايل ها به صورت پيدرپي و انبوه، حتما لازم است دو بافر در اختيار داشته باشيم؛ چرا كه در غير اين صورت سرعت و كارايي عمليات پايين خواهد آمد.
- از آنجايي كه در هنگام پر شدن يك بافر ميتوانيم بافر ديگر را مورد استفاده قرار دهيم ميبايست زماني كه CPU براي پردازش يك بافر صرف ميكند كمتر از زمان پر شدن بافر ديگر باشد.
بافرينگ چندگانه
- در پردازش انبوه فايلها، سيستم فايل با استفاده از بافرينگ چندگانه ميتواند ركوردهاي فايل را از قبل خوانده و در بافر قرار دهد.
- اين امر بدين معني است كه در هر لحظه، ركورد بعدي در بافر قرار دارد.
- چنين تكنيكي به صفبندي موسوم است.
بافر و بافرينگ (جمع بندی)
- بافرينگ به منظور ايجاد هماهنگي بين پردازشگر مركزي و پردازشگر ورودي/خروجي است.
- در بافرينگ مضاعف، همروندي بين عمليات دو بخش ذكر شده امكانپذير ميشود اما گاهي ممكن است ميانگين درخواستهاي پردازش بيش از حدي باشد كه پردازشگر بتواند پاسخگو باشد.
- در اين حالت حتي بافرينگ مضاعف نيز ممكن است پاسخگو نباشد، زيرا ممكن است تمام بافرها پر شوند و پردازشگر مركزي مجبور به انتظار باشد.
- اما در محيطهاي چندبرنامهاي (Multi-task) وقتي كه فعاليتهاي گوناگون ورودي و خروجي و پردازشهاي متعدد وجود دارند،بافرينگ ميتواند كارايي سيستم و برنامهها را افزايش دهد.