現在開発中の「Linux 5.1」で2038年問題の対策が進められていることがわかりました(Phoronix)。
2038年問題とはUNIX系のOSで、時刻を32ビットの符号付き整数で保持しているために発生する問題です。1970年1月1日0時0分0秒(UTC)からの経過秒数として保持されている時刻が、2038年1月19日3時14分7秒(UTC)を過ぎるとオーバーフローするため、コンピューターが誤動作する可能性があるというものです。
Linuxカーネルでは、数年来"Y2038"対策が行われていますが、Linux 5.1カーネルでもこの作業が引き続き行われていて、時間関連のシステムコールの64bit版を導入するためのプルリクエストがThomas Gleixner氏から送られてきているとのこと。
clock_gettime64
clock_settime64
clock_adjtime64
clock_getres_time64
clock_nanosleep_time64
timer_gettime64
timer_settime64
timerfd_gettime64
timerfd_settime64
utimensat_time64
pselect6_time64
ppoll_time64
io_pgetevents_time64
recvmmsg_time64
mq_timedsend_time64
mq_timedreceiv_time64
semtimedop_time64
rt_sigtimedwait_time64
futex_time64
sched_rr_get_interval_time64
名前からも分かる通り、64bit版関数の導入が進められていることがわかります。
UNIXが開発された当時ははるか未来だった2038年ですがタイムリミットまで20年を切り、徐々に対策が進められていることがわかります。