一种在操作系统启动之前下发配置的方法

文档序号:6503536阅读:161来源:国知局
一种在操作系统启动之前下发配置的方法
【专利摘要】本发明公开了一种在操作系统启动之前下发配置的方法,其在操作系统弓I导程序BootLoader(操作系统内核运行之前运行的一段小程序,通过这段小程序,将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境)启动完成后,读取配置文件以便能为操作系统初始化时使用这些参数,即构建BootLoader和操作系统之间一个信息交换机制,BootLoader中读取配置,供操作系统启动过程中使用这些参数。该方法能够灵活的配置操作系统启动前需要初始化的参数。
【专利说明】一种在操作系统启动之前下发配置的方法

【技术领域】
[0001] 本发明涉及一种操作系统配置技术,具体涉及操作系统中的配置文件。

【背景技术】
[0002] 用户配置文件就是在用户登录电脑时,或是用户在使用软件时。软件系统为用户 所要加载所需环境的设置和文件的集合。它包括所有用户专用的配置设置,如程序项目、屏 幕颜色、网络连接、打印机连接、鼠标设置及窗口的大小和位置等。
[0003] 现有配置方法主要是操作系统起来后,读取解析配置文件,但有许多参数需要在 系统起来前就配置好,大部分解决方案把这些值设置成常量,这种方法虽然简单可靠,但当 环境发生变化,比如设备需要调试或满足某类应用必须调整前期设置的参数时,只能重新 生成映像文件或需要专业人员进行支持,显示上述方案的局限性。


【发明内容】

[0004] 本发明针对现有采用操作系统起来后进行配置的方案所存在的问题,而提供一种 在操作系统启动之前下发配置的方法。该方法能够灵活的配置操作系统启动前需要初始化 的参数。
[0005] 为了达到上述目的,本发明采用如下的技术方案:
[0006] -种在操作系统启动之前下发配置的方法,所述方法在操作系统引导程序Boot Loader (操作系统内核运行之前运行的一段小程序,通过这段小程序,将系统的软硬件环境 带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境)启动完成后,读取 配置文件以便能为操作系统初始化时使用这些参数,即构建Boot Loader和操作系统之间 一个信息交换机制,Boot Loader中读取配置,供操作系统启动过程中使用这些参数。
[0007] 在本发明的优选方案中,所述方法包括如下步骤:
[0008] (1)通过配置文件生成工具或设备的命令行生成配置文件;
[0009] (2)在Boot Loader启动时,把配置文件内容读到特定的内存位置;
[0010] (3)操作系统启动前,按照语法解析存放在特定位置的配置,生成可供查询的配置 数据库;
[0011] (4)操作系统启动时,查询数据库,获得需要的配置参数,如果找不到相应的配置, 则使用缺省配置参数;
[0012] (5)操作系统启动后,可以通过命令修改配置文件;
[0013] ( 6 )重新启动设备,使新的配置文件生效。
[0014] 进一步的,所述配置文件由4字节校验和、配置文件长度、配置文件数据三部分组 成,所述校验和用来检验配置文件是否被破坏,配置文件长度表明了配置文件数据的长度, 配置文件数据是由相同长度的多条配置命令组成,所述配置命令的格式为:[关键字:值]。
[0015] 进一步的,所述步骤(2)的具体实现步骤如下:在Boot Loader启动时,检查到存 在配置文件,通过文件的校验和检查配置文件的有效性,如果检查到是合法的配置文件,则 以字符串的形式把配置文件拷贝到预保留内存区域,否则跳出处理过程。
[0016] 进一步的,所述步骤(3)在操作系统启动前,解析配置文件,并把配置文件数据中 每条配置命令以关键字为哈希值,插入到配置文件哈希表中,生成配置数据库,创建哈希表 使用的内存从预定义的内存中分配。
[0017] 使用本方法后,可方便的修改操作系统启动过程中设置的参数,通过修改这些参 数扩大了映像文件使用范围,增强了设备在单一应用环境下的极限能力。

【专利附图】

【附图说明】
[0018] 以下结合附图和【具体实施方式】来进一步说明本发明。
[0019] 图1为本发明的实施流程图。

