ইউনিক্স সময় / অফিসিয়াল সময় কোথায় পরিমাপ করা হয়? [বন্ধ]


20

দাবি অস্বীকার করুন:

আমি স্ট্যাক এক্সচেঞ্জ সাইটের তালিকাটি প্রায় 20 মিনিটের জন্য গিয়েছিলাম যেখানে এটি পোস্ট করতে হবে তা বের করার চেষ্টা করে। আপনি যদি কোনও সাইটকে আরও উপযুক্ত জানেন তবে দয়া করে এই প্রশ্নটি সেখানে সরিয়ে দিন। আমি এখানে এটি পোস্ট করছি কারণ ইউনিক্স সময় আমাকে ভাবতে শুরু করেছিল।


সুতরাং আমরা সবাই জানি যে ইউনিক্স সময় আছে এবং আছে ইউটিসি। ইউনিক্স সময় কেবল সেকেন্ড গণনা - সেকেন্ডে এক সেকেন্ড গণনা চালিয়ে যায়, যেখানে ইউটিসি মানব-পঠনযোগ্য ফর্ম্যাটগুলিতে সময় রাখার চেষ্টা করে যা আমরা তার ঘূর্ণনের সাথে পৃথিবীর পর্যায়ের সাথে একত্রিত করি। এটি করার জন্য, ইউটিসি সময়ে সময়ে লিপ সেকেন্ড সন্নিবেশ করে।

যেহেতু সময় মহাকর্ষীয় বলের সাথে আপেক্ষিক, সময়টির সাথে অনুভব করা বস্তুটি অন্যান্য ধরণের ত্বরণ এবং আপেক্ষিক গতির সংস্পর্শে আসে, এটি 2 টি প্রশ্নের দিকে নিয়ে যায়। আসুন প্রথমে সরলটি বিবেচনা করা যাক: ইউনিক্সের সময় কোথায় পরিমাপ করা হয়? যদি অ্যালিস এবং বব বর্তমান সময়ের সাথে একমত হতে শুরু করে তারা 148932496.42732894722748 হয় যখন তারা একই স্থানে থাকে (অবশ্যই দ্বিতীয়টি 9'192'631'770 চক্র হিসাবে সিজিয়াম -133 এর দুটি শক্তির স্তরগুলির মধ্যে রূপান্তর অনুসারে সংজ্ঞায়িত হচ্ছে) পরমাণু বিশ্রামে এবং 0 কে) এ, সমুদ্রপৃষ্ঠে অ্যালিসের বসবাসের কারণে এবং বব পাহাড়ে উঁচুতে বসবাসকারী বা উত্তর মেরুতে অ্যালিসের বসবাসকারী এবং বব নিরক্ষীয় অঞ্চলে বাস করার কারণে তারা দুটি দ্বন্দ্বের দ্বন্দ্ব অনুভব করবেন। সুতরাং কিভাবে ইউনিক্স সময় নির্দিষ্টভাবে সংজ্ঞায়িত করা হয়?

আপনি প্রথমে ইউটিসি-তে সমস্যাটি দেখতে পাবেন না কারণ পৃথিবী কক্ষপথটি সম্পূর্ণ করার সময় অবশ্যই সকলেই একমত হতে পারেন (এটি অবশ্যই মহাদেশীয় প্লেট চলাচল উপেক্ষা করছে তবে আমি মনে করি যে আমরা এটি বেশ ভালভাবে আবিষ্কার করেছি কারণ জিপিএসের মাধ্যমে তাদের চলাচল পরিমাপ করা সম্ভব) খুব সুনির্দিষ্টভাবে এবং আমরা তাদের আমাদের মডেলের একটি নির্দিষ্ট অবস্থানে থাকতে এবং মহাদেশীয় প্লেট শিফট হিসাবে স্থানান্তরিত করতে পারে না) তা বিবেচনা করতে পারে, তারা কোনও পর্বতে, সমুদ্রপৃষ্ঠে, নিরক্ষীয় অঞ্চলে বা উত্তর মেরুতে থাকুক না কেন। কিছু সময়ের পার্থক্য থাকতে পারে তবে তারা জমে না।

