“Linux操作系统实验室”的分析和设计

时间:2022-04-14 04:30:43

“Linux操作系统实验室”的分析和设计

摘要:文章主要对“Linux操作系统实验室”进行可行性分析和功能设计。当今,开源软件技术蓬勃发展,Linux开源操作系统成为特别重要的核心,也对Linux操作系统提出了更新的要求和更高的挑战,“Linux操作系统实验室”是软件实验室中最基础和重要的实验室,建设好它是顺应全球Linux发展趋势的迫切要求。

关键词:Linux;操作系统;软件测试;软件工程;系统分析

中图分类号:G642 文献标识码:B

1引言

世界经济正在进入知识经济形态,信息产业是知识经济的支柱产业,其中软件产业具有很高的战略地位,是我国在知识经济时代的战略制高点和信息产业图强的重点,软件产业对于推动国民经济发展、优化产业结构、保证文化不受侵蚀、对出口创汇具有重大意义。

近几年,Linux发展迅速,国内Linux产业也在高速推进中,国外企业集团包括IBM、HP、Intel、Oracle、DELL、Sun、RedHat、Novell等现都是让Linux回归到商业路途阵营中的重要推进者,不管他们是以Linux为主业,还是将其作为一种战略投资。2005年以后的市场容量更是极速增长,Linux商业阵营已经初具规模。这些国际知名企业纷纷投入巨资在其全球研发中心建实验室和与高校联合组建其实验室。

从技术趋势看,操作系统实验室日益普及,软件工具、平台、环境开始广泛使用,对软件开发过程的研究开始转向对软件评测过程的研究,基于软件质量评测受到广泛关注,成为主要技术热点,开放性、标准化成为主要潮流。这些技术趋势反映出信息市场的需求,在我国软件实验室及软件产业的发展中应予以高度重视。

2操作系统实验室重要性分析

“Linux操作系统实验室”是软件实验室中最基础和重要的实验室。建设“Linux操作系统实验室”主要致力于Linux相关技术研究,目的是为中国广大Linux软件产品创新提供一个开放的实验和资源平台,为Linux软件产品的开发、测试、教育、认证等提供全面的技术支持。

建设“Linux操作系统实验室”,是顺应全球Linux发展趋势,加速培养Linux产业急需的人才,也是Linux各类产品诞生的摇篮。通过建设“Linux操作系统实验室”,可以开发、评测、认证出具有自主知识产权的操作系统软件,并实现相应的技术要求,通过成果转化,进行规模化和产业化的生产、销售和技术服务,促进我国基础软件、应用软件的研发、生产、销售、教育培训整个信息产业链的发展。“Linux操作系统实验室”建设将以安全性、可靠性、高效性、自主及开放性赢得广阔的前景,将为我国信息产业的飞速发展和GDP的增长做出更大贡献。

建设“Linux操作系统实验室”有利于软件产业的发展,成为软件产业及人才的基础设施,成为一种公共技术服务平台。实验室本着发展民族软件事业的精神,根据任务要求,开放思想、创新研究方法,本着消化吸收国内外同类先进技术、严谨工作、积极开拓的精神,在设计、开发、使用过程中坚持技术先进、功能适用、操作简单、性能高效的原则,不断创新。

3操作系统实验室职能分析

操作系统实验室计划设计如下职能:

(1) 开发、测试和认证服务

 提供Linux操作系统开发及底层应用相关平台,建立开源技术资源数据库。

 提供Linux软硬件可靠性、兼容性测试和认证服务。

 提供基于Linux的应用系统测试服务(性能、功能测试等)。

(2) 咨询服务

 实验室将为电子政务、电信、金融、能源、教育等重点行业提供基于Linux的行业解决方案咨询(包括系统架构设计、技术选型、项目实施监理等)。

 供Linux技术情报。

(3) 培训服务

实验室将提供中高级Linux技术培训,培养高级Linux技能型人才。

 Linux系统开发高级培训

 Linux系统开发中级培训

(4) 协同开发服务

 为企业提供先进的协同开发环境,帮助企业建立新的外包、监理和离岸开发的工作模式;

 为企业和开源社区架起沟通的桥梁,为优秀的开源项目在企业中牵线搭桥,促进商业化,也为企业寻找新的利润增长点。

4操作系统实验室的技术特征分析设计

(1) 安全、稳定的内核分析设计

“Linux操作系统实验室”以单体内核为基础,并引入模块化机制,将文件系统、驱动程序、网络协议等用模块方式予以支持,从而分析操作系统达到了怎样的性能,具有怎样的灵活性。

