বছর 2038 সমস্যা [বন্ধ]


উত্তর:


17

আমি এম্বেডেড লিনাক্স সিস্টেমে এই সমস্যার মুখোমুখি হয়েছি যার জন্য কিছু দীর্ঘমেয়াদী ক্রিপ্টোগ্রাফিক শংসাপত্রগুলিতে 2038 এর পূর্বের তারিখগুলি পরিচালনা করতে হবে, তাই আমি বলতে চাই এর আধিপত্য আপনার অ্যাপ্লিকেশন ডোমেনের উপর নির্ভর করে।

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


ভাল একটা! আমি সেই উদাহরণটি ভেবে দেখিনি! পিকেআই স্ট্যান্ডার্ড শংসাপত্রের ভিতরে টাইম সিনট্যাক্স হিসাবে কী ব্যবহার করে? আমি কখনই দেখিনি!
জেফক

@ জিওফসি, প্রকৃতপক্ষে এটি একটি স্বত্বাধিকারী ফর্ম্যাট ছিল এবং এর অভ্যন্তরীণ তারিখ / সময় কাঠামো ছিল যা তারা নিজেরাই 2038 সালের পূর্বের তারিখগুলি ফিট করার পক্ষে যথেষ্ট বড় ছিল, তবে এটি তারিখ / সময় রূপান্তরকরণের জন্য জিলিবিসি ফাংশন ব্যবহার করে। আমি যদি সঠিকভাবে স্মরণ করি তবে mktimeকলটি নিঃশব্দে ব্যর্থ হয়েছিল।
অ্যালেক্স বি

13

আমি মনে করি এটি একটি উল্লেখযোগ্য সমস্যা হতে চলেছে, ১৯৯৯/২০০০ এর Y2K ইস্যুগুলির তুলনায় অনেক বেশি ক্ষতিকারক কারণ প্রভাবিত কোডটি সাধারণত নিম্ন-স্তরের (এটি সিটিটাইম) এবং তাই সেই জায়গাগুলি স্পষ্ট করা শক্ত যেখানে সেই সময়টি সংরক্ষণ করা হচ্ছে।

বিষয়গুলিকে আরও জটিল করার জন্য, ওয়াই টু কে স্যাঁতসেঁতে স্কোয়াব বলে মনে করা হয়েছিল ঘটনাটি রানআপ করার সময় সমস্যার দিকে দৃষ্টি আকর্ষণ করা আরও শক্ত করে তুলবে।

সাংস্কৃতিক তথ্যসূত্র:

কোরি ডক্টরো খোলা লাইসেন্সের আওতায় শর্ট স্টোরি কমিজিং / প্রকাশের জন্য একটি নতুন মডেল চেষ্টা করছিলেন এবং আমি তাদের মধ্যে একটি 2038 থিম প্রস্তাব করেছি, যা তিনি ইপোচে দুর্দান্তভাবে করেছিলেন: http://craphound.com/?p=2337


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

লিংক মার্কের জন্য চিয়ার্স।
Boehj

9

কয়েক বছর আগে, বন্ধকী প্রোগ্রামগুলির মতো এলাকায় 30 বছরের loansণের জন্য গণনা করার ক্ষেত্রে ইতিমধ্যে সমস্যাগুলির প্রতিবেদনগুলি ছিল: ২০০৮ + ৩০ = ২০৩৮।


8

একটি 64 বিট ওএস শেষ পর্যন্ত 2037 সমস্যার অপ্রাসঙ্গিক। (সিটিটাইম 2038 এর চেয়ে 2037 এর কাছাকাছি চলে গেছে)।

প্রশ্নটি ওএসের সামান্য গভীরতা নয়, বরং ওএস কীভাবে স্টোর করে। অথবা ডাটাবেস কলাম কীভাবে সময় সঞ্চয় করতে পছন্দ করে। বা কীভাবে এই ডিরেক্টরিটি পরিষেবাটির সময় সিনট্যাক্স বৈশিষ্ট্যের স্টোর সময়টিকে শেষ প্রান্তে সরবরাহ করে।

এটি লোকেরা ভাবার চেয়ে অনেক বড় সমস্যা, যেহেতু 32 বিট টাইম কাউন্টার ব্যবহার করা এত সাধারণ এবং সাধারণ।

সময় সংরক্ষণ করে এমন প্রতিটি দর্শন পুনর্বিবেচনা করা দরকার, এবং সমস্ত এপিআই'র আপডেট হওয়া এবং এটি ব্যবহার করা সমস্ত সরঞ্জামও আপডেট হয়।

