基于Linux/MIPS平台的升级和还原系统的设计与实现

时间:2022-07-04 02:26:49

基于Linux/MIPS平台的升级和还原系统的设计与实现

摘要:该文设计和现实了一种面向Linux/MIPS平台的升级和还原系统,该系统可以通过网络、U盘或本地硬盘来还原或升级Linux操作系统,从而充分利用原有系统的软件资源,减少部署和维护系统的工作量,文中给出了该系统的实现原理和描述了部分系统工具的功能。该系统具有使用方便、功能强大和成本低等特点,对国产处理器的产业化具有重要现实意义和应用价值。

关键词:Linux;MIPS;升级还原系统

中图分类号:TP311文献标识码:A文章编号:1009-3044(2010)17-4680-02

Entation of Upgrading and Recovering System based on the platform of Linux/MIPS Design and Implemu Guowei

WU Guo-wei

(Jiangsu Educational Equipment & Work-study Strategy Center, Nanjing 210024, China)

Abstact: A upgrading and recovering system based on the platform of Linux/MIPS is designed and implemented in this paper, that system can recover and upgrade Linux operating system throngh the network, U-disk and local drive to reduce workload of deploying and maintaining system. This paper summarizes the realization principle of the system and function of some system tools. The advantage of the system, such as easy-to-use, powerful functions and low cost, makes it great significance for a wider range of industrialization application of the domestic processors.

Key words: linux; MIPS; upgrading and recovering system

当前,X86处理器在桌面应用基本上占据垄断地位,基于X86处理器平台的各种操作系统发行版本功能非常完善,而基于MIPS处理器平台的操作系统功能不是很完善,大量的辅助工具需要移植和开发,其中,基于Linux/MIPS平台的升级和还原系统就需要针对特定的处理器进行开发。近年来,基于国产MIPS处理器的低成本计算机在教育领域大量应用,其采用开源的Linux/MIPS操作系统,Linux的发行版包括Debian/MIPS、共创Linux和红旗Linux等。随着基于Linux/MIPS平台的计算机的进一步推广,特别是中小学教育用的国产处理器计算机电子教室的实施,升级和维护Linux计算机操作系统的工作量日益增大,因此,需要开发基于Linux/MIPS平台的升级和还原系统,这样可以减少对电子教室维护的工作量,方便对操作系统进行升级和还原。该升级和还原系统可以使整个电子教室的多台学生机同时连接到服务器进行网络升级系统,还可以对操作系统的生产、部署和升级提供便利。

本文第2节对升级和还原系统的总体结构进行了介绍,给出了该系统升级和还原方案的原型。第3节给出了升级和还原系统的具体实现,对还原U盘制作工具、升级U盘制作工具和首次设置程序的实现进行阐述,并且描述了该系统主要程序模块的功能,第4节给出了该系统的部分测试数据和分析,文中最后是总结部分。

1 升级和还原系统总体结构

基于Linux/MIPS平台的升级和还原系统为用户提供的接口表现在多个程序或子系统上,主要包括还原子系统、升级子系统、还原子系统制作程序、升级包制作工具和首次运行设置程序。该系统的总体结构如图1所示。

还原子系统提供用户还原操作系统的功能,其提供数据恢复、系统恢复和整体恢复三个级别的恢复功能,数据恢复将可写分区内容恢复到出厂状态,系统恢复将只读分区内容恢复到出厂状态,整体恢复将全部分区内容恢复到出厂状态。升级子系统提供用户升级操作系统的功能,包括网络升级和U盘升级两种升级方式,网络升级需要连接到外网的服务器,U盘升级不需要连接到外网,而是通过升级包制作工具进行升级。还原系统制作程序提供用户用于制作系统还原U盘,升级包制作工具提供给用户制作升级包的功能,首次运行设置程序用于为首次运行系统设置基本信息。

2 升级和还原系统的实现

本节主要描述了升级和还原系统的实现,介绍了还原U盘制作工具、升级U盘制作工具、首次设置程序和系统主要程序模块功能。

2.1 还原U盘制作工具

还原U盘制作工具程序的运行结构如图2所示。制作还原U盘的系统文件来源于Lemote服务器或者本地硬盘,本文假定采用Lemote公司的计算机平台,操作系统为共创Linux。目前,共创系统把磁盘第二个分区作为还原分区,在安装系统的同时,会把系统文件作一个备份拷贝到/dev/hda2里,所以本地制作是一种获取系统源文件快捷便利的方法;Lemote服务器也有最新的系统文件,当用hda2里的文件出现问题或系统版本太低时,用户可以下载最新的系统文件。用户也可以使用其它方式获取系统文件,并把它们存在某个目录,然后以这个目录制作还原U盘。制作还原U盘过程中,制作程序先检查磁盘剩余空间,然后判断磁盘上是否已经存在系统文件,最后拷贝或者下载系统文件。拷贝下载完成后,对还原配置文件进行修改,然后校验文件的md5码。最后将状态结果反馈给用户。

