दृढ़ता (कंप्यूटर विज्ञान)

कंप्यूटर विज्ञान में, दृढ़ता एक प्रणाली के राज्य (कंप्यूटर विज्ञान) की विशेषता को संदर्भित करती है जो इसे बनाने वाली प्रक्रिया (कंप्यूटिंग) से अधिक जीवित रहती है (अधिक बनी रहती है)। यह कंप्यूटर डेटा भंडारण में डेटा के रूप में राज्य को स्टोर करके व्यवहार में प्राप्त किया जाता है। प्रोग्राम्स को डेटा को स्टोरेज डिवाइसेस से ट्रांसफर करना होता है और नेटिव प्रोग्रामिंग भाषा  | प्रोग्रामिंग-लैंग्वेज डेटा संरचना से स्टोरेज डिवाइस डेटा स्ट्रक्चर्स तक मैपिंग उपलब्ध कराना होता है। चित्र संपादन प्रोग्राम या शब्द संसाधक, उदाहरण के लिए, अपने दस्तावेज़ों को कम्प्यूटर फाइल में सहेज कर राज्य (कंप्यूटर विज्ञान) दृढ़ता प्राप्त करें।

ऑर्थोगोनल या पारदर्शी दृढ़ता
दृढ़ता को ऑर्थोगोनलिटी # कंप्यूटर विज्ञान या पारदर्शी कहा जाता है जब इसे किसी कार्यक्रम के निष्पादन वातावरण की आंतरिक संपत्ति के रूप में लागू किया जाता है। एक ऑर्थोगोनल दृढ़ता पर्यावरण को अपने राज्य (कंप्यूटर विज्ञान) को पुनः प्राप्त करने या बचाने के लिए इसमें चल रहे कार्यक्रमों द्वारा किसी विशिष्ट क्रिया की आवश्यकता नहीं होती है।

गैर-ऑर्थोगोनल दृढ़ता के लिए एक प्रोग्राम में विशिष्ट निर्देशों का उपयोग करके भंडारण से और पढ़ने के लिए डेटा की आवश्यकता होती है, जिसके परिणामस्वरूप सकर्मक क्रिया के रूप में बने रहना: पूरा होने पर, प्रोग्राम डेटा को बनाए रखता है।

ऑर्थोगोनल दृढ़ता वातावरण का लाभ सरल और कम त्रुटि-प्रवण कार्यक्रम है।

लगातार शब्द पहली बार एटकिंसन और मॉरिसन द्वारा पेश किया गया था ऑर्थोगोनल दृढ़ता के अर्थ में: उन्होंने डेटा की संपत्ति के रूप में दृढ़ता पर जोर देने के लिए एक क्रिया के बजाय एक विशेषण का उपयोग किया, जो एक प्रोग्राम द्वारा की गई अनिवार्य क्रिया से अलग है। सकर्मक क्रिया का उपयोग जारी रहता है (एक कार्यक्रम द्वारा की गई क्रिया का वर्णन करना) एक बैक-फॉर्मेशन है।

दत्तक ग्रहण
हाइबरनेशन (कंप्यूटिंग) के लिए ऑपरेटिंग सिस्टम और स्टेट सेविंग के लिए VMware  और  VirtualBox  जैसे मंच वर्चुअलाइजेशन सिस्टम में ऑर्थोगोनल दृढ़ता को व्यापक रूप से अपनाया जाता है।

PS-algol, Napier88, Fibonacci और pJama जैसी अनुसंधान प्रोटोटाइप भाषाओं ने प्रोग्रामरों के लाभों के साथ अवधारणाओं का सफलतापूर्वक प्रदर्शन किया।

सिस्टम इमेज
सिस्टम छवियों का उपयोग करना सबसे सरल दृढ़ता रणनीति है। नोटबुक हाइबरनेट (OS सुविधा) एक सिस्टम छवि का उपयोग करते हुए ऑर्थोगोनल हठ का एक उदाहरण है क्योंकि इसे मशीन पर चल रहे प्रोग्रामों द्वारा किसी भी क्रिया की आवश्यकता नहीं होती है। एक सिस्टम छवि का उपयोग करते हुए गैर-ऑर्थोगोनल हठ का एक उदाहरण एक साधारण पाठ संपादन प्रोग्राम है जो पूरे दस्तावेज़ को फ़ाइल में सहेजने के लिए विशिष्ट निर्देशों को निष्पादित करता है।

कमियां: संपूर्ण सिस्टम स्थिति को होल्ड करने के लिए पर्याप्त RAM की आवश्यकता होती है। सिस्टम की अंतिम छवि सहेजे जाने के बाद सिस्टम में किए गए राज्य परिवर्तन सिस्टम विफलता या शटडाउन के मामले में खो जाते हैं। प्रत्येक बदलाव के लिए एक छवि को सहेजना अधिकांश प्रणालियों के लिए बहुत समय लेने वाला होगा, इसलिए छवियों को महत्वपूर्ण प्रणालियों के लिए एकल दृढ़ता तकनीक के रूप में उपयोग नहीं किया जाता है।