তবে একটি সেকেন্ডটি 9'192'631'770 রেডিয়েশনের চক্র হিসাবে নির্ধারিত হয় যা বিশ্রামের সময় এবং সি 0 0 এবং সিজিয়াম -133 এটমের দুটি শক্তির স্তরের মধ্যে রূপান্তরকে মিলিত করে পৃথিবীর কক্ষপথের বিষয়ে চিন্তা করে না। সুতরাং ইউটিসি সিদ্ধান্ত নেয় যেখানে একটি লিপ সেকেন্ডটি সন্নিবেশ করানো হবে তবে পৃথিবীর কক্ষপথের ধাপ এবং একটি পারমাণবিক ঘড়ি দ্বারা কোথাও পরিমাপ করা সময়ের মধ্যে একটি পরিমাপক বা পূর্বাভাস পরিবর্তন হতে হবে । কোথায় কোথায়?


5
"ইউনিক্স সময় সবেমাত্র সেকেন্ড গণনা - সেকেন্ডে এক সেকেন্ড" চালিয়ে যায় - আসলে, তা হয় না। জিনিসগুলি যদি এটি করা সহজ হয়।
हॉবস

3
আপনি যে প্রশ্নটি জিজ্ঞাসা করতে চেয়েছিলেন তা পদার্থবিজ্ঞানের বিষয় হতে পারে - তবে এটি ইউটিসির মতো সময়ের মান সম্পর্কে একটি প্রশ্ন এবং ইউনিক্স সময়ের সাথে তার কোনও যোগসূত্র নেই। আরও দেখুন এই এবং এই এবং অন্যান্য সম্পর্কিত প্রশ্ন।
ডেভিড জেড

7
আমি এই প্রশ্নটিকে অফ-টপিক হিসাবে বন্ধ করতে ভোট দিচ্ছি কারণ এটি পদার্থবিজ্ঞান, রাজনীতি এবং অস্থায়ী মানক সম্পর্কে, তবে ইউনিক্স নয়।
মাইকেল হোমার

3
নেই সম্ভবত এই এলাকা আপনাকে জিজ্ঞাসা থাকতে পারে সেই একটি অন-বিষয়ে প্রশ্ন কোথাও, কিন্তু আমি মনে করি এটাই না। এটির "... এবং ইউনিক্স সম্পর্কে কী আছে?" উত্তরগুলি বর্ণনা করার সাথে সাথে একটি সম্পর্কহীন প্রশ্নের মাঝে মাঝে টস করেছে।
মাইকেল হোমার

উত্তর:


30

আপনার শিরোনাম প্রশ্নটির একটি আসল উত্তর নেই; ইউনিক্স সময়টি আসল টাইমস্কেল নয় এবং কোথাও "মাপা" হয় না। এটি ইউটিসির প্রতিনিধিত্ব, একটি দরিদ্র হওয়া সত্ত্বেও ইউটিসি-তে এমন কিছু মুহুর্ত রয়েছে যা প্রতিনিধিত্ব করতে পারে না। ইউনিক্স সময়টিতে প্রতিদিন 86,400 সেকেন্ড থাকার জন্য জোর দেয়, তবে ইউটিসি লিপ সেকেন্ডের কারণে তা থেকে বিচ্যুত হয়।