还原U盘制作程序的流程分为四个步骤:1)初始化:初始化过程包括探测本机U盘,界面显示两部分。U盘探测就是列出本机上所有卷积号为1的卷积,列出它们当前的挂载信息以及总大小和剩余空间。2)用户交互:如果被选中U盘已经挂载,用户可以清空其数据,并对其格式化。此过程用户要选择系统源文件路径,目标U盘以及选择还原参数。3)制作过程:制作开始后,程序首先会找出拷贝列表或下载列表,然后判断拷贝列表或下载列表里的文件在目标地址里是否已经存在,如果存在则不做处理,最后重新产生一份拷贝列表或下载列表,然后程序会检查磁盘的剩余空间并开始制作,显示当前的制作进度。拷贝或者下载完成后,程序会修改还原配置文件,最后校验文件的md5码。4)结果反馈:根据制作结果,给用户状态反馈,如果有错误,则给出错误提示。

2.2 升级U盘制作工具

升级U盘制作工具主要是为了方便用户制作离线升级包。根据用户选择的待升级系统版本和升级包存放入文件系统的路径,将当前最新版本系统所需的升级包从服务器下载到本地,形成离线升级包。程序的逻辑流程如图3所示。

2.3 首次设置程序

系统的重要信息存放在第二个分区的os_config.txt配置文件里,首次设置程序运行时从磁盘第二个分区读取os_config.txt文件,显示给用户,用户可以对显示的内容进行更新,首次设置程序就会把新的信息重新设置到操作系统里去,同时把新的信息在第二个分区作备份,并把最终设置状态反馈给用户。程序结构如图4所示。

首次设置程序的功能是在系统还原之前,将系统的重要信息记录在配置文件中,当还原完成后,从配置文件读取还原之前的信息,用户单击确定即可恢复到还原之前的状态,并将配置文件的内容更新为本次的设置信息,同时给用户状态反馈。程序的逻辑流程包括:1)读取配置文件。首次设置程序一旦运行,首先就会挂载磁盘第二个分区到/tmp/disk目录,然后去该目录下读取os_config.txt文件,os_config.txt保存的信息包括网络配置方式,主机名,IP地址,子网掩码,网关和DNS。首次设置程序会把以上信息显示给用户,当os_config.txt文件不存在时,使用默认配置。2)用户交互。根据实际环境,用户可以对显示的数据进行修改,以符合当前需求。3)存取配置文件。首次设置程序把旧的配置文件进行更新,和当前用户的设置一致。4)把当前的设置更新到操作系统。首次设置程序会去修改/etc/NetworkManager/system-connections/下的文件,网络管理器的watching Thread会监听到当前的配置信息发生了变化,然后去更新网络配置。5)用户反馈。把最终结果反馈给用户,如果有错误,则指出错误的原因。

2.4 系统主要程序模块功能

本文设计和实现的升级和还原系统主要由以下三个程序组成:updateServerLoongson、updateClientLoongson和lemote server,各个程序之间相互联系,由升级引擎调用实现相应功能。1)updateServerLoongson程序。该程序为GUI程序,用于显示和控制列表中所列出的所有的学生机,并对学生机进行控制,主要功能有:查看学生机基本信息;控制学生机进行升级,其中包括网络升级,U盘升级以及本地升级;控制学生机进行恢复操作,其中包括数据恢复,系统恢复以及整体恢复;控制学生机进行重启,关机等一些日常操作。2)updateClientLoongson程序。主要针对从updateServerLoongson端发送过来的命令进行处理,比如升级,还原,上传日志文件等等,并对处理结果进行反馈。程序含有如下功能:升级、数据恢复、系统恢复、整体恢复、上传日志文件、清除黑屏、显示信息和删除升级包。3)lemote server程序。lemote server是一个官方服务器端程序,主要用于生成测试包和升级包,自动生成升级包,其中包括生成测试升级包以及正式对外升级包,以及完成包之间的转换。

3 评测

本文只给出了升级的测试数据,假定为本地升级测试,即升级的数据已经在教师机上。升级数据包分别为10MB、50MB、100MB和500MB,电子教室的学生机分别为20台和45台,升级完毕后,测得的数据如表1。以45台学生机来测试系统的硬盘还原功能,测试结果显示:整体还原时间约18分钟,系统还原约15分钟,数据还原约5分钟。另外,教师机需要在课间清除学生机中的一些数据,即/home/yee目录下的非隐藏文件。本次测试向45个节点拷贝100个1M的文件再执行一遍课间清除数据操作,结果显示本次操作所需时间约2秒。实验的数据表明,本系统的升级和还原功能工作正常,从性能的角度也能满足现阶段的要求。

4 总结

本文设计并实现了面向Linux/MIPS平台的升级和还原系统,该系统对国产处理器计算机电子教室的部署和维护提供了保障,实验的结果表明该系统的功能和稳定性都满足现阶段的要求。本文的下一步工作将实现单台学生机在不同网络的情况下进行升级和自动还原功能。

参考文献:

[1] 胡伟武,张福新,李祖松.龙芯2号处理器设计和性能分析[J].计算机研究与发展,2006,43(6):959-966.

[2] 陈文立.浅谈计算机操作系统备份还原之技巧[J].科技情报开发与经济,2004,14(3).

[3] Sweetman D.See MIPS Run[M].2nd ed. Morgan Kaufmann Publishers,2007.

上一篇:个人计算机安全问题的研究 下一篇:基于ObjectARX的AutoCAD图形块表结构分析