内存文件系统加载方法及装置制造方法及图纸

技术编号:6435102 阅读:238 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例提供一种内存文件系统加载方法及装置。该方法包括:根据内存文件系统在内存中的信息从内存读取内存文件系统;内存文件系统包括启动文件和高压缩比的应用数据文件;解压内存文件系统后,将内存文件系统挂载为根文件系统;在解压内存文件系统的过程中不对内存文件系统中包括的高压缩比的应用数据文件进行解压;将内存文件系统的应用数据文件挂载到根文件系统的应用数据文件目录;读取并解压需要使用的应用数据文件中的数据,并启动应用数据文件的相应进程。本发明专利技术实施例提高了操作系统内核的启动速度,减少了系统内存的占用率。

【技术实现步骤摘要】

本专利技术实施例涉及计算机技术,尤其涉及一种内存文件系统加载方法及装置
技术介绍
Initrd内存文件系统是一种用于Linux引导系统启动的根文件系统,包含各种可 执行程序和设备驱动程序。hitrd内存文件系统可通过gzip格式和cpio格式双重打包。 Initrd内存文件系统可与操作系统内核绑定在一起,作为内核的一部分进行加载。对于一 些没有硬盘、flash等的存储介质或者某些有特殊要求的应用场景中,会要求使用内存文件 系统引导系统启动。^itrd内存文件系统以其优越性被通常被Iinux嵌入式操作系统选作 此功能。系统在启动过程中,引导加载程序bootlader将gzip格式的hitrd内存文件系 统镜像加载到内存中,并且向操作系统的内核(Kernel)传递hitrd内存文件系统镜像在 内存中的位置和大小。Kernel启动时根据这些信息读取hitrd内存文件系统镜像并进行 解压缩,将解压缩后的^itrd内存文件系统镜像挂载为根文件系统。然而,内核kernel在加载hitrd内存文件系统镜像时,将hitrd内存文件系统 镜像中所有的节点都解压到内存,导致内核的启动速度相对较慢,而且系统占用内存空间 较大,因此现有的内存文件系统加载过程效率较低。
技术实现思路
本专利技术实施例提供一种内存文件系统加载方法及装置,提高了内核启动速度,减 少了内存空间的占用。本专利技术实施例提供一种内存文件系统加载方法,包括根据内存文件系统在内存中的信息从所述内存读取所述内存文件系统;所述内存 文件系统包括启动文件和高压缩比的应用数据文件;解压所述内存文件系统后,将所述内存文件系统挂载为根文件系统;在解压所述 内存文件系统的过程中不对所述内存文件系统中包括的高压缩比的应用数据文件进行解 压;将所述内存文件系统中高压缩比的应用数据文件挂载到所述根文件系统的应用 数据文件目录。本专利技术实施例提供一种内存文件系统加载装置,包括读取模块,用于根据内存文件系统在内存中的信息从所述内存读取所述内存文件 系统;所述内存文件系统包括启动文件和高压缩比的应用数据文件;解压模块,用于解压所述内存文件系统,在解压所述内存文件系统的过程中不对 所述内存文件系统中包括的高压缩比的应用数据文件进行解压;根系统挂载模块,用于将所述内存文件系统挂载为根文件系统;应用数据文件挂载模块,用于将所述内存文件系统中高压缩比的应用数据文件挂载到所述根文件系统的应用数据文件目录。本专利技术实施例内存文件系统加载方法及装置,在操作系统启动挂载根文件系统过 程中只解压了内存文件系统中启动时必要的启动文件,没有对包含在内存文件系统中的高 压缩比应用数据文件进行解压。因此,提高了操作系统内核的启动速度,减少了系统内存的 占用率,从而提高了内存文件系统的加载效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图 获得其他的附图。图IA为本专利技术提供的内存文件系统加载方法实施例一流程图;图IB为本专利技术提供的内存文件系统加载方法实施例一中内存文件系统的目录结 构和制作过程示意图;图2为本专利技术提供的内存文件系统加载方法实施例二流程图;图3A为本专利技术提供的内存文件系统加载方法实施例三流程图;图;3B为本专利技术提供的内存文件系统加载方法实施例三中内存文件系统的目录结 构和制作过程示意图;图4为本专利技术提供的内存文件系统加载装置实施例一结构示意图;图5为本专利技术提供的内存文件系统加载装置实施例二结构示意图;图6为本专利技术提供的内存文件系统加载装置实施例三结构示意图;图7为本专利技术提供的内存文件系统加载装置实施例四结构示意图。具体实施例方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例 中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图IA为本专利技术提供的内存文件系统加载方法实施例一流程图,图IB为本专利技术提 供的内存文件系统加载方法实施例一中内存文件系统的目录结构和制作过程示意图。本发 明实施例,内存文件系统启动时必须的启动文件和不影响内存文件系统系统启动的应用数 据文件分别挂载在不同的目录中,其中,应用数据文件被制作成高压缩比的文件系统(例 如Squash文件系统,Cramfs文件系统)挂载在在根目录下的应用数据文件目录中。如图 IB 所示,根目录下包括 bin、etc、init、lib、proc、home、root、sys、dev 禾口 APP 等目录,bin、 etc、init、lib、proc、home、root、sys和dev等目录下的文件为启动文件。在本实施例中, 将Squash文件系统挂载在/APP目录下,即/APP目录下包括应用数据文件app. img(本实施 例中应用数据文件制作成的Squash文件系统的镜像文件为app. img)。将上述目录文件一 起打包后形成内存文件系统(如图IB所示,制作成的内存文件系统的镜像文件为initrd. img)。如图IA所示,本实施例包括步骤11 操作系统内核根据内存文件系统在内存中的信息从内存读取内存文件 系统。Bootloader将内存文件系统拷贝到系统内存并进行校验。在校验通过后, Bootloader引导操作系统内核启动并将内存文件系统在内存的信息,例如在系统内存的位 置和大小等信息,发送给操作系统内核。操作系统内核启动时,根据Bootloader发送的有 关内存文件系统的信息,从内存读取内存文件系统。步骤12 解压内存文件系统后,操作系统内核将内存文件系统挂载为根文件系 统,在解压内存文件系统的过程中不对内存文件系统中包括的高压缩比的应用数据文件解压。操作系统内核读取内存文件系统后对以压缩包形式存在的内存文件系统进行解 压,解压时不对内存文件系统中包括的高压缩比的应用数据文件进行解压。高压缩比的文 件系统的特点是压缩比率高,在使用时可只对使用的文件和所在目录进行解压,而不需对 整个高压缩比文件系统进行解压。操作系统将解压后的内存文件系统挂载为根文件系统。 在操作系统挂载根文件系统过程中,内存文件系统中的应用数据文件仍以高压缩比的文件 形式存在。由于Bootloader已对内存文件系统进行过校验,可以保证内存文件系统的正确 性。因此,操作系统在加载内存文件系统过程中,对内存文件系统不进行校验。通过步骤11和步骤12,操作系统启动过程中的内存文件系统加载已结束。在上述 加载过程中,只解压了与系统启动相关的启动文件,没有对内存文件系统中与具体应用相 关的应用数据文件(例如app. img)进行解压,因此,占用系统内存空间较小,同时系统的启 动速度也得到了提高。步骤13 操作系统将内存文件系统中高压缩比的应用数据文件挂载到根文件系 统的应用数据文件目录。操作系统启动完成后,引导用户级进程hit运行。hit进程通过Loop设备方法 将内存文件系统中的应用本文档来自技高网...

