一种支持旧Kernel Linux系统Reboot命令的电路及计算机

(整期优先)网络出版时间:2024-04-20
/ 2

一种支持旧Kernel Linux系统Reboot命令的电路及计算机

郭齐运 612525198110025839

摘要:在计算机研发设计中,搞清楚计算机Reboot的原理,以及Reboot命令对应的计算机软、硬件的具体实现方式,解决不同内核Linux操作系统在同一计算机硬件产品上的兼容性问题具有极高的应用性及创新性,对计算机产品的稳定性、兼容性、用户体验等有很大的提升作用。本实用新型从背景技术、发明内容以及具体实施方式入手,对支持旧Kernel Linux系统Reboot命令的电路及计算机进行了分析。

关键词:Kernel Linux系统;Reboot命令;电路;计算机

引言:随着计算机芯片组平台的升级和技术革新,近几年的一些新架构芯片组平台,很多南桥芯片已经不再提供RCIN#功能引脚(比如Intel Apollo Lake平台)。针对Intel芯片的这种变革,计算机主板设计者只能将键盘控制器的KBRST#功能引脚做一个高电平上拉,这种情况下传统的通过KBRST#触发RCIN#实现系统Reboot的功能已不再被支持,从而导致2.4.x及更低内核版本的Linux系统Reboot出现死机异常。该问题的难点是计算机硬件工程师不懂Linux系统的工作原理,Linux软件工程师又不懂系统计算机硬件的工作机制。因而,在计算机行业该问题这些年来一直没有得到解决。

一、背景技术

传统的计算机芯片组平台,南桥芯片通常提供有RCIN#功能引脚,计算机主板设计者在计算机设计时将其和键盘控制器端的KBRST#功能引脚相连,用于支持早期的较旧Kernel的操作系统(比如2.4.x及其之前内核的Linux系统)Reboot功能,即当用户在操作系统下输入“reboot”命令按下回车键时,操作系统在关闭完所有的服务、应用及进程后,最后就是向键盘控制器发送命令使得KBRST#功能引脚被拉低6个微秒左右,这个6微秒左右的低电平将被南桥芯片的RCIN#引脚捕获,进而通知南桥进行系统重启,实现传统的系统重启功能。

因应新芯片组平台的改变,应用广泛的较新的Linux系统Kernel比如2.6.x和3.x.x等除了支持向键盘控制器下命令触发KBRST#实现重启外,还支持通用性更好的向IO端口0xCF9下0x06命令实现重启的功能。因而,不支持RCIN#功能引脚的平台对较新Kernel的Linux系统(2.6.x及以后版本Kernel)Reboot功能是没有影响的,但对于较旧Kernel的Linux系统(2.4.x及以前版本Kernel)影响是巨大的:当用户在较旧Kernel的Linux系统下输入“reboot”命令后,系统表现为死机,并不能实现重启功能。出现这种情况后,用户只能通过断开计算机交流电,然后再次通电开机进行修复。

二、发明内容

本实用新型的目的在于提供一种支持旧Kernel Linux系统Reboot命令的电路,其主要解决现有技术无法支持旧Kernel Linux系统Reboot命令,影响用户体验度的问题

第一方面,本实用新型提供了一种支持旧Kernel Linux系统Reboot命令的电路,包括:延时电路以及南桥芯片;其中,所述延时电路包括:延时芯片和电阻,其中,延时芯片的1、2号引脚接地,延时芯片的3号引脚的SYSRST_N信号连接南桥芯片的SYS_RESET#引脚,延时芯片的VDD引脚连接第一电阻R1的一端,第一电阻R1的另一端连接电压源VCC,延时 芯片的5号引脚连接第二电阻R2的一端,第二电阻R2的另一端连接KBRST_N信号。