বিমূর্ত স্তরগুলি যা আপনাকে মানব পাঠযোগ্য সময় বিন্যাসের মাধ্যমে সময় নির্ধারণ করতে দেয়, পরিবর্তিত লিখিত কাঁচা ডেটার পরিবর্তে এটি আরও সহজ করে তোলে, তবে এটি কেবল একটি ক্ষেত্রে।

আমার সন্দেহ হয় এটি বেশিরভাগ লোকেরা মনে করেন এর থেকে অনেক বড় চুক্তি হতে চলেছে।


1
আমি যে বৃহত্তম সমস্যাটি দেখি তা হ'ল ফাইল ফর্ম্যাট এবং ফাইলসটেন্স, তবে এক্সট 4 এর তারিখের সীমা 2514, ভিফ্যাট 2107 re সমস্যাটি রিসফার্স (2038) এর সাথে রয়েছে।
ম্যাকিয়েজ পাইচোটকা

ReiserFS এছাড়াও অন্যান্য সমস্যা আছে। আমি এখনও মনে করি সিটিটাইমে লোকেরা সেই স্টোরের সময়টির চেয়ে অনেক বেশি লুকানো জায়গা রয়েছে। এটি একটি রঞ্জক সহজ এবং দরকারী সময় ফর্ম্যাট। অবশ্যই, স্বাক্ষরযুক্ত সিটিটাইমে 2037 সমস্যা নেই have আমি মনে করি এটি 2107 টাইমস্ট্যাম্প কেস।
জেফক

1
আপনি অ্যাপল এইচএফএসের কথা ভাবছেন। ফ্যাট মোটেও ব্যবহার করে না time_t। এটি এক 16-বিট মান হিসাবে ক্ষেত্র হিসাবে বছর, মাস এবং দিন সঞ্চয় করে: দিনের জন্য 5 বিট, মাসের জন্য 4, বছরের জন্য 7 রেখে যায়। 2107 হ'ল 1980 (FAT জমিতে বছর শূন্য) + 2 ^ 7-1। আরও মজাদার জন্য, ফ্যাট দিনের সময় একইভাবে অন্য 16-বিট মানতে সঞ্চয় করে, তবে আপনি যদি গণিতটি করেন, আপনি দেখতে পাবেন যে এভাবে দিনের সময় সংরক্ষণ করতে আপনার 17 বিট লাগবে। সেকেন্ডের জন্য এক বিট রেজোলিউশন ফেলে দিয়ে এফএটি চারপাশে আসে; FAT 2 সেকেন্ডেরও কম পৃথক পরিবর্তনের পার্থক্য করতে পারে না। আহ, মাইক্রোসফ্ট, আপনার অযথা অসম্পূর্ণতা ছাড়াই এটি কতটা বিরক্তিকর পৃথিবী হবে!
ওয়ারেন ইয়ং

8

এটি আমার মতামত, তবে এই সমস্যাটি 32 বিট কাউন্টার সমস্যার কারণে, আজ বেশিরভাগ ওএস 64 বিট (কমপক্ষে bit৪ বিট কম্পিউটারে) সময় পরিচালনা করতে আপডেট করা হয়, তাই আমি অনুমান করি যে সমস্ত ওএস এবং সফ্টওয়্যার একটি দীর্ঘ প্রস্তুত থাকবে 2038 এর আগে সময়, 2020 বলুন So সুতরাং আপনার কেবল তখনই সমস্যা হতে পারে যদি 2038 সালে আপনি এখনও 2020 থেকে সফ্টওয়্যারটি চালাবেন
almost প্রায় সব ক্ষেত্রেই সমস্যাটি না হওয়ার কারণ। আমি আশা করি.


আমি উবুন্টু 32 বিট সংস্করণটি চেষ্টা করেছি এবং এটি 2038 টি সমস্যা দেখিয়েছে তবে উবুন্টু 64 বিট সংস্করণটি চালানো 2038 সমস্যার কোনও চিহ্ন দেখায় নি। আমি অন্য কোনও ইউনিক্স চেষ্টা করিনি।
জিমি হেডম্যান

হ্যাঁ বেশিরভাগ 32 বিট সংস্করণে আপনি সমস্যাটি দেখতে পাবেন তবে 64 বিটের সংস্করণে নয়। আপনি 2038. আর কোনো 32 বিট অপারেটিং সিস্টেম আছে আশা করতে পারেন
ব্যাসার্ধ