(2) 优化内存管理,操作系统宕机分析设计

“Linux操作系统实验室”划分用户空间和内核空间,用户程序有很多的地址空间可供使用。同时采用内存分页技术,支持4K和4M(PAE方式下为2M)两种大小的内存页面,并可以用参数指定部分内存使用大页面方式而另外一部分使用小页面方式,适应系统中不同应用的特点,保证需要大内存的操作系统程序使用大页面以提高性能,而需要内存不多的各种小操作系统使用小页面以节省内存,同时内存换页的技术避免了因为内存管理而出现的数据溢出(即蓝屏)现象,测试操作系统蓝屏的问题,提升了操作系统的安全和稳定性。

(3) 支持多文件系统格式,异构系统间文件兼容与交换分析设计

“Linux操作系统实验室”支持的文件系统应是操作系统中最多的(包括NTFS)。当前Linux操作系统支持的日志文件系统有ext3、ReiserFS、JFS(IBM开发)、XFS(SGI开发)、VxFS(Veritas开发),其中JFS/XFS/VxFS由成熟文件系统移植而来,具备高稳定性、高性能和高可靠的特点,独立开发的加密文件系统模块,与具体文件系统无关,在各种文件系统上都可以实现细粒度/高强度的加密,并且具备很高的灵活性和易用性。

(4) 完善的网络环境分析设计

网络功能分析是“Linux操作系统实验室”的重要特色,作为Internet网络技术和异种机连接重要手段的TCP/IP协议就是在原Linux上开发和发展起来的。而TCP/IP是所有Linux不可分割的组成部分。因此,Linux在Internet服务器中占绝对优势。同时Linux操作系统支持所有常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,提供主机系统,以及各种广域网和局域网相连接的环境,这也是Linux操作系统具有出色的互操作性(Interoperability)的根本原因。

(5) 支持异步I/O分析设计

“Linux操作系统实验室”支持异步I/O,且符合POSIX标准,使用POSIX异步I/OAPI开发的操作系统程序在Linux操作系统和其它操作系统之间测试其可移植性。

(6) 多种数据库支持能力分析设计

由于Linux具有强大的支持数据库的能力和良好的开发环境,所有主要数据库厂商,包括Oracle、Informix、Sybase、Postgress等,都把Linux作为主要的数据库开发和运行平台。从某方面来讲Linux操作系统就是作为强大数据库的基础进行开发的,支持能力的测试也很重要。

(7) 完善的开发接口分析设计

“Linux操作系统实验室”应该为软件开发人员提供丰富的开发工具,迄今为止,Linux工作站仍是软件开发厂商和工程研究设计部门主要的工作平台。有重大意义的软件新技术的出现几乎都在Linux上,如TCP/IP、WWW、OODBMS等。Linux操作系统是Posix标准的执行者,且开放源代码。由于开放源代码,Linux操作系统才得以高速的发展,更多的应用程序得以在Linux操作系统上开发,更多的功能在Linux操作系统得以实现。这也为Linux操作系统的后续开发提供了强大的后台支持。

(8) 安全分析,实现灾难自动恢复功能设计

目前操作系统安全中,用户最担心的问题是主机硬盘出现物理损坏将造成整个工作的瘫痪,“Linux操作系统实验室”使系统完成联合文件系统(aufs)的支持,实现了在硬盘出现物理损坏后可立刻通过一张光盘恢复运行整个操作系统的功能,使用户工作不受到影响,提高系统的可用性。

(9) 创新思维方法,测试兼容Windows应用的运行设计

在应用软件的兼容问题上,“Linux操作系统实验室”摆脱传统思维方法,科学的采用虚拟机技术,使用户不用修改Windows 的二进制文件,就可以运行,解决以往困扰Linux推广应用中Office文件不能兼容的测试难点。

(10) 迎合用户习惯,嵌入桌面环境支持KDE4.2,满足用户使用习惯设计

现有用户基本上都习惯使用微软提供的视窗界面和操作方法,对此,在使用方法上要积极创新,“Linux操作系统实验室”要采用了KDE4.2技术,实现视窗模式的用户界面,使用户在操作习惯上不需要进行改变,就可以完全掌握操作系统的使用。

(11) 办公环境支持,完全兼容MS Office文档格式设计

“Linux操作系统实验室”在办公环境方面,改变以往的依靠应用软件的支持才可以使用Office软件的问题,预置Office办公组件,完全支持XML、MS office 下的doc、Excel、ppt文件等格式,集成pdf输出功能,解决MS Office文档格式兼容的问题。

