一种记录计算机真实开机使用寿命的方法及系统与流程

文档序号:11996291阅读:464来源:国知局
本发明涉及计算机,尤其涉及一种记录计算机真实开机使用寿命的方法。

背景技术:
目前并没有较好的方法来获取计算机自从出厂后的真实开机使用寿命。用户对计算机进行保修,只是以发票时间来确定是否到达保修期限。比如,一台计算机的保修期定为一年,但实际上有两种用户:一种是天天使用计算机,使用频率相当高;另一种是很少使用计算机,那么这两台计算机的真实使用寿命当然是不一样的。在获取计算机的真实开机使用寿命的情况下,即可设定计算机的维修保养周期:用户计算机或者以发票时间作为保修期,或者以真实开机寿命作为保修期,哪个先到,就算是保修期到达。汽车行业即是采用类似的保修期计算方法。另外,用户在购买计算机时,由于不知道计算机的真实开机使用时间,往往会有所顾虑,担心是否会买到别人的返修机器。如果计算机可以显示真实开机使用寿命,也能帮助用户打消顾虑。ACPI(AdvancedConfigurationandPowerInterface),即高级配置与电源接口。ACPI在运行中有以下几种模式:S0:正常模式。S1:待机模式,只有CPU停止工作,其他设备仍处于加电状态。S2:CPU关闭,和S1几乎一样。S3:待机模式,将系统切换到该模式后,除了内存,电脑其他设备的供电都将中断,只有内存依靠电力维持着其中的数据(因为内存是易失性的,只要断电,数据就没有了)。这样当希望恢复的时候,就可以直接恢复到待机前状态。这种模式并非完全不耗电,因此如果在待机状态下供电发生异常(例如停电),那么下一次就只能重新开机,所以待机前未保存的数据都会丢失,但这种模式的恢复速度是最快的。S4:休眠模式,将系统切换到该模式后,系统会自动将内存中的数据全部转存到硬盘上一个休眠文件中,然后切断对所有设备的供电。这样当恢复的时候,系统会从硬盘上将休眠文件的内容直接读入内存,并恢复到休眠之前的状态。这种模式完全不耗电,因此不怕休眠后供电异常,但代价是需要一块和物理内存一样大小的硬盘空间(现在的硬盘已经跨越TB级别了,大容量硬盘越来越便宜)。而这种模式的恢复速度较慢,取决于内存大小和硬盘速度。S5:关闭计算机。SMI:SystemManagementInterrupt系统管理中断。

技术实现要素:
本发明的目的在于提供一种记录计算机真实开机使用寿命的方法,以便获取计算机的真实开机使用寿命,方便用户以及维修人员查询。为实现上述目的,本发明提出了一种记录计算机真实开机使用寿命的方法,该方法包括:计算机在开机时,运行到BIOS的指定代码,发出RDTSC指令;将上述指令获取到的时间计数与BIOSROM中已存在的时间计数相加;当计算机试图进入待机模式、休眠模式或者关机时,执行BIOSACPI代码,发出系统管理中断,SMI;在SMI处理程序中,再次发出RDTSC指令;将上述再次发出的RDTSC指令获取到的时间计数与BIOSROM中已存在的时间计数相加。本发明的该方案的有益效果在于通过上述方法能够获取计算机的真实开机使用寿命,方便用户以及维修人员查询。优选的是,所述计算机在开机时或者在BIOS的设定程序中,显示所述计算机在本次使用前的真实开机使用寿命。本发明还提出了与上述方案相对应的系统:一种记录计算机真实开机使用寿命的系统,该系统包括:计算机在开机时,运行到BIOS的指定代码,发出RDTSC指令的装置;将上述指令获取到的时间计数与BIOSROM中已存在的时间计数相加的装置;当计算机试图进入待机模式、休眠模式或者关机时,执行BIOSACPI代码,发出系统管理中断,SMI的装置;在SMI处理程序中,再次发出RDTSC指令的装置;将上述再次发出的RDTSC指令获取到的时间计数与BIOSROM中已存在的时间计数相加的装置。优选的是,所述计算机在开机时或者在BIOS的设定程序中,显示所述计算机在本次使用前的真实开机使用寿命的装置。本发明与现有技术相比具有以下有益效果:(1)用户计算机或者以发票时间作为保质期,或者以真实开机使用寿命作为保质期,哪个先到,就算是保质期到达。汽车行业即是采用类似的保质期计算方法。这个可以帮助经销商在做售后服务时,更好掌握电脑的使用情况,减少不必要的维修保养。(2)计算机在开机时或者在BIOSSETUP中,显示计算机在本次使用前的真实开机使用寿命,方便用户及维修人员查询计算机的真实开机使用寿命。(3)本发明所涉及的方法可以促进一种计算机环保理念,比如在晚上计算机无需工作时,不要整晚开机,可以将计算机处于休眠模式。附图说明图1示出了本发明所涉及的记录计算机真实开机使用寿命方法的流程图。具体实施方式下面结合附图对本发明的具体实施方式做进一步说明。以英特尔X86系列微处理器体系结构为例对本发明的具体实施方式作出说明,X86系列的CPU均有一条CPU指令RDTSC,利用该RDTSC指令即可获得计算机开机的时间计数。RDTSC指令读取时间标签计数器,如下表1所示,通过执行RDTSC指令,将CPU的时间标签计数器的当前值加载到EDX:EAX寄存器。时间标签计数器包含在64位MSR寄存器中。MSR寄存器的高32位加载到EDX寄存器,其低32位加载到EAX寄存器。CPU每时钟周期递增时间标签计数器MSR一次,在CPU复位时将它重设为“0”。操作码指令说明0F31RDTSC将时间标签计数器读入EDX:EAX表1示出了RDTSC指令说明RDTSC指令不是序列化指令。这样,在读取时间标签计数器之前,它没有必要等到前面的所有指令都已执行。类似地,在执行读取操作之前,后面的指令也可以开始执行。具体的记录计算机真实开机使用寿命方法的流程图如图1所示,首先计算机在开机时或者在BIOS的设定程序(BIOSSETUP)中,显示计算机在本次使用前的真实开机使用寿命,当计算机是首次使用时,显示“0”,这样做方便了用户以及维修人员的查询工作,能够清楚的获知本计算机在本次使用之前的真实开机使用寿命,如图1中S101所示;当计算机开机时,运行到BIOS的指定代码,就会发出RDTSC指令,从而获得所述计算机本次开机开始一直到BIOS开始记录这段期间的时间计数,如图1中S102所示;将上述RDTSC指令获取到的时间计数与BIOSROM中已有的时间计数相加,实现计算机真实开机使用寿命的累加,当然,如果所述计算机是第一次使用,则BIOSROM的时间计数器为0,如图1中S103所示;在计算机运行到OS阶段,试图进入待机模式S1或S3,休眠模式S4或者计算机试图关机S5时,OS执行BIOSACPI代码,就会发出SMI,如图1中S104所示;在SMI处理程序中,会再次发出RDTSC指令,从而获取到所述计算机从BIOS开始记录到所述计算机进入待机模式S1或S3,休眠模式S4或者计算机试图关机S5前的这段期间的时间计数,如图1中S105所示;将上述RDTSC指令获取到的时间计数与BIOSROM中已有的时间计数相加,即可不断更新本计算机的真实开机使用寿命,如图1中S106所示。值得注意的是,如果用户需要更新BIOSROM,那么BIOSROM中的时间计数器必须保留,不可以被复位。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1