- PVSM.RU - https://www.pvsm.ru -

В ядре Linux версии 5.6 разработчики решили проблему 2038 года для 32-битных систем

В ядре Linux версии 5.6 разработчики решили проблему 2038 года для 32-битных систем - 1

Проблему, которую можно было ожидать 19 января 2038 года во вторник в 03:14:07 по Всемирному времени (UTC), исправили разработчики Linux в новой версии ядра 5.6. Одним из основных разработчиков, занимающихся этой проблемой является Арнд Бергманн, который и сообщил об исправлении [1] в ядре Linux за восемьнадцать лет до возможного временного апокалипсиса [2] из-за использования способа хранения даты, согласно стандарту POSIX (UNIX timestamp, Unix epoch).

Над решением этой проблемы разработчики Linux трудились [3] несколько лет — y2038-endgame [4].

И вот, 29 января 2020 года стало известно, что разработчики не только решили [5] эту проблему 2038 для ядра Linux 5.6, а также собираются портировать патчи для ее решения в ранние версии ядра Linux — 5.4 и 5.5.

Правда, пока что решение сделано с несколькими оставшимися оговорками, например, пользовательское пространство и приложения, работающие в нем, должны быть построены на базе 64-битного формата time_t, а не 32-битного. Поддержка 64-битного формата time_t существует в библиотеках GNU C Library 2.32 и Musl libc 1.2. Также со стороны приложений пользовательского пространства, чтобы избежать проблемы 2038 года, они должны использовать все современные системные вызовы ядра Linux.

26 января 2020 года стало известно [6], что Линус Торвальдс представил [7] первый стабильный релиз ядра Linux 5.5 под кодовым названием Kleptomaniac Octopus. Выпуск новой версии ядра Linux вышел в соответствии с графиком, спустя два месяца после выхода предыдущей стабильной версии. Исходный код Linux 5.5 [8] доступен для загрузки с портала kernel.org.

Автор: denis-19

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/345219

Ссылки в тексте:

[1] исправлении: https://lkml.org/lkml/2020/1/29/355

[2] временного апокалипсиса: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0

[3] трудились: https://habr.com/ru/company/pvs-studio/blog/328054/

[4] y2038-endgame: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/log/?h=y2038-endgame

[5] решили: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.6-32-bit-Past-Y2038

[6] известно: https://habr.com/ru/news/t/485818/

[7] представил: https://lkml.org/lkml/2020/1/26/232

[8] Linux 5.5: https://www.kernel.org/

[9] Источник: https://habr.com/ru/post/486536/?utm_campaign=486536&utm_source=habrahabr&utm_medium=rss