Unix समय और ISO 8601 लेखन
SI से बाहर की इकाई · राशि: एक क्षण, 1970 से पूर्णांक सेकंडों के रूप में
19 जनवरी 2038 को विश्व समय के अनुसार तीन बजकर चौदह मिनट और सात सेकंड पर बत्तीस बिट चौड़ा सेकंड-गणक 2 147 483 647 तक पहुँच जाएगा — वह सबसे बड़ी संख्या जिसे वह समा सकता है। अगला टिक सबसे ऊपर का बिट उठा देगा, और वही द्विआधारी शब्द अब ऋणात्मक पढ़ा जाएगा: जो घड़ियाँ समय ठीक इसी गिनती से रखती हैं, वे 2038 में नहीं, बल्कि दिसंबर 1901 में जा पहुँचेंगी। यह दूर भविष्य की कोई विचित्रता नहीं — एक औद्योगिक नियंत्रक या पानी का मीटर बचे हुए बारह वर्षों से अधिक चलता है।
गिनती अत्यंत सरलता से बनी है: सेकंड 1 जनवरी 1970 की आधी रात से एक के बाद एक चलते हैं, और उसमें एक दिन सदा ठीक 86 400 सेकंड रखता है। यही सरलता उसकी दोनों विशेषताओं का स्रोत है। एक ओर, संख्या से तत्काल पंचांग का दिनांक निकल आता है और उलटे भी, जिससे हर घटना-अभिलेख, हर आँकड़ा-कोश और हर संचिका-तंत्र समय उसी से रखते हैं। दूसरी ओर, अधिसेकंड को ऐसी गिनती में व्यक्त किया ही नहीं जा सकता, अर्थात नाम के विपरीत वह सेकंड नहीं, बल्कि भिन्नों सहित दिन गिनती है, और वास्तव में UTC लेखन का रैखिक फलन है, बीते समय का गणक नहीं।
01 · परिभाषा
Unix समय उन सेकंडों की संख्या है जो 1 जनवरी 1970 की आधी रात से समन्वित विश्व समय के अनुसार बीत चुके हैं, इस शर्त पर कि हर दिन ठीक 86 400 सेकंड रखे। ISO 8601 लेखन वही बात दूसरी तरह कहता है: पंचांग के दिनांक, दिन के समय और मूल याम्योत्तर से विचलन के कथन द्वारा, और क्षेत्र कड़ाई से मोटे से महीन की ओर चलते हैं।
86 400 सेकंड की शर्त कोई छोटी बात नहीं, बल्कि परिभाषा में सबसे सारभूत है। अधिसेकंड को, जिसकी घोषणा पृथ्वी के घूर्णन की सेवा करती है, गिनती समा नहीं सकती, और इसीलिए निवेशन के क्षण तंत्र या तो एक ही मान दो बार दोहराता है या घड़ी पीछे कर देता है। इससे एक महत्वपूर्ण बात निकलती है: दो unix संख्याओं का अंतर उन सेकंडों की संख्या नहीं है जो दो घटनाओं के बीच सचमुच बीते, यदि उनके बीच कोई निवेशन पड़ा हो — परमाण्विक मापनी से विचलन अब तक सत्ताईस सेकंड तक बढ़ चुका है।
सीमा किंतु परिभाषा पर नहीं, भंडारण की चौड़ाई पर निर्भर है। चिह्न सहित बत्तीस बिट सबसे बड़ा मान 2 147 483 647 देते हैं, जो 19 जनवरी 2038 को पड़ता है; अगली वृद्धि सबसे ऊपर के बिट को एक कर देती है और संख्या को ऋणात्मक बना देती है, घड़ी को 13 दिसंबर 1901 में फेंकते हुए। चौंसठ बिट सीमा को दो सौ बानवे अरब वर्ष आगे धकेल देते हैं, किंतु उन्हीं चौंसठ बिटों में पूर्ण नैनोसेकंड 2262 में ही समाप्त हो जाते हैं।
मानक के अनुसार लेखन दूसरा काम हल करता है — विनिमय, भंडारण नहीं — और इसीलिए उसमें वे बातें भारी पड़ती हैं जो संख्या के पास हैं ही नहीं: घंटों का विचलन, दिनांक और समय के बीच विभाजक, और यह नियम कि समान लंबाई की माला में वर्णक्रम कालक्रम से मेल खाता है। यही अंतिम गुण था जिसने प्रारूप को संचिकाओं के नामों और अभिलेखों में क्रमबद्धता का आधार बनाया।
समय को सरकनी से चलाइए और देखिए कि पंजी कैसे भरती है: बिट दाएँ से बाएँ जलते हैं, और जब तक सबसे ऊपर वाला, चिह्न का बिट, अँधेरा रहता है, संख्या धनात्मक है और दिनांक बढ़ता है। ज्यों ही गणक 2 147 483 647 पार करता है, सबसे ऊपर का बिट लाल दहक उठता है, पूरी संख्या ऋणात्मक हो जाती है, और घड़ी 1901 में कूद जाती है।
हरी सीधी रेखा परमाण्विक मापनी है, जहाँ हर सेकंड सचमुच सेकंड है। लाल सीढ़ीदार Unix समय है, जो हर निवेशन पर एक ही मुद्रा दो बार देता है, जिससे रेखा अपनी जगह ठहर जाती है। विचलन अब सत्ताईस सेकंड है और बढ़ रहा है, इसीलिए गिनती पंचांग के दिनांक के लिए काम की है, भौतिकी में अवधियों के मापन के लिए नहीं।
02 · रूपांतरण
समय-मुद्रा या दिनांक भरें
गिनती के सभी गुणजों के बीच — सेकंड, मिलीसेकंड, माइक्रो- और नैनोसेकंड — रूपांतरण यथार्थ हैं, क्योंकि वे केवल एक गुणक से भिन्न हैं। सन्निकट एक ही पंक्ति है: परमाण्विक मापनी में रूपांतरण के लिए जानना पड़ता है कि दिए गए क्षण तक कितने अधिसेकंड जुड़े।
मानक के अनुसार माला का विश्लेषण पत्रक विस्तृत लेखन में Z अक्षर के साथ करता है; विभाजकों के बिना मूल रूप सूक्ष्म सेटिंग्स में रखा गया है।
वर्ष 2038 की समस्या मानक में नहीं, बल्कि यंत्रों और पुराने कोड में है: बत्तीस बिट की मुद्राएँ मीटरों के अंतःप्रोग्राम में, औद्योगिक नियंत्रकों में, संचिका-तंत्रों के प्रारूपों में और उन आँकड़ा-कोशों में बैठी हैं जहाँ क्षेत्र पहले ही चार बाइट से घोषित है। स्रोतों में प्रकार बदलना काफी सरल है; किंतु बचे बारह वर्षों में लाखों स्थापित उपकरणों से गुज़रना उसी प्रकार का काम है जो वर्ष 2000 से पहले सामने था।
| मान | टिप्पणी | ||
|---|---|---|---|
| {u} | {name} | {value} | {note} |
03 · परिमाण की कोटियाँ
लघुगणकीय मापनी: सेकंड से चौंसठ बिट की सीमा तक04 · मापक यंत्र
घटना पर मुद्रा किससे लगती है
बैटरी वाली अलग चिप, जो उपकरण बंद रहने पर भी गिनती चलाती रहती है। वह प्रायः unix मुद्रा नहीं, बल्कि पंचांग के क्षेत्र अलग-अलग रखती है, और उसके वर्ष-क्षेत्र की चौड़ाई अपनी होती है, जिससे पुराने पटलों पर 2038 की बात इसी प्रश्न से आरंभ होती है कि स्वयं चिप किस वर्ष तक गिनती है।
NTP नियमावली यंत्र की घड़ी को कुछ मिलीसेकंडों की परिशुद्धि से साझे समय पर ले आती है, और वही एक दिन पहले विशेष चिह्न से निवेशन की चेतावनी देती है। अपनी सीमा उसकी भी है, और वह पहले आती है: गिनती 1900 से चिह्नरहित बत्तीस बिट में चलती है और फरवरी 2036 में अतिप्रवाहित हो जाएगी।
अभिलेख में मुद्रा या तो संख्या से लिखी जाती है या मानक के अनुसार माला से, और दूसरा ठीक एक कारण से बेहतर है: समान लंबाई की मालाओं में वर्णक्रम कालक्रम से मेल खाता है, जिससे प्रविष्टियाँ दिनांक के विश्लेषण बिना क्रम में लग जाती हैं। इसीलिए प्रारूप गणना-तंत्र से कहीं आगे तक फैला।
किसी उपकरण की 2038 के लिए तैयारी केवल एक ही ढंग से परखी जा सकती है — उसकी घड़ी उस अशुभ सीमा के पार करके देखना कि अभिलेखों, प्रमाणपत्रों और अंतरालों की गणना का क्या होता है। इसी तरह बिलिंग में, प्रवेश-नियंत्रण तंत्रों में और कुंजियों की वैधता-अवधियों में पहले ही विफलताएँ मिल चुकी हैं, जहाँ भविष्य का दिनांक जोड़ से बनता है और स्वयं सीमा से बहुत पहले अतिप्रवाहित हो जाता है।
05 · लेखन नियम
मोटे से महीन की ओर, और सदा विचलन के साथ
मानक क्षेत्रों का घटता क्रम, वर्ष के चार अंक, दिनांक के विभाजक के रूप में योजक-चिह्न और समय से पहले T अक्षर माँगता है; घंटों का विचलन या तो मूल याम्योत्तर के लिए Z अक्षर से बताया जाता है, या जोड़-घटाव घंटों और मिनटों के रूप में। unix मुद्रा पूर्णांक से, अंकों के विभाजन बिना लिखी जाती है, और गुणज सदा स्पष्ट करना पड़ता है, क्योंकि हजार का गुणक सेकंडों को मिलीसेकंडों से अलग करता है, और संख्या के आकार से ये दोनों सहज ही भ्रमित हो जाते हैं।
पहला लेखन भिन्न देशों में भिन्न पढ़ा जाता है और इसीलिए आँकड़ों के विनिमय में अस्वीकार्य है। दूसरा विभाजक भी छोड़ देता है और विचलन भी, जिससे क्षण दोनों ओर एक दिन तक अनिश्चित रह जाता है। तीसरा आरंभिक शून्य खो देता है, जिससे मालाएँ वर्णक्रम में लगना छोड़ देती हैं — जबकि प्रारूप का मोल इसी गुण के कारण है। चौथा unix गिनती को परमाण्विक मापनी के बराबर रख देता है, जबकि उनके बीच सत्ताईस सेकंड के संचित निवेशन पड़े हैं।
06 · पड़ोसी इकाइयाँ
पास ही वे सब गिनतियाँ खड़ी हैं जो उसी सिद्धांत पर बनी हैं, किंतु किसी और आरंभ से: NTP समय 1900 से, जूलियन दिनांक हमारे युग से पहले 4713 की दोपहर से, उपग्रह-तंत्र की मापनी जनवरी 1980 से। वे केवल युग और इकाई में भिन्न हैं, इसीलिए एक स्थिरांक घटाकर बदली जाती हैं।
चिह्नयुक्त सेकंड
इसकी सीमा 2036 में ही आ जाती है
अधिसेकंड ईमानदारी से गिने गए
Simetrium के पत्रकों में से पास खड़े हैं जूलियन दिनांक, जहाँ से रूपांतरण का स्थिरांक लिया गया, UTC, TAI और UT1 मापनियाँ, जो लुप्त अधिसेकंडों की व्याख्या करती हैं, सेकंड गिनती की इकाई के रूप में, और बिट, जिसकी चौड़ाई ही सीमा तय करती है।
07 · ऐतिहासिक भाग
बिटों की कमी से चुना गया युग
Unix की पहली मार्गदर्शिका में समय 1971 के आरंभ से सेकंड के साठवें भागों में गिना जाता था, और बत्तीस बिट में ऐसी गिनती मुश्किल से दो वर्ष समाती थी। वे इतनी शीघ्र समाप्त होते थे कि युग को तंत्र के हर संस्करण पर सरकाना पड़ता, और सेकंड के भिन्नों को छोड़कर पूर्ण सेकंड अपनाए गए।
पूर्ण सेकंडों पर आकर रचयिताओं ने एक सौ छत्तीस वर्ष का भंडार कमाया और आरंभ को सुविधा से चुन सके, विवशता से नहीं। 1 जनवरी 1970 लिया गया — अतीत का निकटतम गोल दिनांक, जहाँ तक यंत्रों की प्रविष्टियाँ वैसे भी नहीं पहुँचती थीं — और तब से उसे एक बार भी नहीं बदला गया, यद्यपि तंत्र एक से अधिक बार जड़ से फिर लिखा गया।
अंतर्राष्ट्रीय मानकीकरण संगठन ने बिखरते राष्ट्रीय प्रारूपों को एक में समेटा और उसके आधार में सरल नियम रखा: क्षेत्र मोटे से महीन की ओर चलते हैं, सब आरंभिक शून्यों के साथ। पार्श्व-परिणाम मंशा से अधिक महत्वपूर्ण निकला — ऐसी मालाएँ संख्याओं की तरह क्रम में लगती हैं, और प्रारूप संचिकाओं के नामों, अभिलेखों और विनिमय की नियमावलियों में फैल गया।
मेज़ और सेवक तंत्र चौंसठ बिट पर बहुत पहले आ गए, और वहाँ सीमा हर विवेकपूर्ण क्षितिज के पार धकेल दी गई है। संकट कहीं और रह गया: बीस वर्ष की आयु वाले उपकरणों के अंतःप्रोग्राम में, उन संचिका-प्रारूपों में जहाँ क्षेत्र चार बाइट से घोषित है, और भविष्य की अवधियों की गणना में, जो आज ही अतिप्रवाहित हो जाती हैं ज्यों ही वर्तमान दिनांक में पंद्रह वर्ष जोड़े जाएँ।
ऐसी गिनती जो नाम के विपरीत सेकंड नहीं गिनती
Unix समय की परिभाषा सेकंडों की गिनती जैसी सुनाई देती है, किंतु दिन में पूरे 86 400 सेकंड की शर्त उसे कुछ और बना देती है: UTC लेखन का रैखिक फलन, बीते समय का माप नहीं। जब-जब पृथ्वी के घूर्णन की सेवा निवेशन की घोषणा करती है, गिनती को एक ही मान दो बार दोहराना पड़ता है या पीछे कूदना पड़ता है, और दो मुद्राओं के अंतर से ठीक वही सेकंड खो जाता है। आधी सदी में ऐसी सत्ताईस हानियाँ जुड़ीं, इसीलिए जिन कामों में सच्ची अवधि चाहिए, वहाँ परमाण्विक मापनी ली जाती है, यह नहीं।
दूसरी विशेषता परिभाषा में है ही नहीं, बल्कि भंडारण के ढंग में है, और यही उसे हमारी सूची की वह अकेली सीमा बनाती है जिसे न प्रकृति ने रखा, न किसी सहमति ने, बल्कि यंत्र-शब्द की चौड़ाई ने। जूलियन दिनांक कभी समाप्त नहीं होता, क्योंकि वह संख्या है; Unix समय 19 जनवरी 2038 को समाप्त हो जाता है, क्योंकि वह चार बाइट का क्षेत्र है। किसी राशि और उसके निरूपण का अंतर मापविज्ञों को प्रायः कम व्यस्त रखता है, और यहाँ वही सब कुछ तय करता है।
सूची · माप की इकाइयाँ
हर राशि के लिए एक पत्रक
SI की सात मूल इकाइयाँ, अपने नाम वाली बाईस व्युत्पन्न, और प्रणाली के बाहर की वे राशियाँ जिनके बिना न तकनीक चलती है न पंचांग।