موضوع مقاله: ماندگاری (علوم رایانه) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ماندگاری (علوم رایانه) | مقدمه: در علوم رایانه، ماندگاری به ویژگی ماندگاری حالت یک سامانه اشاره دارد، یعنی آن حالت، بیشتر از فرایندی که آن را تولید کرده‌است، زنده (ماندگار) می‌ماند. | ## بخش 1: ماندگاری (علوم رایانه) | این موضوع در عمل توسط ذخیره حالت به عنوان داده در انبار داده رایانه به دست می‌آید. برنامه‌های رایانه‌ای باید داده را به دستگاه‌های ذخیره‌سازی منتقل و برگردانند، و همچنین باید یک نگاشت از «ساختمان داده‌های زبان برنامه‌نویسی محلی» به «ساختمان داده‌های دستگاه ذخیره‌سازی» فراهم‌سازی نمایند. مثلاً، پردازشگرهای تصویر یا واژه‌پردازها برای ماندگار کردن از ذخیره‌سازی اسنادشان به فایل‌ها استفاده می‌کنند. ماندگاری متعامد یا ناپیدا یک ماندگاری موقعی «متعامد» یا «ناپیدا» نامیده می‌شود که به صورت یک ویژگی ذاتی «محیط اجرایی یک برنامه» پیاده‌سازی شده باشد. یک محیط ماندگاری متعامد هیچ عملی خاصی را از برنامه‌های اجرا شونده در داخل آن، برای بازیابی یا ذخیره حالت‌شان، درخواست نمی‌کند. در یک ماندگاری غیرمتعامد لازم است که داده توسط دستورالعمل‌های خاص موجود در برنامه، از محل ذخیره‌سازی نوشته یا خوانده شوند، و این منجر به استفاده از فعل «ماندگار کردن» به عنوان یک فعل گذرا می‌شود: «در هنگام اتمام کار، برنامه، داده را ماندگار می‌سازد». مزیت اصلی محیط‌های ماندگاری متعامد، «ساده‌تر بودن» و «خطاپذیری کمتر» آن برنامه‌ها است. پذیرش فناوری از ماندگاری متعاند در سیستم عامل‌ها برای خواب‌کردن و در سامانه‌های مجازی‌سازی بن‌سازه مثل وی‌ام‌ویر و ویرچوال باکس برای ذخیره‌سازی حالت، پذیرفته و استفاده می‌شود. | ## بخش 2: ماندگاری (علوم رایانه) | زبان‌های پیش‌الگوی تحقیقاتی مثل پی‌اس-الگول یا نیپر۸۸، فیبوناچی، و پی‌جاما، با موفقیت «مفهوم» و «مزایای آن مفهوم» را برای برنامه‌نویسان را نشان داده‌اند. خواب‌کردن یک رایانه نوت‌بوک مثالی از ماندگاری متعامد به کمک تصویر سامانه است، زیرا نیازی به انجام هیچ عملی توسط برنامه‌ای که روی ماشین اجرا می‌شود، ندارد. یک مثال از «ماندگاری غیرمتعامد به کمک یک تصویر سامانه»، یک برنامه واژه‌پرداز ساده است، که دستورالعمل‌های خاصی را برای ذخیره سند کامل به یک فایل، اجرا می‌کند. در اینجا، هنگام خرابی یا توقف یا خاموشی سامانه، تغییراتی که پس از ذخیره تصویر نهایی، به سامانه وارد می‌شوند، از دست می‌روند. در بیشتر سامانه‌ها، ذخیره یک تصویر برای هر تغییر منفرد، بسیار زمانبر است، از این رو در سامانه‌های حساس، از تصویرها به عنوان تنها فناوری ماندگاری استفاده نمی‌شوند. وقعه‌نگاری «فرایند ذخیره وقایع در یک گزارش» است، که این کار قبل از اعمال هر کدام از آنها به سامانه انجام می‌شود. در هنگام شروع، این وقعه‌نامه‌ها خوانده می‌شود، و هرکدام به سامانه مجدد اعمال می‌گردد، که این موضوع، موقعی که خرابی یا توقف برای سامانه رخ می‌دهد، جلوی ازدست‌رفتن داده را می‌گیرد. مثلاً اگر تاریخچه همه «Undo/Redo» های دستورات کاربر در یک برنامه پردازش تصویر، در یک فایل نوشته شود، یک وقعه‌نامه را می‌سازد، که توانایی بازیابی حالت یک تصویر ویرایش شده در هر موقعی را دارد. | ## بخش 3: ماندگاری (علوم رایانه) | ایرادها: اگر فقط از ژورنال‌ها استفاده شود، باید همه تاریخچه (بالقوه بزرگ) برای همه وقایع سامانه در هر شروع مجدد سامانه، دوباره اعمال گردند. نوشته‌های آلوده (Dirty writes) در این روش، فقط آن بخش‌های حالت سامانه که که از نوشتن آخر ما تغییر کرده‌اند (آلوده شده‌اند)، در انبار ذخیره‌سازی نوشته می‌شوند؛ مثلاً، برنامه‌های کاربردی ویرایش سند پیچیده، از «نوشتن آلوده» برای ذخیره‌سازی فقط آن بخش‌های سند که از ذخیره نهایی واقعاً تغییر کرده‌اند، استفاده می‌کنند. این موضوع به شیوه‌ای غیرشفاف با درخواست فراخوانی‌های API ذخیره‌سازی خاص انجام می‌شود، یا به صورت ناپیدا توسط تبدیل برنامه خودکار، انجام می‌شود. این موضوع منجر به کدی می‌شود که از کد بومی «کندتر» است و اشکال‌زدایی آن هم پیچیده‌تر است. لایه‌های ماندگاری هر لایه نرم‌افزاری که برای نرم‌افزار، «ماندگاری حالت» را ساده‌سازی می‌کند، معمولاً یک «لایه ماندگاری» نامیده می‌شود. بیشتر لایه‌های ماندگاری به صورت مستقیم ماندگاری را انجام نمی‌دهند، بلکه از یک سامانه مدیریت پایگاه داده مبنایی استفاده می‌کنند. سامانه‌های مدیریت پایگاه داده (DBMSs) DBMSها ترکیبی از روش‌های «نوشتن آلوده» و «وقعه‌نامه تراکنش» که در بالا ذکر شد را استفاده می‌کنند. این سامانه‌ها علاوه بر ماندگاری، خدمت‌های دیگری مثل پرسمان، حسابرسی، یا کنترل دسترسی را فراهم می‌بینند. | ## جمع‌بندی | سیستم‌عامل‌های ماندگار سیستم‌عامل‌های ماندگار نوعی سیستم‌عامل هستند که حتی پس از یک تصادف یا وقفه غیرقابل پیش‌بینی هم ماندگار باقی می‌مانند.