कंप्यूटिंग में समय
घड़ियाँ, Timestamps और सिंक्रनाइज़ेशन
कंप्यूटर समय जानेंकंप्यूटरों को लॉगिंग, शेड्यूलिंग, सुरक्षा प्रमाणपत्र, डेटाबेस लेनदेन और अनगिनत अन्य संचालन के लिए सटीक समय की आवश्यकता होती है। सिस्टम कैसे समय को मापते, संग्रहीत और सिंक्रनाइज़ करते हैं यह समझना डेवलपर्स, प्रशासकों और समय-संबंधित समस्याओं को हल करने वाले किसी भी व्यक्ति के लिए आवश्यक है।
कंप्यूटर समय कैसे रखते हैं
हार्डवेयर घड़ियाँ
- RTC (Real-Time Clock): बैटरी-बैक्ड चिप जो बिजली बंद होने पर भी समय रखती है
- क्रिस्टल ऑसीलेटर: क्वार्ट्ज क्रिस्टल जो स्थिर आवृत्ति प्रदान करता है (आमतौर पर 32.768 kHz)
- ड्रिफ्ट: हार्डवेयर घड़ियाँ प्रति माह सेकंड से मिनट तक खिसकती हैं
सिस्टम घड़ी
- ऑपरेटिंग सिस्टम द्वारा बनाए रखी गई सॉफ्टवेयर घड़ी
- बूट पर RTC से आरंभ की जाती है
- नेटवर्क प्रोटोकॉल (NTP) के माध्यम से सिंक्रनाइज़
- RTC से अधिक बार समायोजित की जा सकती है
Network Time Protocol (NTP)
NTP एक नेटवर्क पर कंप्यूटर घड़ियों को सिंक्रनाइज़ करता है, इंटरनेट पर मिलीसेकंड सटीकता और LAN पर उप-मिलीसेकंड प्राप्त करता है।
Stratum स्तर
| Stratum | स्रोत | सटीकता |
|---|---|---|
| 0 | परमाणु घड़ी, GPS रिसीवर | नैनोसेकंड |
| 1 | सीधे stratum 0 से जुड़ा | माइक्रोसेकंड |
| 2 | stratum 1 से सिंक | मिलीसेकंड |
| 3-15 | प्रत्येक स्तर ऊपर वाले से सिंक | थोड़ा घटता है |
NTP कैसे काम करता है
- क्लाइंट timestamp के साथ अनुरोध भेजता है
- सर्वर अपने timestamps के साथ जवाब देता है
- क्लाइंट नेटवर्क विलंब और ऑफसेट की गणना करता है
- जम्प से बचने के लिए घड़ी धीरे-धीरे समायोजित (slewed) की जाती है
समय संग्रहण प्रारूप
| प्रारूप | उदाहरण | उपयोग |
|---|---|---|
| Unix timestamp (s) | 1705329000 | डेटाबेस, APIs |
| Unix timestamp (ms) | 1705329000000 | JavaScript, Java |
| ISO 8601 | 2024-01-15T14:30:00Z | JSON, APIs, लॉग |
| RFC 2822 | Mon, 15 Jan 2024 14:30:00 +0000 | ईमेल हेडर |
| SQL DATETIME | 2024-01-15 14:30:00 | डेटाबेस |
| SQL TIMESTAMP | 2024-01-15 14:30:00 | ऑटो-अपडेटिंग फील्ड |
सामान्य समय समस्याएँ
Y2K समस्या (1999-2000)
दो-अंकीय वर्ष 2000 का प्रतिनिधित्व नहीं कर सकते थे। विश्वभर में ठीक करने में अरबों खर्च हुए।
वर्ष 2038 समस्या
32-बिट Unix timestamps 19 जनवरी, 2038 को ओवरफ्लो होते हैं। 64-बिट में माइग्रेशन जारी।
लीप सेकंड बग्स
कुछ सिस्टम 23:59:60 दिखाने पर क्रैश हो जाते हैं। 2035 तक लीप सेकंड को चरणबद्ध तरीके से समाप्त किया जा रहा है।
DST संक्रमण बग्स
शेड्यूल किए गए कार्य DST परिवर्तन के दौरान दो बार चल सकते हैं या छूट सकते हैं।
निष्कर्ष
कंप्यूटर समय में हार्डवेयर घड़ियाँ, ऑपरेटिंग सिस्टम सिंक्रनाइज़ेशन और नेटवर्क प्रोटोकॉल एक साथ काम करते हैं। NTP नेटवर्क पर घड़ियों को सटीक रखता है। समय क्षेत्र जानकारी के साथ UTC में समय संग्रहीत करें; इंटरचेंज के लिए ISO 8601 प्रारूप का उपयोग करें। DST संक्रमण, लीप सेकंड और 2038 समस्या जैसे एज केस से सावधान रहें। वितरित प्रणालियों में, घड़ी सिंक्रनाइज़ेशन शुद्धता के लिए मौलिक है।