আপনার বিস্তৃত প্রশ্ন হিসাবে, আগ্রহের চারটি গুরুত্বপূর্ণ টাইমসেল রয়েছে:

  1. ইউটি 1 (ইউনিভার্সাল টাইম), যা বিশ্বজুড়ে পর্যবেক্ষক দ্বারা গণনা করা হয় যা স্থির নক্ষত্রের প্রতি শ্রদ্ধার সাথে পৃথিবীর আবর্তন পরিমাপ করে। এই পর্যবেক্ষণগুলি এবং একটি সামান্য গণিতের সাথে আমরা পুরানো গ্রিনিচ গড় সময়টির একটি আরও আধুনিক সংস্করণ পাই যা গ্রিনিচের রয়্যাল অবজারভেটরিতে সৌর দুপুরের মুহুর্তের উপর ভিত্তি করে তৈরি হয়েছিল। ইউনিভার্সাল টাইম গণনা করা হয় আইআরএস (আন্তর্জাতিক আর্থ রোটেশন অ্যান্ড রেফারেন্স সিস্টেমস সার্ভিস, পূর্বে আন্তর্জাতিক আর্থ রোটেশন সার্ভিস) নামক একটি সংস্থা দ্বারা ।

  2. টিআইএ (আন্তর্জাতিক পারমাণবিক সময়), যা বিশ্বজুড়ে শত শত পারমাণবিক ঘড়ি জাতীয় মান সংস্থাগুলি এবং এগুলি দ্বারা রক্ষণাবেক্ষণ করে। টিআইএতে অবদান রাখে এমন ঘড়িগুলির রক্ষকরা তাদের ঘড়িগুলি একে অপরের দিকে চালিত করার জন্য সময় স্থানান্তর কৌশলগুলি ব্যবহার করে , পৃথক ঘড়ির কোনও ছোট ত্রুটি বাতিল করে এবং একটি জড়ো সময় তৈরি করে; আন্তর্জাতিক ডেস্ক: ইউনিটগুলির এসআই সিস্টেমের স্টাওয়ার্ডস, ওয়েইটস অ্যান্ড মেজারেস (বিআইপিএম) ব্যুরো দ্বারা প্রকাশিত টিআইএই এই টেম্বলটি। সময় বিসারণ সম্পর্কে আপনার প্রশ্নের জবাব দেওয়ার জন্য, টিআইএকে সমুদ্রপৃষ্ঠে পারমাণবিক সময় হিসাবে সংজ্ঞায়িত করা হয়েছে (আসলে জিওডে, যা একই ধারণাটির অনুরাগী সংস্করণ) এবং প্রতিটি ঘড়ি তার নিজস্ব উচ্চতার প্রভাবগুলির জন্য সংশোধন করে।

  3. ইউটিসি (সমন্বিত ইউনিভার্সাল সময়)। ইউটিসিটি 1 জানুয়ারী 1972 এ টিআইএর পিছনে দশ সেকেন্ডের সমান হয় এবং সেই তারিখ থেকে এটি টিআইএর সমান হারে এগিয়ে চলেছে, যখন একটি লিপ সেকেন্ড যুক্ত বা বিয়োগ করা বাদে। আইআরএস পার্থক্যটি 0.9 সেকেন্ডের মধ্যে রাখার জন্য একটি লিপ সেকেন্ড ঘোষণা করার সিদ্ধান্ত নেয় (বাস্তবে, প্রায় 0.6 সেকেন্ডের মধ্যে; একটি অতিরিক্ত লিপ সেকেন্ড পার্থক্যকে -0.6 থেকে +0.4 এ যাওয়ার কারণ দেয়)। তাত্ত্বিকভাবে, লিপ সেকেন্ডগুলি ইতিবাচক এবং নেতিবাচক উভয়ই হতে পারে, তবে এসআই এবং টিআইএর দ্বারা প্রতিষ্ঠিত মানের তুলনায় পৃথিবীর আবর্তন কমে যাচ্ছে বলে একটি নেতিবাচক লিপ সেকেন্ড কখনও প্রয়োজন হয়নি এবং সম্ভবত কখনও হবে না will

  4. ইউনিক্স সময়, যা একক সংখ্যা হিসাবে ইউটিসির প্রতিনিধিত্ব করতে সর্বোত্তম চেষ্টা করে। প্রতি ইউনিক্স সময় যা 86,400 এর একাধিক হয় মধ্যরাত ইউটিসি-এর সাথে মিলে যায়। যেহেতু সমস্ত ইউটিসির দিনগুলি, 86,৪০০ সেকেন্ড দীর্ঘ নয়, তবে সমস্ত "ইউনিক্স দিন" রয়েছে, তাই এক অপূরণীয় পার্থক্য রয়েছে যা কোনওরকমে প্যাচ করতে হবে। যুক্ত লিপ সেকেন্ডের সাথে সম্পর্কিত কোনও ইউনিক্স সময় নেই। অনুশীলনে, সিস্টেমগুলি হয় হয় পূর্ববর্তী দ্বিতীয়টি দু'বারের মতো ঘটবে (ইউনিক্স টাইমস্ট্যাম্পটি এক সেকেন্ডের পিছনে পিছনে ঝাঁপ দিয়ে আবার এগিয়ে এগিয়ে যাবে), বা লিপ স্মিরিংয়ের মতো কৌশল প্রয়োগ করবে যা দীর্ঘ সময় ধরে উভয় পক্ষের জন্য সময় কাটাবে sme একটি লাফ দ্বিতীয়। উভয় ক্ষেত্রেই কিছুটা ত্রুটি রয়েছে, যদিও কমপক্ষে দ্বিতীয়টি মনোোটোনিক। উভয় ক্ষেত্রেই,এবং বি বা সমান নয়; এটি বা প্লাস এর মধ্যবর্তী লিপ সেকেন্ডের সংখ্যার সমান ।

