[发明专利]一种存储操作系统的升级方法有效
申请号: | 201010575638.X | 申请日: | 2010-12-01 |
公开(公告)号: | CN102033766A | 公开(公告)日: | 2011-04-27 |
发明(设计)人: | 张伟涛;周泽湘;谭毓安;王道邦;李艳国;肖建国;李焰;方仑 | 申请(专利权)人: | 北京同有飞骥科技股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 存储 操作系统 升级 方法 | ||
技术领域
本发明涉及一种软件升级方法,特别涉及一种针对U盘上自主研发的存储操作系统而构建的软件升级方法,属于计算机存储管理领域。
背景技术
现在的磁盘阵列厂商在开发磁盘阵列产品时,所开发的磁盘阵列一般由针对该磁盘阵列开发的存储操作系统进行控制管理。有的存储操作系统被制作成USB启动盘格式;制作好的U盘以配件形式安装在该品牌磁盘阵列的主板或控制器上,便于插拔和替换。用户每购买一台该品牌的磁盘阵列,也就等于拥有了一份该存储操作系统的拷贝,进而通过该操作系统,实现对磁盘阵列内数据的存储组织、访问和管理。
在这些存储操作系统中,有一类存储操作系统具有以下特征:存储操作系统本身是一个内核版本为2.6的Linux操作系统;它用自主设计的U盘作为存储介质,被制作成USB启动盘格式;制作好的U盘以配件形式安装在该品牌磁盘阵列的主板或控制器上,便于插拔和替换;系统的Boot Loader选择了syslinux,并结合initrd机制来完成系统的引导过程,实现从U盘上启动。制作好的U盘上主要包括两个文件夹:一个是boot目录,用于存放存储操作系统的内核和启动引导程序;另一个是netstor目录,该目录的主要功能是将存储操作系统的用户空间内容组织成“.fs”文件的形式,该文件在系统启动过程中,首先被映射成一个loop设备,然后加密挂载到系统的某个节点下,方可保证整个存储操作系统功能的正常实现。
这类存储操作系统所用U盘的/netstor/os目录下有一个名为“firmware.fs”的文件。该文件代表的用户空间内容,具有一定程度的稳定性,即在下一个版本的操作系统尚未发布前,其中多数内容不需要进行更新。在实际使用中,较为常见的情况是需要对存储操作系统的用户空间应用软件进行小范围的修改,这些情况多数可归结为对firmware.fs文件内容的局部修改。比如,用户在使用过程中,可能发现了系统在设计过程中不曾考虑到的处理漏洞,或者用户针对存储操作系统,提出了某些修改意见。如果开发人员经过研究发现,用户的这些改进意见都可以归结为对firmware.fs文件内容的局部、小批量修改,那么就没必要对整个操作系统进行更新,而只需对firmware.fs进行升级,修补相应的功能即可。上述操作是基于文件系统组织起来的存储操作系统在实际应用中经常遇到的情况。
一般开发组织在面对类似问题时采用的常规解决方法是,整体替换用户现有软件系统的firmware.fs文件,这当然可以达到软件升级的目的,但存在的问题也显而易见:一是该文件本身占用的空间可能比较大,这在一方面使得利用移动存储介质对文件进行复制时,需要存储介质有足够的空闲空间,方能保证文件的正常复制,另一方面,也无疑增加了利用网络方式进行传输时所耗费的时间;其次,多数开发组织对数据安全的重要性认识不够,往往将这类文件以明文形式提供给用户,这一方面不利于防范某些非法用户对软件的蓄意修改,另一方面,这类文件也有可能与用户自己临时生成的同后缀普通文件相冲突,致使系统将用户的普通文件当成系统文件进行加载,从而影响系统的正常运行。
发明内容
本发明的目的在于针对现有技术的问题,针对该类存储操作系统提供一种软件升级方法,以便简练、安全和高效的实现存储操作系统的软件升级。
本发明适用的存储操作系统本身是一个内核版本为2.6的Linux操作系统,为实现从U盘上启动,需要在U盘上存放一个Boot Loader对系统进行引导,Boot Loader选择syslinux,并结合initrd机制,来执行系统的引导过程。采用initrd机制时,在系统内核启动前,Boot Loader会将存储介质中的initrd文件加载到内存,内核启动时会在访问真正的根文件系统前,先访问内存中的initrd文件系统。也就是说,在Boot Loader配置了initrd的情况下,系统启动被分成了两个阶段,第一阶段先执行initrd文件系统中的/init文件,完成驱动模块加载等任务,第二阶段才会执行真正的根文件系统中的/sbin/init进程。
如附图1所示,存储操作系统启动阶段的引导流程如下:
(1)当磁盘阵列上电或复位时,CPU会将PC指针赋值为一个特定的地址0xFFFF0,并执行该地址处的指令,该地址位于BIOS中,它保存在磁盘阵列主板或控制器的Flash内;
(2)BIOS运行时,按照CMOS设置中定义的启动设备顺序来搜索处于活动状态,并且可以引导的设备,此处获得的信息是从U盘启动,于是将U盘中的Boot Loader加载到内存,加载成功后,BIOS将控制权交给Boot Loader;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京同有飞骥科技股份有限公司,未经北京同有飞骥科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010575638.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双轨道平面输送喷砂装置
- 下一篇:双工位转台式抛丸清理机