一种操作系统的切换方法、装置和计算机系统转让专利

申请号 : CN201010102735.7

文献号 : CN102135908B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈志列高竹红

申请人 : 研祥智能科技股份有限公司

摘要 :

本发明适用于计算机应用领域,提供了一种操作系统的切换方法、装置和计算机系统,该方法包括下述步骤:在主板上电后,引导VxWorks操作系统Shell进程;接收并存储用户输入的Linux配置参数和环境变量;接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存;从指定的内存中读取Linux映像文件,启动Linux操作系统。本发明不需要额外的设备或仪器,也不需要安装特定的软件,即可从VxWorks操作系统切换到Linux系统,成本低、通用性强、风险低。

权利要求 :

1.一种操作系统的切换方法,其特征在于,所述方法包括下述步骤:

在主板上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程;

在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量;

接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存;

从指定的内存中读取Linux映像文件,启动Linux操作系统。

2.如权利要求1所述的方法,其特征在于,所述Linux配置参数包括内存大小、控制台设备名、控制台属性参数、挂载文件系统的设备名和文件系统的访问方式,所述控制台设备名配置为串口终端或显示接口,当控制台设备名为串口终端时,控制台属性参数为波特率;

当控制台设备名为显示接口时,控制台属性参数为分辨率,所述挂载文件系统的设备名包括内部存储设备、外部存储设备,所述内部存储设备包括虚拟磁盘ramdisk,所述外部存储设备包括闪存、CF卡、通用串行总线设备、硬盘,所述文件系统的访问方式包括只读、可读写。

3.如权利要求1所述的方法,其特征在于,所述环境变量包括服务器IP地址、主板IP地址以及主板MAC地址。

4.如权利要求1至3任一项所述的方法,其特征在于,所述Linux配置参数包括用于存放Linux映像文件的设备标识、Linux映像文件标识、用于存放加载的Linux映像文件的内存地址。

5.如权利要求4所述的方法,其特征在于,用于存放Linux映像文件的设备标识包括文件传输协议FTP、简单文件传输协议TFTP、″/ata0/ide0″、″/tffs0″、″/tyCo/0″,所述FTP是指从FTP服务器上下载Linux映像文件,所述TFTP是指从TFTP服务器上下载Linux映像文件,所述″/ata0/ide0″是指从硬盘或者CF卡中加载Linux映像文件,所述″/tffs0″是指从Flash中加载Linux映像文件,所述″/tyCo/0″是指从串口加载Linux映像文件。

6.如权利要求5所述的方法,其特征在于,所述用于存放加载的Linux 映像文件的内存地址属于VxWorks操作系统下的空闲内存范围。

7.一种操作系统的切换装置,其特征在于,所述装置包括:

Shell进程引导单元,用于在主板上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程;

启动参数配置单元,用于在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量;

映像文件加载单元,用于接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存;

操作系统启动单元,用于从指定的内存中读取Linux映像文件,启动Linux操作系统。

8.如权利要求7所述的装置,其特征在于,所述Linux配置参数包括内存大小、控制台设备名、控制台属性参数、挂载文件系统的设备和文件系统的访问方式,所述控制台设备名配置为串口终端或显示接口,当控制台设备名为串口终端时,控制台属性参数为波特率;当控制台设备名为显示接口时,控制台属性参数为分辨率,所述挂载文件系统的设备名包括内部存储设备、外部存储设备,所述内部存储设备包括虚拟磁盘ramdisk,所述外部存储设备包括闪存、CF卡、通用串行总线设备、硬盘,所述文件系统的访问方式包括只读、可读写,所述环境变量包括服务器IP地址、主板IP地址以及主板MAC地址。

9.如权利要求7所述的装置,其特征在于,所述启动参数包括用于存放Linux映像文件的设备标识、Linux映像文件标识、用于存放加载的Linux映像文件的内存地址。

10.如权利要求9所述的装置,其特征在于,用于存放Linux映像文件的设备标识包括文件传输协议FTP、简单文件传输协议TFTP、″/ata0/ide0″、″/tffs0″、″/tyCo/0″,所述FTP是指从FPT服务器上下载Linux映像文件,所述TFTP是指从TFTP服务器上下载Linux映像文件,所述″/ata0/ide0″是指从硬盘或者CF卡中加载Linux映像文件,所述″/tffs0″是指从Flash中加载Linux映像文件,所述″/tyCo/0″是指从串口加载Linux映像文件,所述用于存放加载的Linux映像文件的内存地址属于VxWorks操作系统下的空闲内存范围。

11.一种计算机系统,其特征在于,所述计算机系统包括权利要求7至10任一项所述的操作系统的切换装置。

说明书 :

一种操作系统的切换方法、装置和计算机系统

技术领域