যেহেতু ইউটি 1, টিআইএআই, ইউটিসি এবং আইআরএস সমস্ত বিশ্বব্যাপী, বহুজাতিক প্রচেষ্টা, সেখানে কোনও "কোথাও" নেই, যদিও প্যারিস অবজারভেটরি থেকে আইইআরএস বুলেটিন প্রকাশিত হয় এবং বিআইপিএমও প্যারিসে ভিত্তিক, এটির একটি উত্তর। একটি সংস্থা যার যথাযথ, সন্ধানযোগ্য সময় প্রয়োজন তাদের টাইমবেসটিকে "ইউটিসি (ইউএসএনও)" এর মতো কিছু হিসাবে বর্ণনা করতে পারে, যার অর্থ তাদের টাইমস্ট্যাম্পগুলি ইউটিসি-তে রয়েছে এবং তারা মার্কিন নেভাল অবজারভেটরিতে সময় থেকে উদ্ভূত হয়েছে, তবে সমস্যাগুলির কারণে আমি ইউনিক্স সময়ের সাথে উল্লেখ করেছি, এটি মূলত সেই স্তরের যথাযথতার সাথেই বেমানান - সত্যিকারের সঠিক সময়ের সাথে যে কারও কারও কাছে ইউনিক্স সময়ের বিকল্প থাকবে have


1
right/ওলসন সিস্টেমে টাইমজোনগুলির অস্তিত্ব এবং তারা কীভাবে বিবেচনা করে তা আপনি এড়িয়ে গেছেন time_t
জেডিবিপি

1
@ জেডিবিপি আমি আসলে এটি শুনিনি। আমি মনে করি যে ইউনিক্সের সময়টি পসিক্স এবং দীর্ঘস্থায়ী কনভেনশন উভয়ের বিরুদ্ধে পরিষ্কারভাবে প্রকাশিত হওয়ার পরে তা কল্পনা করা কিছুটা সন্দেহজনক but তবে যাইহোক এটি মূল্যবান তথ্য। সম্ভবত আপনি এটি সম্পর্কে একটি উত্তর যুক্ত করতে পারেন?
hobbs

1
সাধারণ মানুষের জন্য অত্যন্ত নির্ভুল সময় উত্স দ্বারা পাওয়ার সবচেয়ে সহজ উপায় হ'ল জিপিএস রিসিভার। উপগ্রহের ঘড়িগুলি টিআইএর সাথে সিঙ্ক্রোনাইজ করা হয় এবং সিগন্যালটি প্রায় 10⁻⁸ s এর সাথে সঠিক হয় (সংশোধন ছাড়াই; সংশোধন করে এটি 10⁻¹⁰ এ উন্নত করা যেতে পারে)।
জানু হুডেক

1
@ জানহুদেক এটি সাধারণ মানুষ 10 ঘন্টা বা 10⁻¹⁰ এর মধ্যে একটি ঘড়ির মধ্যে পার্থক্যটি বলতে পারে এমনটি নয় ⁻¹⁰
Gerrit

1
UNIX কেন লিপ দ্বিতীয় সমর্থন অন্তর্ভুক্ত করে না তার একটি ইঙ্গিত। অস্টিন গ্রুপ টেলিকনফরেন্সে এটি বহুবার আলোচিত হয়েছে এবং ফলস্বরূপ ছিল যে লিপ সেকেন্ডের জন্য সমর্থন যুক্ত করা সমর্থন বাদ দেওয়ার চেয়ে বেশি সমস্যার কারণ হতে পারে।
স্কিচলি

12

ঘড়ির সমন্বয়গুলি আইআরএস সমন্বয় করে। তারা সময় মতো স্ট্রিমের মধ্যে একটি লিপ সেকেন্ড সন্নিবেশের সময়সূচী করে।

থেকে এনটিপি timescale এবং লিপ সেকন্ড

আন্তর্জাতিক আর্থ রোটেশন পরিষেবা প্যারিস মানমন্দিরে (IERS) UT1 (ন্যাভিগেটর এর) পরিমাপক, সময়সীমা আর্থ রোটেশন মধ্যে অনিয়মিত বৈচিত্র জন্য সংশোধিত নির্ধারণ USNO এবং অন্যান্য মানমন্দির দ্বারা উপলব্ধ জ্যোতির্বিদ্যা পর্যবেক্ষণ ব্যবহার করে।

আমার জ্ঞানের সর্বাধিক কাছে 23:59:60 (দ্বিতীয় লিপ দ্বিতীয়) এবং 00:00:00 পরের দিনটিকে ইউনিক্স টাইমে একই দ্বিতীয় হিসাবে বিবেচনা করা হয়।


8