(12) 总体性能指标分析设计

“Linux操作系统实验室”结构的设计,直接影响到其稳定性和可靠性。因为操作系统需要肩负对硬件设备的兼容和对上层应用的支撑,所以系统的稳定性成为衡量操作系统好坏与否的最重要标志。

(13) 实验室可靠性分析设计

“Linux操作系统实验室”借助的是类UNIX原理和成熟的技术手段,是能达到大型主机(mainframe)可靠性要求的。它将在大中型企业中每天24小时、每年365天不间断地运行,需要极高的可靠性。

(14) 实验室可伸缩性分析设计

“Linux操作系统实验室”不仅有笔记本电脑、PC、工作站,甚至小型机,而且能在所有主要CPU芯片搭建的体系结构上运行。此外,由于“Linux操作系统实验室”要很好地支持SMP、MPP和Cluster等技术,使其可伸缩性又有了很大的增强。系统能支持的SMP,CPU数要达到几百甚至更多个,MPP系统中的节点甚至要超过1024个,支持的异种平台Cluster技术也将投入使用。它的伸缩性远远超过了传统操作系统实验室所能达到的水平。

(15) 实验室开放性分析设计

开放性是“Linux操作系统实验室”最重要的本质特性。由于开放系统深入人心,几乎所有系统宣称自己的产品是开放系统,确实每一种系统都能满足某种开放的特性,如可移植性、可兼容性、可伸缩性、互操作性等。但所有这些系统与开放系统的本质特征相去甚远,只有遵守GPL协议,及时公布新产品源代码,使开放性更加充分也更符合开放系统的要求。

(16) 实验室安全性分析设计

“Linux操作系统实验室”的设计参考Linux的体系结构,在安全性及代码结构安全性上,相对于Windows操作系统来说更胜一筹。首先,病毒代码不可以在“Linux操作系统实验室”上存在并破坏系统,因为无论是正常的代码还是病毒代码,都需要权限来运行,病毒代码将无法获得足够的权限来进行感染和破坏工作。“Linux操作系统实验室”对于病毒这种形式的破坏要具备免疫力,可以在测试期内减少大量的维护费用。其次,“Linux操作系统实验室”完全开放的模式,可以在极短的时间内获得足够的用户反馈,并及时修补安全漏洞。

(17) 实验室兼容性分析设计

“Linux操作系统实验室”可以使用在所有的硬件架构之上,从IBM的Z系列大型机到个人手中的移动电话。而在主流的企业级计算架构中,“Linux操作系统实验室”应该支持IA32、IA64、X86-64、IBM Power这些所有的计算平台,可以有Sun Sparc、HP小型机和Alpha计算机,它的兼容性比Windows操作系统主机更加强大,各个厂商也必将看中这一点,开发出更多的驱动程序和应用软件以适应快速的发展。

5发展方向与探讨

随着操作系统开发领域的应用和不断发展,操作系统实验室也由最初各种单机扩展到了针对操作系统半成品甚至过程产品的全过程网络测试,这是对操作系统测试的一种必然发展趋势。操作系统实验室也会随着这一思想,不断地扩展到产品各个生命周期中去,这将使操作系统的版本升级工作更加顺利,这也是我们以后需要进一步研究的内容。

参考文献:

[1] Daniel Bovet. 深入理解Linux内核[M]. 3版. 北京:中国电力出版社,2007.

[2] 赵炯. Linux内核完全剖析-基于0.12内核[M]. 北京:机械工业出版社,2009.

[3]Jonathan Corbet. Linux设备驱动程序[M]. 3版. 北京:中国电力出版社,2005.

[4]Jon Masters. Linux高级程序设计[M]. 北京:人民邮电出版社,2008.

[5] 朱少民. 全程软件测试[M]. 北京:电子工业出版社,2007.

[6] 于秀山. 软件测试新技术与实践[M]. 北京:电子工业出版社,2006.

[7] William E.Perry. 软件测试求生法则[M]. 北京:清华大学出版社,2004.

[8] 杨明华. Linux系统与网络服务管理技术大全[M]. 北京:电子工业出版社,2008.

[9]Gerald D. Everett. 软件测试跨越整个软件开发生命周期[M]. 北京:清华大学出版社,2008.

上一篇:基于工作过程系统化的“多媒体技术及应用”课... 下一篇:“计算机系统结构”课程内容体系的研究