关于千年虫
2023-04-08 13:28 作者:ibluski-plus | 我要投稿
::这是四五年级写的东西,一直待在草稿箱里看着扎眼,修改一下发出来罢
::可能有误导内容,建议自行从相关渠道了解
最近闲来无事,那就大概讲讲关于Y2K(千年虫)和Y2K38(2038年问题)
千年虫,也就是Y2K,是指在2000年会发生的各种关于计算机中时间计算的问题的统称
在发明计算机没多久的时候,还是二十世纪,那时的储存空间的成本非常昂贵,储存空间的单位以KB计
于是聪明的人们想出了一个办法,用一个六位数表示时间,比如1965年12月12日,表示为65/12/12。但这个时间表示的系统有一个不可忽视的问题,那就是年份。
由于年份是四位数的,而这种用两位数表示时间的方法必然固定住前两位数字,而这两个数字就是19,系统通过这种方式得到完整年份。当时的工程师们没有太关注这一问题,以至于它在临近千禧年之时才开始为人们所重视。因为计算机系统中的很多事件依靠着系统时钟,所以当这个系统出问题的时候电脑也就失了智。举个例子,设定于2000年1月1日执行的软件由于这个问题永远都不会被执行。当时的人们极度恐慌,因为交通,发电厂,通讯等等都依赖着计算机系统,这也就意味着一但千年虫发生,或将让整个社会瘫痪。人们庆祝新千年的同时也在担心着这场灾难的到来,不过好在包括中国在内的大部分国家都没有受到千年虫的影响,但也不意味着什么事都没有。它还是造成了一定的经济损害。
接下来我们再讲讲y2k38也就是2038问题。注意,接下来的东西会有点难,仔细听好,已经明白它是怎么工作的人请自行跳过。
在诸如Windows,Linux一类的主流系统中,普遍使用unix时间戳来表示时间,这个时间戳的长度根据系统位数而定。32位系统中,时间戳长32位,64位系统同样
时间戳使用2进制表示时间
(未完待续)