ইউনিক্স সময়টি আপনার কম্পিউটারে পরিমাপ করা হয়, ইউএনআইএক্স চলমান।

এই উত্তরটি আপনাকে জানতে পারে যে কোর্ডিনটেড ইউনিভার্সাল টাইম (ইউটিসি), আন্তর্জাতিক পারমাণবিক সময় (টিআইএআই) এবং এসআই দ্বিতীয়টি কী। এগুলি ব্যাখ্যা করা ইউনিক্স এবং লিনাক্স স্ট্যাক এক্সচেঞ্জের সুযোগের বাইরেএটি পদার্থবিজ্ঞান বা জ্যোতির্বিজ্ঞানের স্ট্যাক এক্সচেঞ্জগুলি নয়।

হার্ডওয়্যার

আপনার কম্পিউটারে বিভিন্ন অসিলেটর রয়েছে যা ঘড়ি এবং টাইমার চালায়। ঠিক এটির যা আছে তা তার স্থাপত্যের উপর নির্ভর করে কম্পিউটার থেকে কম্পিউটারে পরিবর্তিত হয়। তবে সাধারণত, এবং খুব সাধারণ শব্দে:

  • কোথাও একটি প্রোগ্রামেবল ইন্টারভাল টাইমার (পিআইটি) রয়েছে, যা প্রদত্ত সংখ্যক দোলনা গণনা এবং কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিটে একটি বাধাকে ট্রিগার করতে প্রোগ্রাম করা যেতে পারে।
  • কেন্দ্রীয় প্রসেসরের একটি চক্র কাউন্টার রয়েছে যা সম্পাদিত প্রতিটি নির্দেশ চক্রের জন্য কেবল 1 টি গণনা করে।

অপারেশন তত্ত্ব, খুব বিস্তৃত ভাষায়

অপারেটিং সিস্টেমের কার্নেল তোলে গর্তের ব্যবহার জেনারেট করতে এঁটেল পোকা । এটি পিআইটিকে ফ্রি-রান করার জন্য সেট করে, সময়ের ব্যবধানের জন্য সঠিক সংখ্যার দোলনের সংখ্যা গণনা করে, বলুন, একটি সেকেন্ডের একশত ভাগ, একটি বিঘ্ন সৃষ্টি করে এবং তারপরে পুনরায় গণনাটি পুনরায় সেট করতে। এটিতে বিভিন্নতা রয়েছে তবে সংক্ষেপে এটি একটি নির্দিষ্ট ফ্রিকোয়েন্সি সহ একটি টিক বিঘ্ন ঘটায় ।

সফ্টওয়্যারগুলিতে, কার্নেল প্রতিটি টিককে কাউন্টার বাড়ায়। এটি টিক ফ্রিকোয়েন্সি জানে, কারণ এটি পিআইটি প্রথম স্থানে প্রোগ্রাম করেছিল। সুতরাং এটি জানে কত টিক্স একটি সেকেন্ড আপ। এটি কখন সেকেন্ডে গণনা করে এমন কাউন্টার বাড়ানো যায় তা জানতে এটি ব্যবহার করতে পারে। এই আধুনিকটি "ইউনিক্স সময়" সম্পর্কে কার্নেলের ধারণা। এটি, সত্যই, কেবলমাত্র এসআই সেকেন্ডের মধ্যে একটির তার নিজস্ব ডিভাইসগুলিতে ছেড়ে গেলে উপরের দিকে গণনা করে।

চারটি বিষয় এটিকে জটিল করে তোলে, যা আমি খুব সাধারণ শর্তে উপস্থাপন করতে যাচ্ছি।

হার্ডওয়্যার নিখুঁত নয়। একটি পিআইটি যার ডেটা শীট বলে যে এটির এন হার্টজের অসিলেটর ফ্রিকোয়েন্সি রয়েছে তার পরিবর্তে (বলে) এন .00002 হার্টজ এর ফ্রিকোয়েন্সি থাকতে পারে , এর স্পষ্ট পরিণতি হতে পারে।

