2038年问题 linux内核5.6,Linux Kernel 5.6 开发者已率先做好准备 应对 2038 年问题

新十年伊始,Linux Kernel 5.6的开发者已经准备好着手解决将在下一个十年到来的2038年问题(又称“Y2038”或“Unix Y2K”问题)。Linux 5.6也成为第一个为32位系统准备运行到2038年之后的主线内核。

2038年问题与千年虫问题类似,它可能会导致某些软件在2038年1月19日3时14分07秒之后无法正常工作。届时,在大部分32位操作系统上,依据“time_t”标准,时间将会“绕回”且在内部被表示为一个负数,并造成程序无法工作,因为它们无法识别2038年,而可能会跳回1970年或1901年。

699a9c475d6e49d457571398ebabf137.gif

现阶段,还没有针对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构建用户空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值