Linux Kernel 5.6 开发者已准备好应对 2038 年问题

  • 时间:
  • 浏览:0

新十年伊始,Linux Kernel 5.6的开发者前一天准备好着手除理将在下另4个十年到来的2038年现象报告 (又称“Y2038”或“Unix Y2K”现象报告 )。Linux 5.6也成为第另4个为32位系统准备运行到2038年前一天的主线内核。

2038年现象报告 与千年虫现象报告 之类于,它前一天会是因为否则 软件在2038年1月19日3时14分07秒前一天无法正常工作。届时,在大主次32位操作系统上,法律方法“time_t”标准,时间前一天“绕回”且在内部内部结构被表示为另4个负数,并造成多线程 无法工作,前一天它们无法识别2038年,而前一天会跳回1970年或1901年。

现阶段,还这么针对2038年现象报告 的通用除理方案。Linux 5.6已率先做好准备,并极有前一天反向移植到5.4/5.5稳定分支。

在Linux开发人员Arnd Bergmann寄给Linus Torvalds的邮件中,他提到,Linux Kernel 5.6应该作为基础,使32位系统并能运行到2038年前一天。他提出的PR包括对time_t的更改,即更改存储秒数(带符号的32位整数)。

前一天2038年现象报告 ,Unix时间戳将在2038年1月19日溢出,前一天它无法存储带符号的32位整数,否则将限制更新32位系统。为了除理你这种现象报告 ,Bergmann表示,用户空间应用多线程 时要使用现代Linux内核系统调用,否则时要使用GNU C Library 2.32和Musl libc 1.2针对64位time_t构建用户空间。