এই স্কিমটি পাওয়ার ম্যানেজমেন্টের সাথে খুব খারাপভাবে হস্তক্ষেপ করছে, কারণ ভেরিয়েবলের সংখ্যা বাড়ানোর চেয়ে সিপিইউ প্রতি সেকেন্ডে কয়েকবার জেগে আছে। তাই কিছু অপারেটিং সিস্টেমে "টিকলেস" ডিজাইন হিসাবে পরিচিত have পিটিটি প্রতিটি টিকের জন্য একটি বাধা প্রেরণের পরিবর্তে, কার্নেলটি কাজ করে (নিম্ন স্তরের সময়সূচী থেকে) কত টিকিট চলছে কোনও থ্রেড কোয়ান্টা না দিয়ে চলেছে, এবং পিআইটিকে সেই বহু টিকের জন্য গণনা করার জন্য প্রোগ্রাম করে ভবিষ্যতে টিক বাধা দেওয়ার আগে iss এটি জানে যে এটির পরে 1 টিকের পরিবর্তে পরবর্তী টিক বাধাতে এন টিক্সের উত্তরণ রেকর্ড করতে হবে।

অ্যাপ্লিকেশন সফ্টওয়্যারটিতে কার্নেলের বর্তমান সময় পরিবর্তন করার ক্ষমতা রয়েছে। এটি মানটি পদক্ষেপ করতে পারে বা এটি মানটিকে হ্রাস করতে পারে। স্লুইংয়ের মধ্যে টিকের সংখ্যাটি সামঞ্জস্য করা থাকে যা সেকেন্ডের কাউন্টারকে বাড়িয়ে দিতে হয়। সেকেন্ড সুতরাং পাল্টা অগত্যা দ্বিতীয় এসআই প্রতি এক হারে গণনা করা হয় না যাহাই হউক না কেন , এমনকি নিখুঁত অসিলেটর অভিমানী। পদক্ষেপে সেকেন্ডের কাউন্টারে কেবল একটি নতুন সংখ্যা লেখা থাকে, যা সাধারণত দ্বিতীয় এসআই সেকেন্ড না হওয়া পর্যন্ত শেষ দ্বিতীয়টি শেষ হওয়ার পরে ঘটে না।

আধুনিক কার্নেলগুলি কেবল সেকেন্ড গণনা করে না ন্যানোসেকেন্ডগুলিও গণনা করে। তবে এটি একবারে প্রতি ন্যানোসেকেন্ডের টিক বাধা দেওয়া হাস্যকর এবং প্রায়শই সম্পূর্ণ অসম্ভব un এখানেই চক্র কাউন্টারের মতো জিনিসগুলি কার্যকর হয়। কার্নেল প্রতিটি সেকেন্ডে (বা প্রতিটি টিকে) চক্রের পাল্টা মানটি স্মরণ করে এবং কাউন্টারটির বর্তমান মান থেকে যখন ন্যানোসেকেন্ডে সময় জানতে চায়, শেষ সেকেন্ডের পরে কত ন্যানোসেকেন্ডগুলি বিস্তৃত হয়েছে অবশ্যই (বা টিক্)। আবার, যদিও, নির্দেশ এবং চক্রের ফ্রিকোয়েন্সি পরিবর্তন হতে পারে বলে বিদ্যুৎ এবং তাপীয় ব্যবস্থাপনার এটির সাথে সর্বনাশ হয় so

সি ভাষা এবং পসিক্স

সি ল্যাঙ্গুয়েজ স্ট্যান্ডার্ড গ্রন্থাগার একটি অস্বচ্ছ ধরন, পদ সময় বর্ণনা time_t, একটি কাঠামো টাইপ tmবিভিন্ন নির্দিষ্ট ক্ষেত্র সঙ্গে, এবং মত বিভিন্ন লাইব্রেরি ফাংশন time(), mktime()এবং localtime()

সংক্ষেপে: সি ভাষা নিজেই কেবল গ্যারান্টি দেয় যা time_tউপলব্ধ সংখ্যার ডেটা ধরণের এক এবং সময়ের পার্থক্য গণনা করার একমাত্র নির্ভরযোগ্য উপায় হ'ল difftime()ফাংশন। এটি পসিক্স স্ট্যান্ডার্ড যা কঠোর গ্যারান্টি সরবরাহ করে যা time_tবাস্তবে একটি পূর্ণসংখ্যার প্রকার এবং এটি যুগের পর থেকে কয়েক সেকেন্ডের মধ্যে গণনা করে । এটি পসিক্স স্ট্যান্ডার্ডও যা timespecকাঠামোর ধরণ নির্দিষ্ট করে ।

