一种基于SDMA控制器的Linux系统启动方法及系统技术方案

技术编号:14061286 阅读:160 留言:0更新日期:2016-11-27 18:15
一种基于SDMA控制器的Linux系统启动方法及系统,包括:步骤S100:启动BootLoader,并由CPU加载所述BootLoader;步骤S200:所述CPU加载系统内核;步骤S300:所述CPU利用内置的SDMA单元并行加载文件系统;步骤S400:Linux系统启动完毕。本发明专利技术在于使用SDMA作为文件系统的专用加载器,在CPU做内核加载的同时完成文件系统的加载,使整个系统启动的时间得以大大缩短。

【技术实现步骤摘要】

本专利技术涉及Linux系统启动领域,特别是涉及一种基于SDMA控制器的Linux系统启动方法。
技术介绍
Linux系统是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。Linux系统从上电开始,需要先加载内核,再加载文件系统,这两个过程是串行的,在内核加载完成之前,文件系统是不能加载的。加载内核和加载文件系统都需要耗费一定的时间,这两个时间加起来通常较长,视内核及文件系统的复杂程度,整个加载过程一般耗时5~10秒。基于以上现有技术存在的问题,本专利技术提供一种基于SDMA控制器的Linux系统启动方法。
技术实现思路
针对目前Linux系统加载的时间过长问题,本方法的目的在于提供一种并行加载机制,以缩短系统启动的时间。本专利技术提供的技术方案如下:一种基于SDMA控制器的Linux系统启动方法,包括:步骤S100:启动BootLoader,并由CPU加载所述BootLoader;步骤S200:所述CPU加载系统内核;步骤S300:所述CPU利用内置的SDMA单元并行加载文件系统;步骤S400:Linux系统启动完毕。进一步优选的,所述步骤S200还包括:步骤S210:判断所述系统内核是否需要进行解压,当需要时,执行步骤S220,否则,执行步骤S230;步骤S220:等待所述系统内核解压完成,执行步骤S230;步骤S230:设置所述系统内核支持的架构以及板型;步骤S240:使能MMU;步骤S250:调用并处理预设函数,启动Linux系统。进一步优选的,还包括:步骤S310:SDMA控制器与所述CPU建立预设的工作规程;步骤S320:所述SDMA控制器获取待加载的文件系统信息;步骤S330:所述系统文件初始化,并配置系统预设的文件;步骤S340:系统初始化挂载设备。进一步优选的,所述步骤S250之后还包括:步骤S260:设置体系结构预设的环境;步骤S270:初始化内存结构;步骤S280:开启所述MMU、建立页表;步骤S290:初始化串行端口设备;步骤S291:建立用户接口和虚拟控制台;步骤S292:等待用户程序的执行调用,完成内核系统文件的启动。进一步优选的,所述步骤S100包括:步骤S110:Linux系统启动时预设的硬件初始化;步骤S120:获取Linux系统BootLoader的位置的信息;步骤S130:获取RAM空间;步骤S140:设置预设的功能及参数准备加载内核。一种基于SDMA控制器的Linux系统启动系统,包括:BootLoader启动模块,用于启动BootLoader,并由CPU加载所述BootLoader;内核加载模块,用于CPU加载系统内核;文件系统模块,用于CPU内置的SDMA单元并行加载文件系统;控制模块,分别与所述启动模块、所述内核加载模块、文件系统模块电连接,所述控制模块用于控制所述启动模块启动Linux系统中的BootLoader,并加载所述BootLoader,进一步控制所述内核加载模块利用CPU加载系统内核,同时并行控制所述文件系统模块,进一步利用CPU内置的SDMA单元并行加载文件系统,控制完成Linux系统启动。进一步优选的,所述内核加载模块进一步包括:判断模块,用于判断系统内核是否需要解压;解压模块,用于解压内核文件信息;第二设置模块,当解压模块解压完成后,设置内核支持的架构以及板型;第二使能模块,用于使能MMU;函数调用子模块,当MMU使能后,调用并处理预设函数。进一步优选的,所述文件系统模块进一步包括:规程设置模块,用于SDMA控制器与CPU建立相应的工作规程;第三信息获取模块,用于SDMA控制器获取要加载的文件系统信息;第三初始化模块,用于系统文件初始化;第三设置模块,用于配置系统的相关文件;所述第三初始化模块还用于系统初始化挂载设备。进一步优选的,所述内核加载模块进一步包括:所述第二设置模块,进一步用于设置体系结构预设的环境;所述第二初始化模块,还用于初始化内存结构、初始化串行端口设备;所述第二设置模块,还用于开启MMU、建立页表、建立用户接口和虚拟控制台。进一步优选的,所述BootLoader启动模块进一步包括:第一初始化模块,用于在Linux系统启动时预设的硬件初始化;第一信息获取模块,用于获取Linux系统BootLoader的位置的信息;空间获取模块,用于获取RAM空间;第一设置模块,用于设置相应的功能及参数准备加载内核。与现有技术相比,本专利技术至少带来以下一种技术效果:1、Linux系统上电后,当CPU加载完Bootloader后,由CPU中的加载内核,在加载内核的同时,CPU利用内置的SDMA单元并行加载文件系统,SDMA作为文件系统的专用加载器,在CPU做内核加载的同时完成文件系统的加载,使整个系统启动的时间得以大大缩短。2、SDMA控制器是DMA的扩展,它比传统的DMA更智能。传统的DMA一次只能“搬运”一块连续内存区的数据,而SDMA可以一次指定多个连续内存区并自动按照顺序完成搬运,自搬运开始,整个搬运过程无需CPU干涉。3、为了节省存储空间及考虑到数据的加密,文件系统都是经过压缩的,因此,在将文件系统加载到内存中时,需要先把压缩的文件系统进行解压缩,才能执行后续的文件挂载工作。4、建立页表、使能MMU都为后续调用相关函数,为加载文件系统做好充分的准备工作,SDMA控制器与所述CPU建立相应的工作规程,非常关键的一步,使整个系统运行更加合理化。附图说明下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于SDMA控制器的Linux系统启动的方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。图1是本专利技术一种基于SDMA控制器的Linux系统启动方法流程图;图2是本专利技术一种基于SDMA控制器的Linux系统启动方法又一流程图;图3是本专利技术一种基于SDMA控制器的Linux系统启动系统结构图;图4是本专利技术一种基于SDMA控制器的Linux系统启动系统又一结构图;图5是本专利技术一种基于SDMA控制器的Linux系统启动系统再一结构图。具体实施方式为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对照附图说明本专利技术的具体实施方式。显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。为使图面简洁,各图中只示意性地表示出了与本专利技术相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。启动Linux(是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNI本文档来自技高网...
一种<a href="http://www.xjishu.com/zhuanli/55/201610488338.html" title="一种基于SDMA控制器的Linux系统启动方法及系统原文来自X技术">基于SDMA控制器的Linux系统启动方法及系统</a>

【技术保护点】
一种基于SDMA控制器的Linux系统启动方法,其特征在于,包括:步骤S100:启动BootLoader,并由CPU加载所述BootLoader;步骤S200:所述CPU加载系统内核;步骤S300:所述CPU利用内置的SDMA单元并行加载文件系统;步骤S400:Linux系统启动完毕。

【技术特征摘要】
1.一种基于SDMA控制器的Linux系统启动方法,其特征在于,包括:步骤S100:启动BootLoader,并由CPU加载所述BootLoader;步骤S200:所述CPU加载系统内核;步骤S300:所述CPU利用内置的SDMA单元并行加载文件系统;步骤S400:Linux系统启动完毕。2.如权利要求1所述一种基于SDMA控制器的Linux系统启动方法,其特征在于,所述步骤S200还包括:步骤S210:判断所述系统内核是否需要进行解压,当需要时,执行步骤S220,否则,执行步骤S230;步骤S220:等待所述系统内核解压完成,执行步骤S230;步骤S230:设置所述系统内核支持的架构以及板型;步骤S240:使能MMU;步骤S250:调用并处理预设函数,启动Linux系统。3.如权利要求2所述一种基于SDMA控制器的Linux系统启动方法,其特征在于,所述步骤S300在步骤S250之后并行执行,所述步骤S300还包括:步骤S310:SDMA控制器与所述CPU建立预设的工作规程;步骤S320:所述SDMA控制器获取待加载的文件系统信息;步骤S330:所述系统文件初始化,并配置系统预设的文件;步骤S340:系统初始化挂载设备。4.如权利要求2所述一种基于SDMA控制器的Linux系统启动方法,其特征在于,所述步骤S250之后还包括:步骤S260:设置体系结构预设的环境;步骤S270:初始化内存结构;步骤S280:开启所述MMU、建立页表;步骤S290:初始化串行端口设备;步骤S291:建立用户接口和虚拟控制台;步骤S292:等待用户程序的执行调用,完成内核系统文件的启动。5.如权利要求1所述一种基于SDMA控制器的Linux系统启动方法,其特征在于,所述步骤S100包括:步骤S110:Linux系统启动时预设的硬件初始化;步骤S120:获取Linux系统BootLoader的位置的信息;步骤S130:获取RAM空间;步骤S140:设置预设的功能及参数准备加载内核。6.一种基于SDMA控制器的Linux系统启动系统,其特征在于,包括:BootLoader启动模块,用于启动Boo...

【专利技术属性】
技术研发人员:刘淼
申请(专利权)人:上海友衷科技有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1