2
এটি একটি হাস্যকর ধারণা। আমরা আজকের বিশ্বের 16 টি (এবং এমনকি 8 বিট) মাইক্রোপ্রসেসর ব্যবহার করি, 32 বিট মাইক্রোপ্রসেসরগুলি ভবিষ্যতে যাদুকরীভাবে অদৃশ্য হয়ে যাবে তা কী বলা যায়? এটি গড় ব্যবহারকারীর উপর প্রভাব ফেলবে না তা বলা ঠিক, তবে প্রান্তিক ক্ষেত্রে এটি সমস্যা হতে পারে।
এলি ফ্রে

ঠিক আছে - 16 বিট এবং 8-বিট কম্পিউটারগুলি 1 তারিখটি স্থানান্তর করতে পারে (1970-01-01 থেকে উদাহরণস্বরূপ 2010-01-01 তে) - তবে এটি নির্দিষ্ট কিছু এপিআই / এবিআই কনভেনশন ভেঙে ফেলতে পারে 2. টাইমার ক্ষেত্রটি প্রসারিত ( যা নির্দিষ্ট ক্ষেত্রে 'কেবল' এবিআই) কেটে যেতে পারে।
ম্যাকিয়েজ পাইচোটকা

1

এত বড় ব্যাপার নয়।

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

সেই সময়, পরীক্ষার ব্যয়টি এত বেশি থাকায় তারা প্রায় সবসময় বিভিন্ন তারিখের সাথে পরীক্ষিত হয় যেমন 1/1/99 (কিছু বিকাশকারী প্রেরিত হিসাবে 99 ব্যবহার করতে পারেন), 12/31/99, 1/1 / 00, 2000, 1/19/38 এবং আরও অনেকের লাফালাফি। ক্লান্তিকর তালিকা জন্য এখানে দেখুন ।

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


UNIX সময়_t টাইপ 32-বিট হওয়ার কারণে এই সমস্যাটি ঘটে।
ইউহং বাও

1

ততক্ষণে এখনও চলছে 32 টি বিট সিস্টেমগুলি একটি সমস্যা হবে।


2
সমস্যাটি আসলে কী হয়ে যায় এবং আরও পরিষ্কার করার জন্য আপনি কী সেটির বিশদ বর্ণনা করতে পারেন এবং কীভাবে তার প্রতিক্রিয়া জানাতে হয়?
অ্যান্থন

সমস্যাটি 32 বিটের পূর্ণসংখ্যার সাথে সম্পর্কিত যা সময় গণনার জন্য ব্যবহৃত হয়। সময়টি 01 ই জানুয়ারী 1970 থেকে বিগত সেকেন্ডের সংখ্যায় পরিমাপ করা হয় example উদাহরণস্বরূপ একদিনের পরে এই কাউন্টারটি 86400 হবে So সুতরাং ২০৩৮ সালে এই মানটি উপচে পড়বে কারণ এটি একটি মান ধরে রাখতে পারে যা একটি সংখ্যায় অধিবেশন হতে পারে than স্বাক্ষরযুক্ত 32 বিট পূর্ণসংখ্যা টাইমস্ট্যাম্পের জন্য b৪ বিট ব্যবহার করে একটি 64 বিট সিস্টেমে এই সমস্যা থাকবে না কারণ এটি রবিবার, 4 ডিসেম্বর 292,277,026,596 (292 বিলিয়ন বছর) 15:30:308 পর্যন্ত কাজ করতে সক্ষম হবে
রাহুল কাদুকর

0
#include <time.h>
#include <stdio.h>

int main() {
  time_t t = (time_t)(1L << (sizeof(time_t)*8 - 9));
  printf("%d\n", sizeof(time_t));
}

এটি 9 এর পরিবর্তে 1 হওয়া উচিত তবে সিটিটাইম বড় তারিখটি পরিচালনা করে না:

8 - Sun Jun 13 07:26:08 1141709097

আমার সিস্টেমে (bit৪ বিটের অবশ্যই) সময় আরও 1 মিলিয়ন বছর ধরে চলতে পারে। সমাধানটি হ'ল সিস্টেমগুলি b৪ বিটে আপডেট করা।

ধরা হচ্ছে প্রোগ্রামগুলি এটি পরিচালনা করতে পারে না handle বিশেষত পুরাতন, নিয়মিত এবং রক্ষণাবেক্ষণ করা হয় না। দেবগণ সত্য অনুসরণ করতে অভ্যস্ত:

  • intএর 32 বিট (প্রকৃতপক্ষে তারা অন্যদের মধ্যে its৪ বিট সিস্টেমে 32 বিট হিসাবে সংরক্ষণ করা হয় কারণ ধারণা করা হয়েছিল যে তারা সর্বদা 32 বিট থাকে)
  • বেশিরভাগ ধরণের (যেমন time_t) নিরাপদে কাস্ট করা যায়int