[0001] 本发明属于计算机应用领域,尤其涉及一种操作系统的切换方法、装置和计算机系统。

背景技术

[0002] 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
[0003] VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
[0004] Linux操作系统,是一种计算机操作系统。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
[0005] 组成计算机系统的中央处理器(Central Processing Unit,CPU)的架构有很多种,如PowerPC、X86、ARM、MIPS等。
[0006] 其中PowerPC是一种精简指令集(reduced instruction set computer,RISC)架构的CPU,其基本的设计源自IBM(国际商用机器公司)的IBM PowerPC 601增强RISC性能优化(Performance Optimized With Enhanced RISC,POWER)架构。
[0007] X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指*令集合,X与处理器没有任何关系,它是一个对所有 86系统的简单的通配符定义,例如:
i386,586,奔腾(pentium)等等。
[0008] PowerPC、X86、ARM、MIPS架构的计算机一般都支持VxWorks和Linux两种操作系统。对于嵌入式领域而言,为了满足用户的不同需求,会经常需要更换计算机的操作系统,因此,在VxWorks系统上实现与Linux操作系统之间的切换是一件非常重要并且有必要的事情。
[0009] 一般情况下,如果想在安装了VxWorks操作系统的计算机上运行Linux操作系统,就得先使用烧录器将Boot Flash芯片中引导VxWorks系统的Bootrom启动代码烧录成能够引导Linux操作系统的U-Boot启动代码。这种方法由于需要对Boot Flash芯片进行烧写,因此,需要提供对Boot Flash芯片进行烧写的烧录器以及此烧录器对应的软件,从而造成成本高、风险高;其次需要将BootFlash芯片从计算机主板上取下并放在烧录器上进行烧录,在有些计算机中,Boot Flash芯片被固定在计算机主板上,需要借助专业设备或工具,如电烙铁、热风枪等,才能将Boot Flash芯片从计算机主板上取下,从而降低了该方法的通用性,并增加了其成本。

发明内容

[0010] 本发明实施例的目的在于提供一种操作系统的切换方法,旨在解决现有的操作系统的切换方法成本高、通用性低的问题。
[0011] 本发明实施例是这样实现的,一种操作系统的切换方法,所述方法包括下述步骤:
[0012] 在主板上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程;
[0013] 在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量;
[0014] 接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存;
[0015] 从指定的内存中读取Linux映像文件,启动Linux操作系统。
[0016] 本发明实施例的另一目的在于提供一种操作系统的切换装置,所述装置包括:
[0017] Shell进程引导单元,用于在主板上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程;
[0018] 启动参数配置单元,用于在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量;
[0019] 映像文件加载单元,用于接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存;
[0020] 操作系统启动单元,用于从指定的内存中读取Linux映像文件,启动Linux操作系统。
[0021] 本发明实施例的另一目的在于提供一种计算机系统,所述计算机系统包括所述操作系统的切换装置。
[0022] 在本发明实施例中,在计算机上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程,在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量,在接收到用户输入的Linux启动命令和启动参数后,根据启动参数将Linux映像文件加载至指定的内存,再从指定的内存启动Linux操作系统,从而不需要额外的设备或仪器,也不需要安装特定的软件,即可实现从VxWorks操作系统引导到Linux系统,从而节省了从VxWorks操作系统切换到Linux系统的成本。降低了从VxWorks操作系统切换到Linux系统的风险。

附图说明

[0023] 图1是本发明实施例提供的操作系统的切换方法的实现流程图;
[0024] 图2是本发明实施例提供的操作系统的切换装置的结构框图。

具体实施方式

