本发明专利技术公开了一种Linux系统启动方法及系统,涉及Linux系统启动领域,包括:步骤S100多核CPU加载Bootloader;步骤S200当多核CPU加载Bootloader完毕后,多核CPU的第一核心加载Linux内核;步骤S200包括:步骤S210第一核心判断Linux内核是否被压缩,若是,则执行步骤S220,若否,则执行步骤S230;步骤S220第一核心将Linux内核解压缩;步骤S230第一核心启动Linux内核;步骤S300当多核CPU加载Bootloader完毕后,多核CPU的第二核心将文件系统加载到内存中。本发明专利技术在Linux系统上电后,使加载Linux内核和加载文件系统同时进行,减少了Linux系统的启动时间,提高了用户的使用体验。
【技术实现步骤摘要】
本专利技术涉及Linux系统启动领域,尤其涉及一种Linux系统启动方法及系统。
技术介绍
Linux系统是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。现有的Linux系统从上电开始,需要先加载内核,再加载文件系统,这两个过程是串行的,在内核加载完成之前,文件系统是不能加载的。加载内核和加载文件系统都需要耗费一定的时间,这两个时间加起来通常较长,根据内核及文件系统的复杂程度,整个加载过程一般耗时5-10秒,大大延长了Linux系统的启动时间,给用户带来诸多不便。
技术实现思路
本专利技术的目的是提供一种Linux系统启动方法及系统,以缩短Linux系统的启动时间,提高用户的使用体验。本专利技术提供的技术方案如下:一种Linux系统启动方法,包括:步骤S100:多核CPU加载Bootloader;步骤S200:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第一核心加载Linux内核;所述步骤S200包括:步骤S210:所述第一核心判断所述Linux内核是否被压缩,若是,则执行步骤S220,若否,则执行步骤S230;步骤S220:所述第一核心将所述Linux内核解压缩;步骤S230:所述第一核心启动所述Linux内核;步骤S300:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第二核心将文件系统加载到内存中。进一步优选地,所述步骤S300包括:步骤S310:所述第二核心判断所述文件系统是否被压缩,若是,则执行步骤S320,若否,则执行步骤S330;步骤S320:所述第二核心将所述文件系统解压缩;步骤S330:所述第二核心将所述文件系统加载到内存中。进一步优选地,所述步骤S230包括:步骤S231:所述第一核心建立页表;步骤S232:所述第一核心使能MMU;步骤S233:所述第一核心调用start_kernel函数对硬件平台进行初始化。进一步优选地,所述步骤S330包括:步骤S331:所述第二核心挂载根文件系统;步骤S332:所述第二核心加载initrd;步骤S333:所述第二核心挂载磁盘文件系统。进一步优选地,所述步骤S333中挂载磁盘文件系统,由所述第二核心调用init程序完成。本专利技术还提供一种系统,包括:多核CPU,加载Bootloader;所述多核CPU包括:第一核心,当所述多核CPU加载Bootloader完毕后,所述第一核心加载Linux内核;第二核心,当所述多核CPU加载Bootloader完毕后,所述第二核心将文件系统加载到内存中;其中,所述第一核心包括:内核判断模块,当所述多核CPU加载Bootloader完毕后,所述内核判断模块判断所述Linux内核是否被压缩;内核解压模块,当所述Linux内核被压缩时,所述内核解压模块将所述Linux内核解压缩;内核启动模块,当所述Linux内核未被压缩或已经被解压缩时,所述内核启动模块启动所述Linux内核。进一步优选地,所述第二核心包括:文件判断模块,当所述多核CPU加载Bootloader完毕后,所述文件判断模块判断所述文件系统是否被压缩;文件解压模块,当所述文件系统被压缩时,所述文件解压模块将所述文件系统解压缩;文件加载模块,当所述文件系统未被压缩或已经被解压缩时,所述文件加载模块将所述文件系统加载到内存中。进一步优选地,所述内核启动模块包括:设置子模块,当所述文件系统未被压缩或已经被解压缩时,所述设置子模块建立页表;使能子模块,当所述设置子模块建立所述页表后,所述使能子模块使能MMU;调用子模块,当所述使能子模块使能MMU后,所述调用子模块调用start_kernel函数对硬件平台进行初始化。进一步优选地,所述文件加载模块包括:挂载子模块,当所述文件系统未被压缩或已经被解压缩时,所述挂载子模块挂载根文件系统,以及,当加载了initrd后,挂载磁盘文件系统;启动子模块,当所述挂载子模块挂载根文件系统后,所述启动子模块加载initrd。进一步优选地,所述挂载子模块挂载所述磁盘文件系统时,由所述挂载子模块调用init程序完成。与现有技术相比,本专利技术的有益效果在于:1、Linux系统上电后,当多核CPU加载完Bootloader后,由多核CPU中的第一核心加载Linux内核,在第一核心加载Linux内核的同时,使用多核CPU中的第二核心将文件系统加载到内存中。这样的运行模式使第一核心将Linux内核(即,Linux内核代码)加载完毕后,就无需加载文件系统,整个Linux系统启动的时间得以大大缩短。虽然未压缩的Linux内核加载到内存中更快,但压缩后的Linux内核可以占用较少的存储空间,且压缩后的Linux内核便于数据移动,因此,很多Linux内核会被压缩,在加载Linux内核时,需要先把压缩的Linux内核解压缩,才能执行后续的进程。2、为了节省存储空间及考虑到数据的加密,文件系统都是经过压缩的,因此,在将文件系统加载到内存中时,需要先把压缩的文件系统进行解压缩,才能执行后续的文件挂载。3、建立页表、使能MMU都为后续第一核心调用start_kernel函数提供了基础,start_kernel函数是所有Linux系统进入Linux内核初始化后的入口函数,它主要完成与硬件平台相关的初始化工作,是第一核心加载Linux内核中非常关键的一步。4、Linux系统中加载文件系统主要分为三个阶段:挂载根文件系统,提供第一个挂载点、加载initrd,扩展VFS(Virtual File System,虚拟文件系统)树、挂载磁盘文件系统,使文件系统加载进内存中,完成Linux系统的初始化。5、init程序的主要工作是挂载磁盘文件系统,将根文件系统下重要的目录迁移到磁盘文件系统下。本专利技术的Linux系统启动方法及系统,在Linux系统上电、多核CPU加载完Bootloader后,利用多核CPU中每一个核心可以同步、独立地运行的原理,由第一核心加载Linux内核的同时,第二核心将文件系统加载到内存中,使加载Linux内核和加载文件系统同时进行,减少Linux系统的启动时间,提高用户的使用体验。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种Linux系统启动方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术Linux系统启动方法一个实施例的流程图;图2是本专利技术Linux系统启动方法另一个实施例的流程图;图3是本专利技术系统一个实施例的结构示意图;图4是本专利技术系统另一个实施例的结构示意图。附图标号说明:100.多核CPU,200.第一核心,210.内核判断模块,220.内核解压模块,230.内核启动模块,231.设置子模块,232.使能子模块,233.调用子模块,300.第二核心,310.文件判断模块,320.文件解压模块,330.文件加载模块,331.挂载子模块,332.启动子模块。具体实施本文档来自技高网...

