ukr
русский

Минуле повертається: яка проблема чекає на людство в 2038 році

Анастасія Крищук

Минуле повертається: яка проблема чекає на людство в 2038 році
Людство вже 2038 року може зіткнутися з проблемою минулого. Джерело: Freepik

Хоча сьогодні багато хто може й не пам’ятати, у 1999 році в людей була велика тривога через прихід 2000 року. Головний страх полягав у тому, що під час переходу від 99 до 00 комп’ютери не зможуть правильно обробити нову дату, і вона буде відображатися як 1900 рік.

Це могло призвести до того, що комп'ютеризовані системи перестануть працювати, а разом із цим може настати глобальна катастрофа. Однак, як виявилося, Новий рік 2000 пройшов спокійно, завдяки великій підготовчій роботі, спрямованій на уникнення такого сценарію, пише IFL Science. 

19 січня 2038 року, за прогнозами, комп’ютери можуть знову стикнутися з проблемою – це день, коли час, якого вистачить лише до цього моменту, закінчиться. Це стосується систем, які використовують 32-бітний Unix-час, а таких більшість.

"32-бітне ціле число може зберігати значення лише в межах від -2147483648 до 2147483647", — пояснює компанія з кібербезпеки Tanium. Це означає, що максимальна часова мітка для таких систем становить 2147483647, що відповідає 19 січня 2038 року, 03:14:07 за всесвітнім координованим часом (UTC).

Читайте також: Вчені передбачили глобальне вимирання Землі: коли прогнозується

Ці числа не є випадковими: хоча для людини 2147483648 може виглядати як звичайне число, для комп'ютера, що працює в двійковій системі, це величезний рубіж – момент, коли лічильник досягне значення 100 000 000 000 000 000 000 000 000 000 000. Для 32-бітної системи це просто надто велике число, тому вона зробить єдине, що можливо – скине лічильник.

"Коли тимчасова мітка переповнюється, вона стає від'ємною, що призводить до помилок у датах і часі. Наприклад, для часу 03:14:08 20 січня 2038 року в Unix-часі мітка становить 2147483648. Оскільки це значення є неприпустимим, система скидає його до -2147483648, що відповідає 13 грудня 1901 року, 20:45:52 UTC. Це і є суть проблеми 2038 року", – пояснюють у компанії.

Попри всі попередні хвилювання, можна сподіватися, що цього разу людство все передбачило. Проблема з 2038 роком відома вже з 2006 року, коли подібна помилка торкнулася веб-сервера AOL. Власне, вирішення цієї проблеми є досить простим і очевидним – перехід на 64-бітні системи.

У 64-бітних системах є достатньо місця для зберігання тимчасових значень на мільярди років уперед, навіть якщо застосовувати високоточний (наносекундний) час.

Читайте також: Дату Судного дня розкрито: таємнича книга з архівів Ватикану назвала точну дату

Але багато баз даних, включаючи реляційні та NoSQL, все ще використовують 32-бітний час. Програми, написані мовами, що базуються на C, такі як C++ і PHP, також піддаються ризику. Уразливими можуть бути пристрої, що працюють на Windows, Linux, Android та iOS, а також медичні апарати, промислові системи управління на електростанціях і в транспорті, автомобілі з бортовими комп'ютерами, маршрутизатори тощо.

Це може призвести до серйозних наслідків.

"Точно оцінити нашу готовність складно. Нові операційні системи вже підтримують 64-бітний час, але основна проблема полягає в наявних системах. Перехід від 32-бітних до 64-бітних значень часу для операційних систем не такий простий", – зазначено в матеріалі.

Простіше кажучи, перехід на 64-бітний час може призвести до хаосу. Хоча сучасні комп'ютерні системи будуть оновлені до 2038 року, основна проблема полягатиме в старих програмах, які не оновлюються.

Навіть якщо вдатися до оновлення всіх 32-бітних систем, потрібно врахувати та дослідити вторинні ефекти від таких масштабних змін, щоб уникнути нових проблем.

Нагадаємо, раніше ми розповідали, що найпотужніша океанська течія Землі готує людству небезпечний сюрприз.

Бажаєте отримувати найактуальніші новини про війну та події в Україні – підписуйтесь на наш Telegram-канал!