הבעיה של 2038 והשלכותיה בפועל

שירות העסק

בוודאי כל אחד מכם זוכר את ההייפ התקשורתי שפרץ סביב מה שנקרא באג מילניום (בעיית 2kY) - נקרא כך למרות שזה לא היה באג, וגם המילניום החדש לא התחיל באותה תקופה. חזיונות הקסנדרה של האנליטיקאים דאז לא היו מוגזמים - העולם באמת עמד בסכנת קטסטרופה ענקית, והימנעותו נבעה מאמצעי נגד בזמן. הבעיה הייתה סימון התאריך הדו ספרתי, שעבד בצורה מושלמת בשנות ה-70, ה-80 וה-90. הנקודה היא ש"00", שהיא שנת 2000 בסימון זה, יכול להתפרש על ידי מחשב כשנה... 1900. מעניין לציין שזו לא הייתה הבעיה האחרונה עם זמן הקלטה בהיסטוריה של מדעי המחשב, כי בעוד פחות מ-24 שנים, כלומר ביום שלישי, 19 בינואר 2038 בשעה 3:14:07 GMT, יתברר אם כל המחשבים ב- העולם התכוננו ליום הדין שנחזה מראש במשך זמן רב. זו הבעיה של 2038.

מאיפה הבעיה של 2038?

אם לא ניתן להכניס את השינויים המתאימים, המכשירים האלקטרוניים הלא מוכנים יעברו לשעה 20:45:52, 13 בדצמבר ... 1901 שנייה לאחר הצגת התאריך הנ"ל. מה יגרום למסע בזמן כזה? הכל מקורו בשנות ה-70, כאשר תוכננו מערכות ה-UNIX הראשונות - הארכיטקטורה של מערכת הפעלה מודרנית מבוססת במידה רבה על העבודה הזו. לאחר מכן נעשה שימוש במשתנה של 32 סיביות לייצוג הזמן, שיכול לקחת ערכים מ-2147483648 ל-2147483648 - במקרה זה המספרים הללו מייצגים שניות. התאריך של "תחילת העולם" נקבע אז ב-1 בינואר 1970. המרת הערך המקסימלי של המשתנה - 2,147,483,648 שניות - לשנים, נקבל את התאריך הנ"ל בינואר ב-2038. כאשר מלאי המספרים יגמר, המשתנה ייקח את ערכו השלילי המקסימלי, שהוא 2,147,483,648 שניות לפני תאריך "תחילת העולם" – כלומר, הזמן יחזור כמעט 137 שנים אחורה. עבור חלק ממחשבי אפל הכוללים מערכות המשתמשות במשתנה 32 סיביות, האסון יתרחש מעט מאוחר יותר - ב-6 בפברואר 2040 בשעה 6:28:15 GMT.

למעשה, לא ידוע מדוע בחרו מדענים במשתנה המסוים הזה לצורך ייצוג הזמן – הם יכלו להשתמש ב-64 ביט, מה שנותן טווח זמן רחב בהרבה, אפילו יותר מגיל היקום. אולי הסיבה הייתה חוסר חשיבה קדימה - מי היה תוהה אילו צרות יהיו לאנשים 68 שנים מאוחר יותר? אולי האשמים ציפו שבעוד כמעט שבעה עשורים, האנושות תתמודד עם הערמון הלוהט שנזרק בלי קושי קל - מי יודע.

הבעיה של 2038 - מה יקרה?

ומהן ההשלכות של תזוזה פתאומית אחורה בזמן על הבעיה של 2038? ענק - גם מכשירים מיוחדים וגם מחשבים ביתיים רגילים משתמשים בחותמות זמן. תארו לעצמכם שבמפעל מודרני, שבו כל רכיב צריך להיות במקום הנכון בדיוק בזמן מסוים, השעון שמשמש את המחשב השולט כדי להפעיל תהליכים מפסיק לפתע לעבוד. תארו לעצמכם מעבדות שבהן הדיוק של ערבוב מרכיבים כימיים הוא חיוני. תחשוב על שליטה אוטומטית בתנועת הרכבות ובהרכבת התחתית שתשתמט כשהזמן יחזור לפתע למעלה ממאה וחצי אחורה. מערכות הנחיית מטוסים ורקטות, הקובעות את מועד התרחשותו החזוי של אירוע מסוים באמצעות מדידות זמן, יפסיקו לפעול. בסך הכל - בעוד פחות מ-24 שנים העולם עלול להיפגע מאסון שיגרום לאובדן של מיליארדים ולמותם של אלפי אנשים. האם הבעיה של 2038 היא בלתי נמנעת?

לֹא. כבר עכשיו, מחשבים רבים (אך עדיין מיעוטם) משתמשים במערכות הפעלה מודרניות יותר, 64 סיביות, שסופרות זמן לפי נוסחה חדשה ומרווחת יותר. מישהו יכול לומר: עד 2038 כל המערכות וכל האפליקציות בוודאי ייכתבו "חדש". זה לא כל כך בטוח - כיוון שהפתרון מלפני יותר מארבעים שנה הוא כל כך בר קיימא גם עכשיו, אי אפשר להניח מראש שבעשורים הקרובים הוא יהפוך למוות לחלוטין. עם זאת, אין צורך לסחוט ידיים - בואו נחזיק אצבעות למתכנתים ויצרני מחשבים לא להתעלם מאיום כמו בעיית שנת 2038. ונוכל לתרום לשינוי על ידי מעבר מ-32 ביט ל-64 מערכות הפעלה -bit - כמו Windows 7 או 8 (גם גרסה כזו של XP שוחררה, אך תוכנה זו אינה נתמכת עוד על ידי מיקרוסופט).