कॉमन लैंग्वेज रनटाइम (CLR) .NET प्रोग्राम्स के निष्पादन को प्रबंधित करता है। जस्ट-इन-टाइम (JIT) कंपाइलर कंपाइल्ड कोड को मशीन निर्देशों में परिवर्तित करता है, जिसे कंप्यूटर निष्पादित करता है।
CLR द्वारा प्रदान की जाने वाली सेवाएं
- मेमोरी मैनेजमेंट - ऑब्जेक्ट्स के लिए मेमोरी आवंटन और डीएलोकेशन
- एक्सेप्शन हैंडलिंग - संरचित त्रुटि प्रबंधन
- टाइप सेफ्टी - टाइप सुरक्षा सुनिश्चित करना
- गार्बेज कलेक्शन - अनुपयोगी ऑब्जेक्ट्स की स्वचालित सफाई
- थ्रेड मैनेजमेंट - मल्टीथ्रेडिंग सपोर्ट
- सिक्योरिटी - कोड एक्सेस सिक्योरिटी और रोल-बेस्ड सिक्योरिटी
CLR के प्रमुख घटक
1. घटक (Components)
CLR अन्य भाषाओं में लिखे घटकों के साथ आसानी से काम करने की अनुमति देता है। यह भाषा अंतरसंचालनीयता (language interoperability) प्रदान करता है।
2. थ्रेडिंग (Threading)
CLR मल्टीथ्रेडेड एप्लिकेशन बनाने के लिए थ्रेड्स का सपोर्ट प्रदान करता है।
3. क्लास लाइब्रेरी सपोर्ट (Class Library Support)
इसमें असेंबलीज, थ्रेडिंग, मेमोरी मैनेजमेंट आदि के लिए बिल्ट-इन टाइप्स और लाइब्रेरीज शामिल हैं।
4. डीबगिंग (Debugging)
CLR कोड डीबगिंग को आसान बनाता है।
5. गार्बेज कलेक्शन (Garbage Collection)
यह C# में स्वचालित गार्बेज कलेक्शन प्रदान करता है, जिससे मैन्युअल मेमोरी मैनेजमेंट की आवश्यकता नहीं होती।
CLR कैसे काम करता है
- सोर्स कोड → कंपाइलर → MSIL (माइक्रोसॉफ्ट इंटरमीडिएट लैंग्वेज)
- MSIL → JIT कंपाइलर → नेटिव मशीन कोड
- CLR नेटिव कोड को निष्पादित करता है और रनटाइम सेवाएं प्रदान करता है
महत्वपूर्ण बिंदु
- CLR .NET फ्रेमवर्क का दिल है।
- सभी .NET भाषाएं (C#, VB.NET, F# आदि) CLR का उपयोग करती हैं।
- CLR क्रॉस-भाषा इंटीग्रेशन सक्षम करता है।