জনপ্রিয় এফএলএসএস সফ্টওয়্যারগুলিতে উভয় জিনিসই সম্ভবত 'অনেকের চোখ' পর্যালোচনার মাধ্যমে পাবেন না। কম জনপ্রিয় এবং যথাযথ উপর এটি অবিরাম লেখকের উপর নির্ভর করবে।

আমি অনুমান করি যে ফ্রি * নিক্স ওয়ার্ল্ডে 2038 'অযৌক্তিক' হবে যখন আমি "যথাযথ" প্ল্যাটফর্মগুলিতে সমস্যা (যেমন প্রচুর সংখ্যক যথাযথ সফ্টওয়্যারযুক্ত) সমস্যাগুলি আশা করব - বিশেষত যদি কিছু ক্রুশিয়াল অংশটি বজায় না থাকে।


এটি 'সিস্টেম' বা 'ওএস' নয়। বেশিরভাগ পূর্ববর্তী 32 বিট ওএস (হেক এমনকি 16 বিট ওএস এর) 64 বিট গণিত করতে পারে। ওএস স্তরে bit৪ বিটের গভীরতা মূলত মেমরির মডেলের একটি উল্লেখ, গণিত করার ক্ষমতা নয়। এবং সময় সব গণিত সম্পর্কে।
জেফক

হ্যা এবং না. এটি সত্য যে 32 বিট এবং 64 বিট ওএস 64 বিট পাটিগণিত সম্পাদন করতে পারে (আপনি কোনও গাণিতিক অনুকরণ করতে পারেন)। তবে time_t(বা সমমানের) 32 বিট ওএসে 32 বিট থাকে যখন time_t(বা সমমান) 64৪ বিট ওএসে 64৪ বিট থাকে have আমি ভেবেছিলাম নির্দিষ্ট সরলীকরণের সাথেও এটি যথেষ্ট পরিস্কার।
ম্যাকিয়েজ পাইচোটকা

0

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


-5

Y2K সমস্যাটি ছিল চারটির পরিবর্তে বছরের প্রতিনিধিত্বকারী দুটি চার্টার।

অনেক ব্যবস্থার মধ্যে ১৯০০ থেকে ২০০ পার্থক্য করার কোনও উপায় ছিল না কারণ তারা কেবল '00' সংরক্ষণ করেছিল।

প্রায় সমস্ত সিস্টেমে এখন বছর সংরক্ষণের জন্য 4 টি চর ব্যবহার করা হয়, বা তারা কোনও ধরণের লাইব্রেরি ব্যবহার করে।

সুতরাং এর পরিবর্তে সকলকে 10000 (Y10K) সম্পর্কে উদ্বেগ জানাতে দিন। ওএস এবং গ্রন্থাগারের লেখক ব্যতীত ...


সম্ভবত নুন (ভাল ব্যবহারিকভাবে নুন) সংরক্ষণের তারিখ এখন এমন ফর্ম্যাট (যেমন ডিসিডি বা স্ট্রিং)। সময় সাধারণত অবজেক্টস বা ইনট দ্বারা পরিচালিত হয় (কেবলমাত্র ডিসপ্লে কোডটি আপডেট করার প্রয়োজন হবে)।
ম্যাকিয়েজ পাইচোটকা

হ্যাঁ, আমার বক্তব্য Y2K স্থির দৈর্ঘ্যের স্ট্রিং হিসাবে তারিখগুলি উপস্থাপনের ধারণাটিকে কার্যকরভাবে হত্যা করেছিল।
স্টিফেন জাজডজেউস্কি

@ স্টিফেন: সিওবিএল বিশ্বে নয়, তবে ইউনিক্স / লিনাক্সে ভাগ্যক্রমে কয়েকটি সিওবিএল বাস্তবায়ন রয়েছে।
ডেভিড থর্নলে

@ ডেভিড: কোবোল প্রোগ্রামগুলি বেশিরভাগ অংশের জন্য ওয়াই 2 কে ছিল। লিনাক্স / ইউনিক্স সিস্টেমগুলি, ব্যবহারকারীদের দৃষ্টিকোণ থেকে কি কখনও ওয়াই 2 কে ইস্যু করেছিল? মূল প্রশ্নের সহজ উত্তর হ'ল না।
স্টিফেন জাজডজেউস্কি

4
পোস্টারটি y2k সমস্যা সম্পর্কে জিজ্ঞাসা করছে না; তারা y2k38 সমস্যা সম্পর্কে জিজ্ঞাসা করছে, যা সম্পূর্ণ ভিন্ন জন্তু। একটি বিবরণের জন্য en.wikedia.org/wiki/Y2K38 দেখুন ।
কেভিন এম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.