पत्रिकाओं
Using journals is the second simplest persistence technique. Journaling is the process of storing events in a log before each one is applied to a system. Such logs are called journals.

On startup, the journal is read and each event is reapplied to the system, avoiding data loss in the case of system failure or shutdown.

The entire "Undo/Redo" history of user commands in a picture editing program, for example, when written to a file, constitutes a journal capable of recovering the state of an edited picture at any point in time.

पत्रिकाओं are used by journaling file systems, prevalent systems and database management systems where they are also called "transaction logs" or "redo logs".

Shortcomings: When journals are used exclusively, the entire (potentially large) history of all system events must be reapplied on every system startup. As a result, journals are often combined with other persistence techniques.

गंदा लिखता है
यह तकनीक सिस्टम स्थिति के केवल उन हिस्सों के भंडारण के लिए लेखन है जिन्हें उनके अंतिम लेखन के बाद संशोधित किया गया है (गंदे हैं)। परिष्कृत दस्तावेज़ संपादन अनुप्रयोग, उदाहरण के लिए, दस्तावेज़ के केवल उन हिस्सों को सहेजने के लिए गंदे लेखन का उपयोग करेंगे जो वास्तव में अंतिम सहेजे जाने के बाद बदले गए थे।

कमियां: इस तकनीक के लिए एक कार्यक्रम के भीतर राज्य परिवर्तनों को बाधित करने की आवश्यकता होती है। यह गैर-पारदर्शी तरीके से विशिष्ट स्टोरेज-एपीआई कॉल की आवश्यकता के द्वारा या स्वचालित प्रोग्राम परिवर्तन के साथ पारदर्शी तरीके से प्राप्त किया जाता है। इसका परिणाम कोड में होता है जो मूल कोड से धीमा होता है और डीबग करने के लिए अधिक जटिल होता है।

हठ परतें
कोई भी परत (ऑब्जेक्ट-ओरिएंटेड डिज़ाइन) जो किसी प्रोग्राम के लिए अपनी स्थिति को बनाए रखना आसान बनाती है, उसे सामान्य रूप से एक दृढ़ता परत कहा जाता है। अधिकांश दृढ़ता परतें सीधे दृढ़ता प्राप्त नहीं करेंगी लेकिन एक अंतर्निहित डेटाबेस प्रबंधन प्रणाली का उपयोग करेंगी।

सिस्टम प्रचलन
सिस्टम प्रसार एक ऐसी तकनीक है जो अपनी सीमाओं को दूर करने के लिए ऊपर वर्णित सिस्टम छवियों और लेनदेन पत्रिकाओं को जोड़ती है।

कमियां: एक प्रचलित सिस्टम में संपूर्ण सिस्टम स्थिति को होल्ड करने के लिए पर्याप्त रैंडम एक्सेस मेमोरी  होनी चाहिए।

डेटाबेस प्रबंधन प्रणाली (डीबीएमएस)
डीबीएमएस ऊपर वर्णित गंदे लेखन और लेन-देन जर्नलिंग तकनीकों के संयोजन का उपयोग करते हैं। वे न केवल दृढ़ता प्रदान करते हैं बल्कि अन्य सेवाएं जैसे प्रश्न, ऑडिटिंग और अभिगम नियंत्रण भी प्रदान करते हैं।

लगातार ऑपरेटिंग सिस्टम
परसिस्टेंट ऑपरेटिंग सिस्टम वे ऑपरेटिंग सिस्टम होते हैं जो किसी क्रैश या अनपेक्षित शटडाउन के बाद भी लगातार बने रहते हैं। इस क्षमता को नियोजित करने वाले ऑपरेटिंग सिस्टम में शामिल हैं
 * कीकोस
 * अत्यधिक विश्वसनीय ऑपरेटिंग सिस्टम, KeyKOS का उत्तराधिकारी
 * Capros, EROS का संशोधन
 * काइओट, EROS का उत्तराधिकारी
 * मॉलटिक्स अपने एकल-स्तरीय स्टोर के साथ
 * फैंटम ओस
 * आईबीएम सिस्टम/38
 * आईबीएम आई
 * टिड्डी ओएस
 * मून ओएस
 * तहरपप्पी - 6.0.5

यह भी देखें

 * लगातार डेटा
 * लगातार डेटा संरचना
 * लगातार पहचानकर्ता
 * सतत स्मृति
 * लिखने पर नकल
 * बनाएं, पढ़ें, अपडेट करें और हटाएं
 * जावा डेटा ऑब्जेक्ट्स
 * जावा दृढ़ता एपीआई
 * सिस्टम प्रचलन
 * ऑर्थोगोनलिटी # कंप्यूटर साइंस
 * सेवा डेटा वस्तु
 * स्नैपशॉट (कंप्यूटर भंडारण)