徐伟1, 李重2
(1.绍兴职业技术学院 信息工程学院,浙江 绍兴 312000;2.浙江理工大学 数学科学系,浙江 杭州 310018)
摘要:高校教室计算机大多采用Windows操作系统,使用几年后必定会因运行速度变慢而影响使用效率。为了在不增加硬件成本的前提下让计算机能够在长时间内保持较高的性能,从而延长计算机教室的使用期限,本文以基于UNIX/Linux的操作系统为例,结合Vmwarer Workstation虚拟化技术,在Windows和Linux两种操作系统平台做了相关测试。实验结果表明,Linux操作系统结合Vmware虚拟化技术能够显著提升计算机各方面的性能,这种技术适用于高校计算机教室。
0引言
高校的计算机教室有个通病,只要使用三、四年后,运行速度会变得越来越慢,而且系统也会变得越来越不稳定,影响了课堂教学效果。究其原因,一是由于计算机教室一般都采用微软的Windows操作系统,Windows操作系统以漏洞多、病毒多、木马多著称[1],系统比较脆弱,而且Windows采用注册表的方式存储软、硬件配置数据[2],因此计算机使用时间越久注册表越臃肿,速度变慢是必然的;二是由于不同专业、不同课程所需的软件不相同,计算机教室必然要安装各种软件供不同课程使用,各种软件的安装容易造成冲突而使计算机变慢、不稳定[3]。而其实对于一门课程而言,只需安装其中一个或几个软件就可以了,完全可以避免软件冲突。基于这些思路,要解决计算机越来越慢的问题,可以从更改操作系统和采用虚拟化技术两方面来进行。
1操作系统分析
针对操作系统问题,尝试采用基于UNIX操作系统来替换Windows操作系统,因为UNIX比Windows更具有优势。
1.1UNIX比Windows系统更具创新积累性
Windows是微软公司推出的操作系统,它诞生于1985年,最初是MSDOS之下的桌面环境,而后其逐渐发展成为个人电脑和服务器操作系统,并最终取得了个人电脑操作系统的垄断地位。而UNIX操作系统是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发,1991年Linus Benedict Torvalds在UNIX基础上开发了图形化操作系统Linux。
许多基于UNIX的操作系统是开放源码的,如Linux、FreeBSD、OpenBSD等,开放源码的优势是使软件开发者可以在前人的基础上进行创新,其开发模式是开放和连续的,源码经过众多用户的检验和改进。而Windows保密源码的限制使软件之间难以相互借鉴,而且软件错误难以及时发现,造成操作系统漏洞较多,补丁更新频繁,防火墙、防垃圾软件、防间谍软件占用了大量的系统资源。
1.2UNIX比Windows系统更具健壮性
随着Windows操作系统使用时间的增加,注册表会无限膨胀,使操作系统越用越慢。Windows系统程序与应用程序不是相对独立的,软件崩溃容易造成系统的瘫痪、宕机,而Linux是一个单块式的操作系统,操作系统通常在用户进程的内存空间内进行,免去了发生系统调用时的进程切换开销。Linux支持内核级的线程,但它将线程定义为进程的另一个“执行上下文”,从而简化了进程/线程之间的关系和调度程序的设计[4]。Linux一般不开放ROOT远程权限,即使系统被外界入侵,危害性也相对较小。另外在开源系统中计算机病毒无法隐身,病毒在Linux没有寄生的土壤,免去了病毒造成的危害。
1.3UNIX比Windows系统IO性能更佳
IO性能是影响计算机速度的主要因素之一,因此IO接口处理技术也是关键点。在Windows平台下,IO模型是IOCP(IO Completion Port)模型[5],而Linux采用Epoll模型[6]。两者都是处理异步IO的高效模型,都可以通过指针携带应用层数据,Epoll主要具有以下三种优势:
(1)在IOCP模型中,应用层数据可以通过单句柄数据和单IO数据与IOCP底层通信;而在Epoll里,可以通过epoll_data里的“void *ptr”来传递信息。这种指针传递的信息不仅能说明发生了什么样的事件,同时还说明了这次事件所操作的数据是哪些,扩展了IO接口处理能力。
(2)Epoll模型为内核处理大批量文件提供了多路复用IO接口,它无须遍历整个被侦听的描述符集,只需遍历那些已被内核IO事件异步唤醒并加入Ready队列的描述符集合,可显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
(3)Epoll模型除了提供select/poll的水平触发(Level Triggered)事件外,还提供了边缘触发(Edge Triggered),这就使得用户空间程序有可能缓存IO状态,减少epoll_wait/epoll_pwait的调用,提高应用程序的IO处理效率。
2虚拟化技术选择
解决因计算机软件安装多而造成软件冲突问题的方法是为每门课程分别建立独立的虚拟机运行环境,即采用虚拟化技术。当前虚拟化技术已从纯软件逐步深入到处理器级虚拟化、操作系统级虚拟化以及存储级虚拟化,代表技术为Intel Virtualization Technology for Directed I/O,简写为Intel VT-d。AMD公司采用AMD-V同样用于x86平台。主流的虚拟化技术主要包括服务器虚拟化、应用虚拟化、桌面虚拟化。
2.1服务器虚拟化
服务器虚拟化主要分为两种:“一虚多”和“多虚一”。“一虚多”是一台服务器虚拟成多台服务器,即将一台物理服务器分割成多个相互独立、互不干扰的虚拟环境[7],这种技术比较适合计算机教室。“多虚一”就是多个独立的物理服务器虚拟为一个逻辑服务器,使多台服务器相互协作,处理同一个业务,这种技术适合构建高性能的服务器集群。另外还有“多虚多”的概念,就是将多台物理服务器虚拟成一台逻辑服务器,然后再将其划分为多个虚拟环境,即多个业务在多台虚拟服务器上运行,这种技术可以为桌面虚拟化技术提供后端服务。
2.2应用虚拟化
应用虚拟化的原理是基于应用/服务器计算A/S架构,采用类似虚拟终端的技术,把应用程序的人机交互逻辑(应用程序界面、键盘及鼠标的操作、音频输入输出、读卡器、打印输出等)与计算逻辑隔离开来[8]。在用户访问一个服务器虚拟化后的应用时,用户计算机只需要把人机交互逻辑传送到服务器端,服务器端为用户开设独立的会话空间,应用程序的计算逻辑在这个会话空间中运行,把变化后的人机交互逻辑传送给客户端,并且在客户端相应设备展示出来,从而使用户获得如同运行本地应用程序一样的访问感受。
2.3桌面虚拟化
桌面虚拟化依赖于服务器虚拟化,在数据中心的服务器上进行服务器虚拟化,生成大量的独立的桌面操作系统(虚拟机或者虚拟桌面),同时根据专有的虚拟桌面协议发送给终端设备[9]。用户终端通过以太网登录到虚拟主机上,只需要记住用户名和密码及网关信息,即可随时随地地通过网络访问自己的桌面系统,从而实现单机多用户。
综上所述,计算机教室一般采用服务器虚拟化与桌面虚拟化技术相结合的方式。但在老旧计算机教室升级或改造时,在不增加额外设备的情况下,可以采用技术简明、兼容性佳的VMware Workstation服务器虚拟化技术,该技术允许用户选择某个特定的操作系统。
3实验验证
实验以Linux内核的麒麟Ubuntu Kylin与Windows为操作系统平台,采用相同版本号的VMware Workstation虚拟机平台,在相同虚拟机操作系统镜像下,用PassMark PerformanceTest测试CPU、Graphics、Memory、Disk、开机时间等相关运行数据,并进行比较分析。
3.1实验环境
计算机硬件平台:CPU采用英特尔Core i3-4150 @ 3.50 GHz处理器、内存采用4 GB(Crucial DDR3 1 600 MHz)、硬盘采用希捷 ST500DM002-1BD142(500 GB/7 200 r/min)、显卡采用英特尔HD Graphics 4400板载。操作系统分别采用中国版麒麟Linux Ubuntu Kylin 14.10和Windows 7 SP1 64位虚拟机平台:VMware Workstation 10 for Linux 、VMware Workstation 10 for Windows。虚拟机操作系统:Windows 7 SP1 32位。测试软件:PassMark PerformanceTest 8.0。
3.2实验过程
(1)在相同硬件平台的计算机上分别安装Linux Ubuntu Kylin 14.10和Windows 7 SP1 64位操作系统。
(2)在Ubuntu Kylin 14.10操作系统上安装VMware Workstation 10 for Linux虚拟机平台,在Windows 7 SP1 64位操作系统上安装VMware Workstation 10 for Windows虚拟机平台。
(3)将事先安装好PassMark PerformanceTest 8.0的虚拟机Windows 7 SP1 32位,分别拷入Ubuntu Kylin 14.10和Windows 7 SP1 64位操作系统。
(4)在不同操作系统环境下,运行VMware Workstation 10,并确保虚拟机的所有选项、参数都一致。分别加载虚拟机操作系统Windows 7 SP1 32位。
(5)在两种操作系统的虚拟机中运行PassMark PerformanceTest 8.0,并记录数据,如表1所示。
用同样的方法测验了D409教室中的计算机,该教室计算机CPU采用i3-2100 @ 3.10 GHz处理器,测试数据如表2所示。
4结论
实验数据表明,在Linux和Windows操作系统下,虚拟机性能除了内存测试数据Windows略胜外,在CPU、Graphics、Disk、开机时间等测试数据上,Linux系统更优,特别是I/O性能方面,Linux遥遥领先,导致两者综合分数Linux比Windows高出近5倍。因此,在计算机性能上,基于UNIX虚拟化技术相比Windows更具有优势。由于目前像Linux这样的类UNIX系统的应用软件较少,且没有特定的技术支持厂商,不太适用于个人电脑,但这种技术适用于高校计算机教室这种场合。
参考文献
[1] 张玲,赵妍. 2014年5月计算机病毒疫情分析[J].信息网络安全, 2014(7):92.
[2] 李换双,潘平,罗辉,等.计算机安全漏洞及防范研究[J].微型机与应用,2013,32(7):6465,68.
[3] 王称. 浅谈新形势下财经类高校计算机实验室管理新问题及解决对策[J]. 福建电脑, 2013,29(9):181183.
[4] 何翔,顾新. LINUX进程调度算法的分析[J]. 电子科技, 2005(9):2124,28.
[5] 陈怀松,陈家琪. IOCP写服务程序时的关键问题研究[J]. 计算机工程与设计, 2010,31(17):37933796.
[6] 张轶凡,卢正兴,王芙蓉.Linux下高性能网络I/O解决方案分析[J]. 现代计算机, 2006(11):1619.
[7] 彭淑芬.基于虚拟机的信息系统结构安全研究[J].微型机与应用,2015,34(3):1114.
[8] 傅仕诤,汪大海.虚拟化技术对IT管理的影响和应对策略[J].微型机与应用,2013,32(10):8789.
[9] 杨宏,张喜成,普奕,等. 桌面虚拟化技术在高校机房管理中的应用[J].软件导刊, 2015,14(9):184185.
,