第二方面,提供一种计算机,所述计算机包括第一方面提供的支持旧Kernel Linux系统Reboot命令的电路。本实用新型提供的技术方案通过提供当用户在Linux系统下输入“reboot”命令并按回车后,KBRST_N将被拉为6微秒左右的低电平信号,通过“U126”标识的延时电路转换后,SYSRST_N将输出25毫秒左右的低电平信号给到南桥的SYS_RESET#,南桥接收到SYS_RESET#这个25毫秒左右的低电平信号后,即可实现系统重启,解决新的计算机芯片组平台和旧kernel Linux系统存在的兼容性问题导致的严重功能缺陷,提高计算机产品的兼容性和用户体验度。

支持旧Kernel Linux系统Reboot命令的电路示意图

三、具体实施方式

本专利提供的技术方案,将从计算机硬件设计上入手,在终端用户系统无需做任何更改、升级的情况下,解决不支持RCIN#功能引脚的计算机新芯片组平台搭配2.4.x及更旧Kernel的Linux系统存在不能通过“reboot”命令进行计算机重启的问题。

新芯片组不支持RCIN#功能引脚的平台,搭配2.4.x等较旧Kernel的Linux系统出现系统下通过“reboot”命令导致计算机死机的问题,其根源是系统向键盘控制器发送了Reboot命令,键盘控制器去触发了KBRST#,由于KBRST#没有可用的RCIN#功能引脚连接,导致南桥芯片无法获取到Linux系统发过来的重启命令。

针对上述问题,本专利技术方案如下:将键盘控制器端的KBRST#功能引脚作为输入连接至一延时电路;延时电路输出端连接至南桥的SYS_RESET#功能引脚;该延时电路可以是一颗延时芯片,也可以是其他任何形式的逻辑电路。

该支持旧Kernel Linux系统Reboot命令的电路包括:延时电路以及南桥芯片;其中,该延时电路包括:延时芯片和电阻,其中,延时芯片的1、2号引脚接地,延时芯片的3号引脚的SYSRST_N信号连接南桥芯片的SYS_RESET#引脚,延时芯片的VDD引脚连接第一电阻R1的一端,第一电阻R1的另一端连接电压源VCC,延时 芯片的5号引脚连接第二电阻R2的一端,第二电阻R2的另一端连接KBRST_N信号,该KBRST_N信号为Linux系统下输入“reboot”命令并按回车后发送的信号。

当用户在Linux系统下输入“reboot”命令并按回车后,KBRST_N将被拉为6微秒左右的低电平信号,通过“U126”标识的延时电路转换后,SYSRST_N将输出25毫秒左右的低电平信号给到南桥的SYS_RESET#,南桥接收到SYS_RESET#这个25毫秒左右的低电平信号后,即可实现系统重启。之所以需要延时电路,这是因为Linux系统发Reboot命令给KBRST#后,KBRST#功能引脚将被拉为低电平约6微秒左右,这个6微秒左右的低电平可以被传统的RCIN#功能引脚捕获,但是却无法被SYS_RESET#(System Reset)功能引脚捕获,SYS_RESET#需要的是25毫秒左右的低电平信号。通过延时电路,把这个6微秒左右的低电平转为25毫秒左右的低电平后给到SYS_RESET#。

四、结束语

综上所述,计算机操作系统作为互联网运行基础,本身就是软硬件交流的平台。在实际的计算机产品研发过程中,计算机厂家需要根据Intel等主控芯片厂家的步伐,每年推出新芯片组架构的计算机产品,快速解决各类软、硬件兼容性问题,这样才能提高产品的竞争力和市场占有率。然而,新芯片组架构计算机硬件产品和旧操作系统软件之间的兼容性问题总会不期而遇。因此,支持旧Kernel Linux系统Reboot命令的电路及计算机的研究和探讨具有积极的现实意义,其可以促进计算机硬件设计技术水平和对Linux系统内核理解能力的双重提升,最终提供广阔的应用及发展空间。

参考文献

[1]谭亚楠.Linux服务器的搭建与安全维护[J].信息与电脑(理论版),2018(16):70-71.

[2]管家源.基于 SELinux 的强制访问控制机制分析与研究[J].数字技术与应用,2021.