تخفیف نوروزی پی استور
هزینه سفارش:
۹۹,۰۰۰ تومان
در این بخش به الگوریتم جایگزینی صفحه FIFO در سی پلاس پلاس ++C پرداخته میشود. جایگزینی صفحه یا Page Replacement در سیستمعاملی که از تکنیک صفحهبندی برای مدیریت حافظه مجازی استفاده میکند، الگوریتمهای جایگزینی صفحه تصمیم میگیرند که کدام صفحه باید از حافظه اصلی خارج شده و در دیسک نوشته شود تا فضا برای اختصاص دادن صفحه جدید مهیا شود.
الگوریتم جایگزینی صفحه FIFO که مخفف First Input First Output میباشد یکی از سادهترین الگوریتم های جایگزینی صفحه است. این الگوریتم با نام FCFS نیز شناخته میشود. صفحهبندی وقتی انجام میشود که یک خطای نقص صفحه یا Page fault اتفاق افتاده و صفحه خواسته شده را نتوان اختصاص داد. در ادامه به توضیح این الگوریتم پرداخته میشود.
قبل از کد نویسی الگوریتم جایگزینی صفحه FIFO در سی پلاس پلاس ++C بایستی از کلیات مبحث الگوریتم های جایگزینی صفحه اطلاعاتی را داشته باشید. همانطور که قبلاً هم بیان شد صفحهبندی وقتی انجام میشود که یک خطای نقص صفحه اتفاق افتاده و صفحه خواسته شده را نتوان اختصاص داد، یا به این دلیل که هیچ صفحه خالی در حافظه نیست یا به این دلیل که تعداد صفحات خالی کمتر از حد آستانه است.
(در بعضی از سیستمها همواره تعدادی صفحه خالی در حافظه نگهداری میشود تا نیاز کمتری به فراخوانی الگوریتم جایگزینی صفحه باشد) در این حالت برای آوردن صفحه جدید به حافظه، مجبور هستیم صفحاتی را از حافظه خارج کرده و در دیسک بنویسیم تا فضای کافی برای اختصاص صفحه جدید فراهم شود.
مراحل انجام این کار بدین صورت است که صفحهای که برای جایگزینی انتخاب شده از حافظه اصلی خارج شده و در دیسک نوشته میشود. سپس صفحه خواسته شده توسط برنامه از دیسک برداشته شده و در مکان صفحه قبلی نوشته میشود. ممکن است صفحهای که برای جایگزینی انتخاب شده مجدداً توسط برنامه مورد ارجاع قرار گیرد و نیاز باشد تا صفحه بار دیگر از دیسک به حافظه آورده شود.
آوردن یک صفحه از دیسک عملی به مراتب زمانبر است چرا که سرعت دیسک از سرعت حافظه اصلی کمتر است. بنابراین الگوریتمی از همه بهتر است که عمل ورودی/خروجی در آن اندک باشد.
الگوریتم FIFO یا همان FCFS سادهترین الگوریتم صفحهبندی است. در این الگوریتم صفحهای از حافظه خارج میشود که از همه زودتر وارد حافظه شده باشد. به عبارت دیگر، صفحهای که از همه قدیمیتر باشد از حافظه خارج میشود تا فضا برای صفحه جدید مهیا شود. منطق این روش آن است که صفحهای که زودتر از همه به حافظه آورده شده، احتمالاً برنامه کار خود را با آن به اتمام رسانده و در آینده دیگر به آن احتیاج نیست.
این الگوریتم ساده است و سربار کمی به سیستمعامل تحمیل میکند. این الگوریتم دارای مشکل ناهنجاری بلیدی است و خیلی کم از آن استفاده میشود. الگوریتم FIFO توسط یک صف پیادهسازی میشود. هر صفحهای که در جلوی صف قرار گرفته باشد، با صفحه جدید جایگزین میشود. شکل زیر یک مثال از این الگوریتم است.
الگوریتم جایگزینی صفحه FIFO در سی پلاس پلاس ++C در Microsoft Visual ++C شده است این سورس کد در واقع یک برنامه کنسولی است. در این سورس کد نحوه انجام الگوریتم FIFO برای جایگزنی مناسب نشان داده شده است در ادامه تصویر خروجی این اثر قابل مشاهده است.
برنامه الگوریتم جایگزینی صفحه FIFO در سی پلاس پلاس ++C اثری است که در این پست به آن پرداخته شده است. این اثر در محیط ++Dev-C نوشته شده است. این سورس کد بصورت کامل توسط گروه پشتیبانی پی استور تست و بازبینی شده و دارای کامنت گذاری برای هر دستور میباشد. این اثر دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری کنید.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | الگوریتم جایگزینی صفحه FIFO در سی پلاس پلاس ++C |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | سی پلاس پلاس ++C |
ویژگی: | دارای قابلیت دانلود و ویرایش |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۹۹,۰۰۰ تومان
نظرات
نیما اصغری
از توضیحات داده شده خیلی استفاده کردم مچکر.
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.