【技术保护点】
一种Linux系统启动方法,其特征在于,包括:步骤S100:多核CPU加载Bootloader;步骤S200:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第一核心加载Linux内核;所述步骤S200包括:步骤S210:所述第一核心判断所述Linux内核是否被压缩,若是,则执行步骤S220,若否,则执行步骤S230;步骤S220:所述第一核心将所述Linux内核解压缩;步骤S230:所述第一核心启动所述Linux内核;步骤S300:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第二核心将文件系统加载到内存中。
【技术特征摘要】
1.一种Linux系统启动方法,其特征在于,包括:步骤S100:多核CPU加载Bootloader;步骤S200:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第一核心加载Linux内核;所述步骤S200包括:步骤S210:所述第一核心判断所述Linux内核是否被压缩,若是,则执行步骤S220,若否,则执行步骤S230;步骤S220:所述第一核心将所述Linux内核解压缩;步骤S230:所述第一核心启动所述Linux内核;步骤S300:当所述多核CPU加载Bootloader完毕后,所述多核CPU的第二核心将文件系统加载到内存中。2.如权利要求1所述的Linux系统启动方法,其特征在于,所述步骤S300包括:步骤S310:所述第二核心判断所述文件系统是否被压缩,若是,则执行步骤S320,若否,则执行步骤S330;步骤S320:所述第二核心将所述文件系统解压缩;步骤S330:所述第二核心将所述文件系统加载到内存中。3.如权利要求1或2所述的Linux系统启动方法,其特征在于,所述步骤S230包括:步骤S231:所述第一核心建立页表;步骤S232:所述第一核心使能MMU;步骤S233:所述第一核心调用start_kernel函数对硬件平台进行初始化。4.如权利要求2所述的Linux系统启动方法,其特征在于,所述步骤S330包括:步骤S331:所述第二核心挂载根文件系统;步骤S332:所述第二核心加载initrd;步骤S333:所述第二核心挂载磁盘文件系统。5.如权利要求4所述的Linux系统启动方法,其特征在于:所述步骤S333中挂载磁盘文件系统,由所述第二核心调用init程序完成。6.一种采用上述权利要求1-5任一所述的Linux系统启动方法的系统,其特征在于,包括:多核CPU,加载Bootloader;所述多核CPU...
【专利技术属性】
技术研发人员:刘淼,
申请(专利权)人:上海友衷科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。