time()ফাংশন কখনও কখনও একটি সিস্টেম কল হিসাবে বর্ণনা করা হয়েছে। আসলে, আজকাল এটি অনেক সিস্টেমে অন্তর্নিহিত সিস্টেম কল ছিল না hasn't ফ্রিবিএসডি-তে, উদাহরণস্বরূপ, অন্তর্নিহিত সিস্টেম কলটি রয়েছে clock_gettime(), যার বিভিন্ন "ঘড়ি" উপলব্ধ রয়েছে যা সেকেন্ড বা সেকেন্ডে ন্যানো সেকেন্ডে বিভিন্ন উপায়ে পরিমাপ করে। এটি সিস্টেম কল যার মাধ্যমে অ্যাপ্লিকেশন সফ্টওয়্যার কার্নেল থেকে ইউনিক্স সময় পড়বে reads (একটি ম্যাচিং clock_settime()সিস্টেম কল তাদের এটিকে পদক্ষেপ করতে দেয় এবং একটি adjtime()সিস্টেম কল তাদের এটিকে মারতে দেয়))

অনেকে POSIX স্ট্যান্ডার্ডকে এটি নির্ধারিত সম্পর্কে খুব সুনির্দিষ্ট এবং সঠিক দাবি দিয়ে তরঙ্গ করে। এই জাতীয় লোকেরা প্রায়শই না হয়, আসলে পসিক্স স্ট্যান্ডার্ডটি পড়ে না । এর যৌক্তিকতাটি যেমন নির্ধারিত হয়েছে, "যুগের পর থেকে কয়েক সেকেন্ড" গণনা করার ধারণাটি, যা এই স্ট্যান্ডার্ডটি ব্যবহার করে সেটি ইচ্ছাকৃতভাবে নির্দিষ্ট করে না যে পসিক্স সেকেন্ডে এসআই সেকেন্ডের সমান দৈর্ঘ্য, বা এর ফলাফলটি gmtime()"অগত্যা" ইউটিসি, উপস্থিতি সত্ত্বেও "। পসিক্স মানটি ইচ্ছাকৃতএতটা আলগা যাতে এটি কোনও ইউনিক্স সিস্টেমের জন্য (বলতে) অনুমতি দেয় যেখানে প্রশাসক যান এবং তাদের হওয়ার পরে সপ্তাহে ঘড়িটি পুনরায় সেট করে ম্যানুয়ালি লিপ সেকেন্ড অ্যাডজাস্টমেন্ট ঠিক করে দেয়। প্রকৃতপক্ষে, যুক্তিটি উল্লেখ করেছে যে এটি এমন সিস্টেমগুলিতে উপযুক্তভাবে ঘনিয়ে আসার জন্য যথেষ্ট looseিলে রয়েছে যেখানে ঘড়িটি বর্তমান ইউটিসির সময় ব্যতীত অন্য কোনও সময়ের জন্য ইচ্ছাকৃতভাবে ভুলভাবে সেট করা হয়েছে

ইউটিসি এবং টিআইএ

কার্নেল থেকে প্রাপ্ত ইউনিক্স সময়ের ব্যাখ্যা অ্যাপ্লিকেশনগুলিতে চলমান লাইব্রেরি রুটিনগুলিতে। পসিএক্স কার্নেলের সময় এবং একটিতে "ভাঙ্গা সময়" এর মধ্যে একটি পরিচয় নির্দিষ্ট করে struct tm। ড্যানিয়েল জে। বার্নস্টেইন যেমন একবার উল্লেখ করেছিলেন, গ্রেগরিয়ান ক্যালেন্ডারের লিপ ইয়ারের নিয়ম (যা স্কুলছাত্রীরা শিখেছে) জগাখিচু করে বিশৃঙ্খলাবদ্ধ করে 1997 সালের স্ট্যান্ডার্ডের সংস্করণটি এই পরিচয়টি লজ্জাজনকভাবে ভুল পেয়েছিল যাতে 2100 সাল থেকে গণনাটি ভ্রান্তিতে ছিল। "উদযাপনের চেয়ে লঙ্ঘনে আরও সম্মান করা" এমন একটি বাক্য যা সহজেই মনে আসে।

