计算机date时间和‘千年虫事件’

admin 18 2024-07-05

  千年虫事件,又叫做或。别名:Y2K bug。   首先,要明确一点:‘千年虫事件’是一种程序处理日期上的bug(计算机程序故障),而非病毒。   千年虫问题产生的原因是:使用计算机程序的智能系统,它的年份使用两位十进制数来表示,因此,当日期从后,系统将无法正常识别“00”表示的2000年还是1900年,从而在跨世纪的年份、日期处理时产生计算错误,引发各种各样的计算机业务处理系统和控制系统的功能紊乱。   如果’千年虫‘问题没有得到及时的解决,那么我们的生活将出现意想不到的混乱……   怎么样,看过这些例子,即使你还没有买电脑,也不会觉得千年虫与你一点关系没有吧?……   此时,有的小伙伴可能会说“ 怕个锤子”,我用的是Linux系统。   ^_^,别着急,您往下看:   如同Windows的‘千年虫事件’,Linux也将遇到同类问题:   ‘2038问题’ 即 32位的Unix/Linux操作系统时间溢出问题。我们知道Unix系统的‘生日’是,该bug隐患也是由此产生。因为当时用来写Unix/Linux的是C语言,C语言中用 time_t 来代表时间和日期,time_t 是整数int 型的,它用来记载。   这个数据是以32位存储的,第一位是符号位,其余的31位用来存数字,所以它的最大值为:2^32-1 = 2147483647。也就是说,从Unix系统的 生日 算起,最多可以用到03时14分07秒。   到时数字不会自动增加,而是会变为-2147483648,而这串数字代表的时间是1901年12月13日20时45分52秒,这会导致很多的程序出现问题,甚至崩溃。   Linux系统的几种时间:   Linux UTC时间是指格林威治标准时间,同时是世界标准时间,不受地理位置的影响。   本地时间是指不同地区的本地时间,它受地理位置的影响,比如中国的本地时间是东8区,而美国的本地时间是西6区。   (特别是docker容器服务内,外时间/时区的同步问题。)   2038这个bug不仅比千年虫更隐蔽,而且会影响系统最底层的时间控制功能。   所以,相比会导致应用层程序出现问题的‘千年虫事件’,业界公认  会更具有破坏力。   相信随着科技的进步,UNIX的‘2038年问题’将会迎刃而解。   但就事实而言,目前许多UNIX系统都有足够的能力服役到2038年而毫无问题。~   因此,如果有意添购电脑主机,而且有预期会使用到那个时候,最好是选购电脑。

计算机date时间和‘千年虫事件’

你可能想看:
上一篇:高考前,那个能上北大的女孩患了抑郁症
下一篇:记忆深处的浪花作文
相关文章