[0025] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026] 在本发明实施例中,在计算机上电后,通过Boot Flash芯片中的Bootrom启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程,在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量,在接收到用户输入的Linux启动命令和启动参数后,根据启动参数将Linux映像文件加载至内存,从内存启动Linux操作系统,从而不需要额外的设备或仪器,也不需要安装特定的软件,即可从VxWorks操作系统切换到Linux系统。
[0027] 图1示出了本发明实施例提供的操作系统的切换方法的实现流程,详述如下:
[0028] 在步骤S101中,在主板上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程。
[0029] 其中VxWorks操作系统的Shell进程是一种允许用户直接跟VxWorks系统交互的命令行接口。其中通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程的具体步骤属于现有技术,在此不再赘述。
[0030] 在本发明实施例中,VxWorks操作系统的启动代码Bootrom一般存储在Boot Flash芯片中,因此,在计算机主板上电后,通过Boot Flash芯片中的启动代码Bootrom引导VxWorks操作系统,进入VxWorks操作系统的Shell进程。
[0031] 在步骤S102中,在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量。
[0032] 在本发明实施例中,在进入VxWorks操作系统的Shell进程后,该Shell进程输出人机交互界面,以使用户通过该人机交互界面配置Linux配置参数和环境变量。
[0033] 在本发明实施例中,当计算机主板为PowerPC或者X86架构时,Linux配置参数包括但不限于内存大小、控制台设备名、控制台属性参数、挂载文件系统的设备和文件系统的访问方式。其中内存大小是指计算机主板的内存大小。控制台设备名是指用于用户和系统交互的接口设备名称,该控制台设备名可以配置为串口终端、显示接口等。控制台属性参数是指对应的交互接口设备的属性,用于设置接口设备,如显示接口的分辨率、串口的波特率等。在本发明实施例中,当控制台设备名为串口终端时,控制台属性参数为波特率;当控制台设备名为显示接口时,控制台属性参数为分辨率。挂载文件系统的设备名是指用于存放Linux文件系统的设备名称,其包括但不限于内部存储设备、外部存储设备等。其中内部存储设备包括但不限于ramdisk(虚拟磁盘),其中外部存储设备包括但不限于闪存(Flash)、CF卡(Compact Flash)、通用串行总线(Universal Serial Bus,USB)设备、硬盘等。文件系统访问方式是指Linux访问文件的方式,其包括但不限于只读、可读写等。
[0034] 当计算机主板为PowerPC或者X86架构时,环境变量包括但不限于服务器IP地址、主板IP地址以及主板介质访问控制(Media Access Control,MAC)地址。
[0035] 在本发明实施例中,当计算机主板为ARM架构或者MIPS架构时,需要输入的Linux配置参数以及环境变量与计算机主板为PowerPC或者X86架构时的区别仅在于,可以不配置文件系统的访问方式。
[0036] 在步骤S103中,接收用户输入的Linux启动命令以及启动参数,根据启动参数将Linux映像文件加载至指定的内存。
[0037] 在本发明实施例中,在配置好Linux配置参数和环境变量后,用户输入Linux启动命令(如bootLinux)以及启动参数。其中Linux启动命令用于指示Shell进程启动Linux操作系统。启动参数包括但不限于用于存放Linux映像文件的设备标识、Linux映像文件标识、用于存放加载的Linux映像文件的内存地址等。
[0038] 其中用于存放Linux映像文件的设备标识是指存放Linux映像文件的设备的标识,该设备标识可以直接采用存放Linux映像文件的设备的名称。其中用于存放Linux映像文件的设备标识包括但不限于文件传输协议(File TransferProtocol,FTP)、简单文件传输协议(Trivial File Transfer Protocol,TFTP)、“/ata0/ide0”、“/tffs0”、“/tyCo/0”等。其中FTP是指从FPT服务器上下载Linux映像文件。TFTP是指从TFTP服务器上下载Linux映像文件。“/ata0/ide0”是指从硬盘或者CF卡中加载Linux映像文件。/tffs0”是指从Flash中加载Linux映像文件。“/tyCo/0”是指从串口加载Linux映像文件。
[0039] Linux映像文件标识是指要加载的Linux操作系统的映像文件的标识,该标识可以直接采用Linux映像文件的名称,如EEB-3512CD3N主板对应的Linux映像文件名为“EEB-3512_uImage”。
[0040] 用于存放加载的Linux映像文件的内存地址是指将Linux映像文件加载至内存中时,该内存的内存地址,在本发明实施例中,Linux映像文件所存放的内存地址属于VxWorks操作系统下的空闲内存范围。
[0041] 这样,根据Linux映像文件存放的设备名和Linux映像文件名即可将需要加载的Linux映像文件加载到指定的内存中。
[0042] 这样,在VxWorks操作系统的Shell进程下输入Linux启动命令(如“bootLinux”)和启动参数后,即可从Linux映像文件存放的设备名标识的设备中下载Linux映像文件名标识的Linux映像文件,并将Linux映像文件存储至指定的内存中。
[0043] 在步骤S104中,从指定的内存中读取Linux映像文件,启动Linux操作系统。
[0044] 在本发明实施例中,当将需要加载的Linux映像文件加载到指定的内存后,即可跳转到该指定的内存地址,读取Linux映像文件,启动Linux内核,Linux内核根据输入的Linux配置参数自动挂载Linux文件系统,Linux文件系统加载后,即可进入Linux终端,实现Linux操作系统的启动。
[0045] 在本发明实施例中,在计算机上电后,通过Boot Flash芯片中的Bootrom启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程,在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量,在接收到用户输入的Linux启动命令和启动参数后,根据启动参数将Linux映像文件加载至指定的内存,再从指定的内存启动Linux操作系统,从而不需要额外的设备或仪器,也不需要安装特定的软件,即可实现从VxWorks操作系统引导到Linux系统,从而节省了从VxWorks操作系统切换到Linux系统的成本。降低了从VxWorks操作系统切换到Linux系统的风险。
[0046] 图2示出了本发明实施例提供的操作系统的切换装置,为了便于说明,仅示出了与本发明实施例相关的部分。该操作系统的切换装置可以是内置于计算机系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到计算机系统中。其中:
[0047] Shell进程引导单元1在计算机上电后,通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程。
[0048] 其中VxWorks操作系统的Shell是一种允许用户直接跟VxWorks系统交互的命令行接口。其中通过VxWorks操作系统的启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程的具体步骤属于现有技术,在此不再赘述。
[0049] 在本发明实施例中,VxWorks操作系统的启动代码Bootrom一般存储在Boot Flash芯片中,因此,在计算机主板上电后,通过Boot Flash芯片中的启动代码Bootrom引导VxWorks操作系统,进入VxWorks操作系统的Shell进程。
[0050] 启动参数配置单元2在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量。
[0051] 在本发明实施例中,在进入VxWorks操作系统的Shell进程后,该Shell进程输出人机交互界面,以使用户通过该人机交互界面配置Linux配置参数和环境变量。
[0052] 在本发明实施例中,当计算机主板为PowerPC或者X86架构时,Linux配置参数包括但不限于内存大小、控制台设备名、控制台属性参数、挂载文件系统的设备和文件系统的访问方式。其中内存大小是指计算机主板的内存大小。控制台设备名是指用于用户和系统交互的接口设备名称,该控制台设备名可以配置为串口终端、显示接口等。控制台属性参数是指对应的交互接口设备的属性,用于设置接口设备,如显示接口的分辨率、串口的波特率等。在本发明实施例中,当控制台设备名为串口终端时,控制台属性参数为波特率;当控制台设备名为显示接口时,控制台属性参数为分辨率。挂载文件系统的设备名是指用于存放Linux文件系统的设备名称,其包括但不限于内部存储设备、外部存储设备等。其中内部存储设备包括但不限于ramdisk(虚拟磁盘),其中外部存储设备包括但不限于闪存(Flash)、CF卡(Compact Flash)、通用串行总线(Universal Serial Bus,USB)设备、硬盘等。文件系统访问方式是指Linux访问文件的方式,其包括但不限于只读、可读写等。
[0053] 当计算机主板为PowerPC或者X86架构时,环境变量包括但不限于服务器IP地址、主板IP地址以及主板介质访问控制(Media Access Control,MAC)地址。
[0054] 在本发明实施例中,当计算机主板为ARM架构或者MIPS架构时,需要输入的Linux配置参数以及环境变量与计算机主板为PowerPC或者X86架构时的区别仅在于,可以不配置文件系统的访问方式。
[0055] 映像文件加载单元3接收用户输入的Linux启动命令以及启动参数,并根据启动参数将Linux映像文件加载至指定的内存。
[0056] 在本发明实施例中,在配置好Linux配置参数和环境变量后,用户输入Linux启动命令(如bootLinux)以及启动参数。其中启动参数包括但不限于Linux映像文件所存放的设备名、Linux映像文件名、Linux映像文件所存放的内存地址等。其中Linux映像文件所存放的设备名包括但不限于FTP、TFTP、“/ata0/ide0”、“/tffs0”、“/tyCo/0”等。Linux映像文件所存放的内存地址属于VxWorks操作系统下的空闲内存范围。
[0057] 操作系统启动单元4从指定的内存中读取Linux映像文件,启动Linux操作系统。
[0058] 在本发明实施例中,当将需要加载的Linux映像文件加载到指定的内存后,即可跳转到存储有Linux映像文件的指定的内存地址,读取Linux映像文件,启动Linux内核,Linux内核根据输入的Linux配置参数自动挂载Linux文件系统,Linux文件系统加载后,即可进入Linux终端,实现Linux操作系统的启动。
[0059] 在本发明实施例中,在计算机上电后,通过Boot Flash芯片中的Bootrom启动代码引导VxWorks操作系统,进入VxWorks操作系统的Shell进程,在VxWorks操作系统的Shell进程中接收并存储用户输入的Linux配置参数和环境变量,在接收到用户输入的Linux启动命令和启动参数后,根据启动参数将Linux映像文件加载至指定的内存,再从指定的内存启动Linux操作系统,从而不需要额外的设备或仪器,也不需要安装特定的软件,即可实现从VxWorks操作系统引导到Linux系统,从而节省了从VxWorks操作系统切换到Linux系统的成本。降低了从VxWorks操作系统切换到Linux系统的风险。同时在加载Linux操作系统时,可以从本地存储设备、网络或者通过串口等方式加载Linux映像文件,从而为从VxWorks操作系统切换到Linux操作系统提供了方便,同时本发明实施例提供的方法适用于任何可以支持VxWorks操作系统和Linux操作系统的计算机主板架构。
[0060] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。