本技术涉及计算机,特别涉及一种操作系统进入方法、装置、设备及存储介质。
背景技术:
1、目前,在多路服务器中,每个cpu(central processing unit,中央处理器)可以支持多个内存通道,并且每个内存通道可以支持多根内存条,如龙芯3c5000平台的双路服务器中的每个cpu支持4个内存通道,并且每个内存通道支持两根内存条。对于每个通道支持两根内存条(即2dpc,指cpu的单个内存通道可以插2根内存条)和每个通道仅支持单根内存条(即1dpc,dimm per channel,指cpu的单个内存通道只插1根内存条)的情况,需要在bios(basic input output system,基本输入输出系统)编译代码前就配置好1dpc与2dpc的内存频率,如将1dpc的内存频率配置为2700mhz并将2dpc的内存频率配置为2000mhz,配置好后写入代码,从而编译生成bios固件文件,目前不支持通过bios下选项的方式进行内存频率的修改。
2、然而,os(operating system,操作系统)下应用的要求较高,对内存频率的要求也会更高,但受制于主板的硬件链路、信号质量以及主板质量等因素的影响,会出现主板2dpc的实际内存频率达不到预先配置的内存频率,从而导致当bios编译2dpc内存频率为2000mhz时,出现服务器能够开机,但bios运行完毕后不能进入os的现象,进而导致os无法启动,内核无法加载,os进程无法正常开始,使得服务器陷入宕机状态,此时即使存在系统看门狗,也只会自动重启,再次在上次卡死的地方卡死。目前的解决方法是烧录2dpc的内存频率时将其配置为1600mhz的bios固件,也即降低2dpc的内存频率,从而减少os对内存频率的要求,这样一来,能够正常进入os,并在os下进行下一步操作,但这种方法需要人工参与,增加了人力成本和时间成本,另外,由于主板情况不同,并不是每一块服务器主板2dpc均达不到预先配置的内存频率,如果将bios的2dpc内存频率写死,那么会使性能好的主板2dpc内存频率不能达到最优的内存频率,从而无法发挥内存的最优性能。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种操作系统进入方法、装置、设备及存储介质,应用于龙芯平台的双路服务器,解决了因达不到内存频率的要求而无法进入操作系统的问题,并且能够尽可能的发挥内存的最优性能。其具体方案如下:
2、第一方面,本技术公开了一种操作系统进入方法,应用于龙芯平台的双路服务器,所述双路服务器的主板上集成有第一闪存芯片和第二闪存芯片,包括:
3、当监测到所述双路服务器上电开机后,运行所述第一闪存芯片中烧录的第一基本输入输出系统固件,并通过基板管理控制器中的故障弹性引导计时器开始计时;所述第一基本输入输出系统固件为基于最优内存频率编译的基本输入输出系统固件;
4、获取当前所述故障弹性引导计时器的计数值得到当前计数值,并判断所述当前计数值是否到达所述故障弹性引导计时器的计时上限;
5、若所述当前计数值到达了所述故障弹性引导计时器的计时上限,则通过所述基板管理控制器控制所述双路服务器关机,并向复杂可编程逻辑器件发送通用输入输出端口信号,以通过所述复杂可编程逻辑器件将当前所述第一闪存芯片切换为所述第二闪存芯片;
6、当监测到所述第二闪存芯片切换完成后,通过所述基板管理控制器控制所述双路服务器开机,并运行所述第二闪存芯片中烧录的第二基本输入输出系统固件,以引导所述双路服务器中的中央处理器启动并进入操作系统;所述第二基本输入输出系统固件为基于能够确保正常进入所述双路服务器操作系统的最大内存频率编译的基本输入输出系统固件。
7、可选的,所述当监测到所述双路服务器上电开机后,运行所述第一闪存芯片中烧录的第一基本输入输出系统固件,包括:
8、当监测到所述双路服务器上电后,通过所述基板管理控制器运行初始化程序;
9、当所述初始化程序运行完后,通过所述基板管理控制器控制所述双路服务器开机,并在所述双路服务器开机后,运行所述第一闪存芯片中烧录的第一基本输入输出系统固件。
10、可选的,所述通过基板管理控制器中的故障弹性引导计时器开始计时,包括:
11、对基本输入输出系统将进行初始化,并在所述基本输入输出系统初始化完成后使所述基板管理控制器进入启动项;
12、当监测到所述基板管理控制器进入所述启动项后,通过发送至所述基板管理控制器的上电自检代码控制所述基板管理控制器中的故障弹性引导计时器开始计时。
13、可选的,所述将当前所述第一闪存芯片切换为所述第二闪存芯片,包括:
14、将与所述复杂可编程逻辑器件的串行外设接口总线相连的所述第一闪存芯片的串行外设接口端口切换为所述第二闪存芯片的串行外设接口端口。
15、可选的,所述操作系统进入方法,还包括:
16、通过所述复杂可编程逻辑器件的串行外设接口总线将所述第一基本输入输出系统固件烧录至所述第一闪存芯片中,并将所述第二基本输入输出系统固件烧录至所述第二闪存芯片中;
17、将所述复杂可编程逻辑器件的串行外设接口总线连接至所述第一闪存芯片的串行外设接口端口。
18、可选的,所述向复杂可编程逻辑器件发送通用输入输出端口信号,以通过所述复杂可编程逻辑器件将当前所述第一闪存芯片切换为所述第二闪存芯片,包括:
19、将第一通用输入输出端口信号设置为高电平状态,并向复杂可编程逻辑器件发送所述第一通用输入输出端口信号,以通过所述复杂可编程逻辑器件将当前所述第一闪存芯片切换为所述第二闪存芯片;其中,所述第一通用输入输出端口信号默认状态为低电平;
20、相应的,所述当监测到所述第二闪存芯片切换完成后,通过所述基板管理控制器控制所述双路服务器开机,包括:
21、当监测到所述第二闪存芯片切换完成后,将第二通用输入输出端口信号设置为高电平状态;其中,所述第二通用输入输出端口信号默认状态为低电平;
22、检测当前所述第一通用输入输出端口信号与所述第二通用输入输出端口信号的电平状态是否一致;
23、若当前所述第一通用输入输出端口信号与所述第二通用输入输出端口信号的电平状态一致,则通过所述基板管理控制器控制所述双路服务器开机。
24、可选的,所述操作系统进入方法,还包括:
25、当接收到针对所述第一基本输入输出系统固件或所述第二基本输入输出系统固件的固件更新请求时,向用户端发送提示输入用户名及密码的响应;
26、当接收到所述用户端输入的用户名及密码后,验证所述用户名和所述密码是否相匹配;
27、若所述用户名和所述密码匹配,则对待更新基本输入输出系统固件进行验签;
28、若所述待更新基本输入输出系统固件验签通过,则利用所述待更新基本输入输出系统固件对所述第一基本输入输出系统固件或所述第二基本输入输出系统固件进行更新。
29、第二方面,本技术公开了一种操作系统进入装置,应用于龙芯平台的双路服务器,所述双路服务器的主板上集成有第一闪存芯片和第二闪存芯片,包括:
30、第一固件运行模块,用于当监测到所述双路服务器上电开机后,运行所述第一闪存芯片中烧录的第一基本输入输出系统固件;所述第一基本输入输出系统固件为基于最优内存频率编译的基本输入输出系统固件;
31、计时模块,用于通过基板管理控制器中的故障弹性引导计时器开始计时;
32、计数值获取模块,用于获取当前所述故障弹性引导计时器的计数值得到当前计数值;
33、判断模块,用于判断所述当前计数值是否到达所述故障弹性引导计时器的计时上限;
34、服务器关机模块,用于如果所述当前计数值到达了所述故障弹性引导计时器的计时上限,则通过所述基板管理控制器控制所述双路服务器关机;
35、信号发送模块,用于向复杂可编程逻辑器件发送通用输入输出端口信号,以通过所述复杂可编程逻辑器件将当前所述第一闪存芯片切换为所述第二闪存芯片;
36、开机模块,用于当监测到所述第二闪存芯片切换完成后,通过所述基板管理控制器控制所述双路服务器开机;
37、第二固件运行模块,用于运行所述第二闪存芯片中烧录的第二基本输入输出系统固件,以引导所述双路服务器中的中央处理器启动并进入操作系统;所述第二基本输入输出系统固件为基于能够确保正常进入所述双路服务器操作系统的最大内存频率编译的基本输入输出系统固件。
38、第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的操作系统进入方法。
39、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的操作系统进入方法。
40、可见,本技术应用于主板上集成有第一闪存芯片和第二闪存芯片的龙芯平台的双路服务器,当监测到所述双路服务器上电开机后,运行所述第一闪存芯片中烧录的第一基本输入输出系统固件,并通过基板管理控制器中的故障弹性引导计时器开始计时;所述第一基本输入输出系统固件为基于最优内存频率编译的基本输入输出系统固件;接着,获取当前所述故障弹性引导计时器的计数值得到当前计数值,并判断所述当前计数值是否到达所述故障弹性引导计时器的计时上限,如果所述当前计数值到达了所述故障弹性引导计时器的计时上限,则通过所述基板管理控制器控制所述双路服务器关机,并向复杂可编程逻辑器件发送通用输入输出端口信号,以通过所述复杂可编程逻辑器件将当前所述第一闪存芯片切换为所述第二闪存芯片;当监测到所述第二闪存芯片切换完成后,通过所述基板管理控制器控制所述双路服务器开机,并运行所述第二闪存芯片中烧录的第二基本输入输出系统固件,以引导所述双路服务器中的中央处理器启动并进入操作系统;所述第二基本输入输出系统固件为基于能够确保正常进入所述双路服务器操作系统的最大内存频率编译的基本输入输出系统固件。本技术在龙芯平台的双路服务器的主板上集成了两个闪存芯片,分别用于存储基于最优内存频率编译的基本输入输出系统固件和基于能够确保正常进入双路服务器操作系统的最大内存频率编译的基本输入输出系统固件,在服务器上电开机后,先运行最优内存频率对应的固件,并通过故障弹性引导计时器判断是否进入操作系统,若未进入则切换至另一闪存芯片,以运行能够确保正常进入双路服务器操作系统的最大内存频率对应的固件,即在不能达到最优内存频率时自动切换为较小内存频率对应的固件,从而确保最终能够正常的进入操作系统,解决了龙芯平台的双路服务器因达不到内存频率的要求而无法进入操作系统的问题,并且能够尽可能的发挥内存的最优性能。