এবং প্রকৃতপক্ষে এটি হয়। বেশ কয়েকটি সিস্টেম আজকাল আর্থার ডেভিড ওলসনের লিখিত গ্রন্থাগার রুটিনের ভিত্তিতে এই ব্যাখ্যাটিকে ভিত্তি করে, যেগুলি কুখ্যাত "ওলসন টাইমজোন ডাটাবেস" -র সাথে পরামর্শ করে, সাধারণত অধীনে ডাটাবেস ফাইলগুলিতে এনকোড থাকে /usr/share/zoneinfo/। ওলসন সিস্টেমের দুটি পদ্ধতি ছিল:

  • লিপ সেকেন্ড বাদে 1970-01-01 00:00:00 ইউটিসি থেকে কার্নেলের "যুগের পরের সেকেন্ড" ইউটিসি সেকেন্ড গণনা করা হয়। এটি posix/ওলসন টাইমজোন ডাটাবেস ফাইলগুলির সেট ব্যবহার করে । সমস্ত দিনগুলিতে 86400 কার্নেল সেকেন্ড থাকে এবং এক মিনিটে কখনও 61 সেকেন্ড হয় না, তবে এগুলি সবসময় একটি এসআই সেকেন্ডের দৈর্ঘ্য হয় না এবং যখন লিপ সেকেন্ড ঘটে তখন কার্নেল ঘড়িটি স্লুইং বা স্টেপিংয়ের প্রয়োজন হয়।
  • কার্নেলের "যুগের পর থেকে" সেকেন্ডগুলিকে 1970-01-01 00:00:10 টিআইএর পর থেকে TAI সেকেন্ড গণনা করা হয়। এটি right/ওলসন টাইমজোন ডাটাবেস ফাইলগুলির সেট ব্যবহার করে । কার্নেল সেকেন্ডগুলি 1 এসআই দ্বিতীয় লম্বা এবং লিপ সেকেন্ডের জন্য সামঞ্জস্য করতে কার্নেল ঘড়ির কখনই স্লুইং বা স্টেপিংয়ের প্রয়োজন হয় না, তবে ভেঙে যাওয়া সময়ের সাথে 23:59:60 এর মতো মান থাকতে পারে এবং দিনগুলি সর্বদা 86400 কার্নেল সেকেন্ড দীর্ঘ হয় না।

এম বার্নস্টেইন তার daemontoolsটুলসেট সহ বেশ কয়েকটি সরঞ্জাম লিখেছিলেন যেগুলি প্রয়োজনীয় right/কারণ তারা ১৯ time_t1970০-০১-০১ থেকে 00:00:00 টিআইএর পর থেকে কেবলমাত্র টিএআই সেকেন্ড পেতে 10 যোগ করেছিলেন । তিনি ম্যানুয়াল পৃষ্ঠায় এটি নথিভুক্ত।

এই প্রয়োজনীয়তাটি (সম্ভবত অজ্ঞাতসারে) টুলসেটগুলি যেমন daemontools-encoreএবং runitফেলিক্স ভন লাইটনার দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হয়েছিল libowfat। ব্যবহারের বার্নস্টেনmultilog , Guentermultilog , অথবা Pape,svlogd একটি ওলসন সঙ্গে posix/কনফিগারেশন, উদাহরণস্বরূপ, TAI64N টাইমস্ট্যাম্প সব পিছনে 26 সেকেন্ড (এই লেখার সময়) হতে হবে প্রকৃত TAI দ্বিতীয় 1970-01-01 00:00:10 যেহেতু গণনা TAI।

লরেন্ট বেরকোট এবং আমি এটিকে এস -6 এবং নোশায় সম্বোধন করেছিলাম, যদিও আমরা বিভিন্ন পদ্ধতি গ্রহণ করেছি। এম বারকোট tai_from_sysclock()একটি সংকলন-সময় পতাকা উপর নির্ভর করে। জখলাবার সরঞ্জাম যে TAI64N চেহারা চুক্তি TZএবং TZDIRকরতে এনভায়রনমেন্ট ভেরিয়েবল অটো-সনাক্তকরণ posix/এবং right/যদি তারা করতে পারেন।

মজার বিষয় হল, ফ্রিবিএসডি ডকুমেন্টস time2posix()এবং posix2time()ফাংশন যা ওএইএস সেকেন্ডের right/সাথে ওলসন মোডের সমতুল্য মঞ্জুরি দেয় time_t। এগুলি আপাতদৃষ্টিতে সক্ষম নয়।

আরেকবার…

ইউএনআইএক্স সময়টি আপনার কম্পিউটারের ইউএনআইএক্স চলমান কম্পিউটারে হার্ডওয়্যারে থাকা দোলকের দ্বারা পরিমাপ করা হয়। এটি এসআই সেকেন্ড ব্যবহার করে না; এটি ইউটিসি নয় যদিও এটি এটি পর্যাপ্তরূপে সাদৃশ্যযুক্ত হতে পারে; এবং এটি ইচ্ছাকৃতভাবে আপনার ঘড়িটিকে ভুল হতে দেয়।

আরও পড়া

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.