【具体实施方式】
[0020] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结 合具体图示,进一步阐述本发明。
[0021] 在配置操作前,本发明首先在映像文件的数据段预分配一块区域,可通过定义一 个字符数组来实现,比如char config_buff[VOS_CONFIG_MEM_SIZE],数组的大小可按照需 要保存的命令多少来估算,比如规定配置文件中配置命令的长度为N,可允许配置的最大 命令数为M,则可以定义V0S_C0NFIG_MEM_SIZE值为M*N+8+12*M,其中M*N用来存放配置, 8个字节用来存放配置文件的校验和和长度,每个哈希节点需要12个字节,用来保存关键 字key,数据value,下一个哈希节点next, 12*M用来存放每条命令的哈希节点。从config_ buff开始低地址到高地址存放配置文件,从config_buff+VOS_CONFIG_MEM_SIZE高地址到 低地址用来分配解析文件过程中分配哈希节点时使用到的内存。
[0022] 由此,本发明在操作系统启动之前下发配置的具体实施过程如下(参见图1):
[0023] 1、通过配置文件生成工具或设备的命令行生成配置文件。
[0024] 该步骤中生成的配置文件由4字节校验和、配置文件长度、配置文件数据三部分 组成。校验和用来检验配置文件是否被破坏,配置文件长度表明了配置文件数据的长度,配 置文件数据是由相同长度的多条配置命令组成。配置命令的格式定义为:[关键字:值]。
[0025] 2、在Boot Loader启动时,把配置文件内容读到特定的内存位置。
[0026] 该步骤具体实现时,在Boot Loader启动时,检查到存在配置文件,通过配置文件 中的4字节校验和检查配置文件的有效性,如果检查到是合法的配置文件,则以字符串的 形式把配置文件拷贝到预保留内存c 〇nfig_bUff区域,否则跳出处理过程。
[0027] 3、操作系统启动前,按照配置文件的语法格式解析存放在config_buff中的配 置,生成可供查询的配置数据库。
[0028] 在操作系统启动前,解析配置文件,从config_buff+8开始为第一条配置命令,从 配置命令中解析到关键字和值,生成哈希节点,并把该节点插入到哈希表,依次解析配置文 件中每条命令,并插入哈希表,这样所有配置命令组成一个哈希表数据库。
[0029] 4、操作系统启动时,以关键字为索引查询数据库,获得需要的配置参数,如果找不 到相应的配置,则使用缺省配置参数。
[0030] 该步骤进行查询数据库时,以配置关键字查找步骤3中形成的哈希表,并以返回 的值设置相对应的系统配置参数。
[0031] 5、操作系统启动后,以设置的参数运行。如果用户希望以新的系统配置参数运行, 可以通过命令行修改配置文件,新设置的参数不会立刻生效,需要重新启动设备才能生效。
[0032] 6、重新启动设备,使新的配置文件生效。
[0033] 在上述的具体实施过程中,在所有系统参数设置时都要进行合法性检查,以避免 错误参数导致系统启动失败或运行错误。
[0034] 通过上述方案可知,本发明提供的方案能够有效的解决Boot Loader读到配置文 件后的存放地点和解析配置文件时机以及解析配置文件时使用到内存操作等方面的问题, 实现在Boot Loader启动完成后,读取配置文件以便能为操作系统初始化时使用这些参数, 即构建Boot Loader和操作系统之间一个信息交换机制,Boot Loader中读取配置,供操作 系统启动过程中使用这些参数。
[0035] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
【权利要求】
1. 一种在操作系统启动之前下发配置的方法,其特征在于,所述方法在Boot Loader 启动完成后,读取配置文件以便能为操作系统初始化时使用这些参数,即构建Boot Loader 和操作系统之间一个信息交换机制,Boot Loader中读取配置,供操作系统启动过程中使用 这些参数。
2. 根据权利要求1所述的一种在操作系统启动之前下发配置的方法,其特征在于,所 述方法包括如下步骤: (1) 通过配置文件生成工具或设备的命令行生成配置文件; (2) 在Boot Loader启动时,把配置文件内容读到特定的内存位置; (3) 操作系统启动前,按照语法解析存放在特定位置的配置,生成可供查询的配置数据 库; (4) 操作系统启动时,查询数据库,获得需要的配置参数,如果找不到相应的配置,则使 用缺省配置参数; (5) 操作系统启动后,可以通过命令修改配置文件; (6) 重新启动设备,使新的配置文件生效。
3. 根据权利要求2所述的一种在操作系统启动之前下发配置的方法,其特征在于,所 述配置文件由4字节校验和、配置文件长度、配置文件数据三部分组成,所述校验和用来检 验配置文件是否被破坏,配置文件长度表明了配置文件数据的长度,配置文件数据是由相 同长度的多条配置命令组成,所述配置命令的格式为:[关键字:值]。
4. 根据权利要求2所述的一种在操作系统启动之前下发配置的方法,其特征在于,所 述步骤(2)的具体实现步骤如下:在Boot Loader启动时,检查到存在配置文件,通过文件 的校验和检查配置文件的有效性,如果检查到是合法的配置文件,则以字符串的形式把配 置文件拷贝到预保留内存区域,否则跳出处理过程。
5. 根据权利要求2所述的一种在操作系统启动之前下发配置的方法,其特征在于,所 述步骤(3 )在操作系统启动前,解析配置文件,并把配置文件数据中每条配置命令以关键字 为哈希值,插入到配置文件哈希表中,生成配置数据库,创建哈希表使用的内存从预定义的 内存中分配。
【文档编号】G06F9/445GK104216721SQ201310211105
【公开日】2014年12月17日 申请日期:2013年5月31日 优先权日:2013年5月31日
【发明者】汪革, 苟利平, 李俊盛, 洪飞, 胡浩 申请人:上海博达数据通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1