صورة النظام

في مجال الحوسبة ، صورة النظام هي نسخة متسلسلة من الحالة الكاملة لنظام الكمبيوتر مخزنة في شكل غير متطاير ، مثل ملف ثنائي مضغوط .

إذا كان النظام يحتفظ بكامل بياناته على قرص (أي على صورة قرص )، فيمكن إنشاء صورة النظام بنسخ القرص إلى ملف في مكان آخر، غالبًا باستخدام تطبيقات استنساخ الأقراص . في العديد من الأنظمة، مثل بعض الأجهزة المدمجة والعديد من الهواتف، لا يمكن إنشاء صورة نظام كاملة بواسطة برنامج استنساخ أقراص يعمل داخل النظام نفسه، لأن المعلومات قد تكون مخزنة خارج الأقراص والذاكرة المتطايرة، على سبيل المثال في ذاكرة غير متطايرة، مثل ذاكرة القراءة فقط للتمهيد ، أو أن برنامج استنساخ الأقراص لا يملك عادةً مثل هذه الصلاحيات.

يُقال إن النظام قادر على استخدام صور النظام إذا أمكن إيقاف تشغيله ثم استعادته لاحقًا إلى نفس الحالة تمامًا. في مثل هذه الحالات، يمكن استخدام صور النظام كنسخة احتياطية .

يُعد وضع الإسبات مثالاً على استخدام صورة لذاكرة الوصول العشوائي (RAM) الكاملة للكمبيوتر .

معالجة الصور

صورة العملية هي نسخة من حالة عملية معينة في لحظة زمنية محددة. تُستخدم غالبًا لإنشاء استمرارية في نظام متقلب. ومن الأمثلة الشائعة على ذلك نظام إدارة قواعد البيانات (DBMS). تستطيع معظم أنظمة إدارة قواعد البيانات تخزين حالة قاعدة البيانات أو قواعد البيانات في ملف قبل إغلاقها (انظر: تفريغ قاعدة البيانات ). يمكن بعد ذلك إعادة تشغيل نظام إدارة قواعد البيانات لاحقًا مع بقاء المعلومات في قاعدة البيانات سليمة، ويستمر البرنامج في العمل كما لو لم يتوقف أبدًا. مثال آخر هو ميزة الإسبات في العديد من أنظمة التشغيل. في هذه الحالة، تُخزن حالة جميع بيانات ذاكرة الوصول العشوائي (RAM) على القرص، ويدخل الحاسوب في وضع توفير الطاقة، ثم يُعاد تشغيله لاحقًا إلى وضعه الطبيعي.

توفر بعض برامج المحاكاة إمكانية حفظ صورة للنظام الذي تتم محاكاته. في ألعاب الفيديو، يُشار إلى هذا غالبًا باسم " حفظ الحالة" .

ومن الاستخدامات الأخرى نقل التعليمات البرمجية : يمكن للوكيل المتنقل أن ينتقل بين الأجهزة عن طريق حفظ حالته، ثم نسخ البيانات إلى جهاز آخر وإعادة تشغيله هناك.

دعم لغات البرمجة

تُتيح بعض لغات البرمجة أمرًا لإنشاء صورة نظام للبرنامج. تُعد هذه ميزة قياسية في لغات مثل Smalltalk (المستوحاة من FLEX ) و Lisp ، وغيرها. يختلف تطوير البرامج في هذه اللغات اختلافًا كبيرًا عن العديد من لغات البرمجة الأخرى. على سبيل المثال، في Lisp، يُمكن للمبرمج تحميل الحزم أو أي شفرة برمجية أخرى إلى تطبيق Lisp قيد التشغيل باستخدام حلقة القراءة والتقييم والطباعة ، والتي عادةً ما تُجمّع البرامج. تُحمّل البيانات إلى نظام Lisp قيد التشغيل. بعد ذلك، يُمكن للمبرمج إنشاء صورة نظام تحتوي على تلك الشفرة المُجمّعة مسبقًا، وربما المُخصصة، بالإضافة إلى جميع بيانات التطبيق المُحمّلة. غالبًا ما تكون هذه الصورة ملفًا تنفيذيًا، ويمكن تشغيلها على أجهزة أخرى. يُمكن أن تكون صورة النظام هذه هي الصيغة التي تُوزّع بها البرامج التنفيذية - وقد استُخدمت هذه الطريقة كثيرًا من قِبل برامج (مثل TeX و Emacs ) مُنفذة في الغالب بلغات Lisp أو Smalltalk أو لغات خاصة لتجنب إضاعة الوقت في تكرار عملية التهيئة نفسها في كل مرة تبدأ فيها.

وبالمثل، كانت أجهزة Lisp تُشغَّل من صور Lisp تُسمى "عوالم". يحتوي العالم على نظام التشغيل الكامل وتطبيقاته وبياناته في ملف واحد. وكان من الممكن أيضًا حفظ عوالم متزايدة، تحتوي فقط على التغييرات من عالم أساسي. قبل حفظ العالم، كان بإمكان نظام تشغيل جهاز Lisp تحسين محتويات الذاكرة (تخطيط أفضل للذاكرة، وضغط هياكل البيانات، وفرز البيانات، ...).

على الرغم من اختلاف الغرض منها، فإن "صورة النظام" غالباً ما تكون متشابهة في بنيتها مع ملف تفريغ الذاكرة الأساسية .

انظر أيضاً