【技术保护点】
1.一种内存文件系统加载方法,其特征在于,包括:根据内存文件系统在内存中的信息从所述内存读取所述内存文件系统,所述内存文件系统包括启动文件和高压缩比的应用数据文件;解压所述内存文件系统后,将所述内存文件系统挂载为根文件系统;在解压所述内存文件系统的过程中不对所述内存文件系统中包括的高压缩比的应用数据文件进行解压;将所述内存文件系统中高压缩比的应用数据文件挂载到所述根文件系统的应用数据文件目录。

【技术特征摘要】
1.一种内存文件系统加载方法,其特征在于,包括根据内存文件系统在内存中的信息从所述内存读取所述内存文件系统,所述内存文件 系统包括启动文件和高压缩比的应用数据文件;解压所述内存文件系统后,将所述内存文件系统挂载为根文件系统;在解压所述内存 文件系统的过程中不对所述内存文件系统中包括的高压缩比的应用数据文件进行解压;将所述内存文件系统中高压缩比的应用数据文件挂载到所述根文件系统的应用数据 文件目录。2.根据权利要求1所述内存文件系统加载方法,其特征在于,还包括读取并解压需要使用的应用数据文件中的数据,并启动所述应用数据文件的相应进程。3.根据权利要求1所述内存文件系统加载方法,其特征在于,在所述根据内存文件系 统在内存中的信息从所述内存读取所述内存文件系统之前,还包括将具有目录树结构的所述应用数据文件进行高压比压缩后,拷贝到所述内存文件系统 的应用数据文件目录中;将所述启动文件与经高压比压缩的所述应用数据文件打包成所述内存文件系统。4.根据权利要求1、2或3所述内存文件系统加载方法,其特征在于,在根据内存文件系 统在内存中的信息从所述内存读取所述内存文件系统之前,还包括接收引导加载程序发送的所述内存文件系统在内存中的信...

【专利技术属性】
技术研发人员:秦绍天
申请(专利权)人:华为终端有限公司
类型:发明
国别省市:94[中国|深圳]

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

1