خواندن اطلاعات از دیسک سخت (به طور معمول هارد دیسک) از حافظه رم کندتره و بنابر احتمال دسترسی به بخشی که تازه مورد دسترسی بوده بسیار بیشتر. پس سیستم عامل سعی می کنه بلاکی که به تازگی مورد دسترسی قرار گرفته در دیسک سخت رو در حافظه رم کش کنه. اسم این کار و به فضایی که در رم میگیره می گند. چون فضای بافرکش رو نمیشه خیلی زیاد در نظر گرفت، باید قسمت هایی که جدید بهشون دسترسی نداشتیم رو حذف کنیم و در اختیار بلاک های جدید بگذاریم. تا اینجا ما فقط قصد داشتیم از فضای بافر کش بخونیم، ولی ممکنه روی اون بنویسم. موقعی که دستور write کردن روی فضای هارد به سیستم عامل داده میشه، ممکنه از نظر کاربر این نوشتن انجام شده باشه، ولی واقعا چیزی روی دیسک سخت نوشته نشده باشه. این به معنی اینکه سیستم عامل تصمیم گرفته برای بهبود کارایی روی فضای بافر کش در رم تغییرات رو انجام بده و بعدا بصورت یکجا برای نوشتن به سراغ دیسک سخت بره. وقتی اطلاعات روی بافرکش و دیسک سخت (هارد) یکی نباشند، به بافر کش، می گند. به این روش می گند. البته ممکن بصورت همزمان هم تغییرات روی هارد نوشته شه، که بهش می گند که کارایی کمتر داره، ولی در صورت وجود خطا (مثلا قطع برق، خاموش کردن سیستم بدون سیستم عامل و . اطلاعاتی که ذخیره کردیم نابود نمی شند. با استفاده از free میشه حافظه بافرکش مورد استفاده و آزاد رو دید. sync باعث نوشتن بافرکش ها روی دیسک سخت میشه، در unix هر ثانیه sync اجرا میشد که بعضی وقت ها به دلیل حجم زیاد write دیسک رو کند می کرده، در لینوکس از bdflush استفاده می شه که فرکانس صدا زدنش سریعتره. از Vmtouch هم میشه برای کنترل و مشاهده بافرکش استفاده کرد، ولی بصورت پیش فرض نصب نیست و باید خودتون make کنید. البته تعداد آرگومان های زیادی رو به عنوان ورودی میگیره که من خیلی در خوندنش دقیق نشدم. برای سیگنال دادن به کرنل در مورد سیاست هاش در کار با بافرکش باید در فایل نوشتن. سیگنال : نوشتن صفحات کش شده و آزاد کردن حافظه بافر کش سیگنال : نوشتن inode های کش شده و آزاد کردن حافظه بافر کش سیگنال : نوشتن صفحات کش شده + نوشتن inode های کش شده و آزاد کردن حافظه بافر کش یک daemon سطح کرنله که مکرر sync و flush رو صدا می زنه. برای هر صفحه در حافظه بافر کش یک بیت به اسم وجود داره که با اولین نوشتن روی اون صفحه در بافر کش این بیت میشه. بعد از گذشتن عمر یک صفحه اون رو می نویسه، یعنی مدتی که بعد از گذشتن ثانیه از شدن بیت کثیف برای صفحه داده ها و گذشت ثانیه از شدن بیت کثیف برای صفحه فراداده ها ( meta data )اعداد پیش فرض سیستم هستند و میشه تغییرشون داد. البته یک daemon دیگه هم از bdflush وجود داره که بعد از رسیدن به حد آستانه شروع به نوشتن صفحات در دیسک می کنه. باز هم بصورت پیش فرض % از فضای بافرکش. و البته کل فضای بافرکش بصورت پویا توسط سیستم عامل و با توجه به فضایی مورد نیاز بقیه برنامه های در حال اجرا تعیین میشه.