APP下载

一种基于W indows系统的PC机硬件系统测试软件开发

2015-01-28王鹏

电子设计工程 2015年17期
关键词:网络接口测试软件磁盘

王鹏

(陕西财经职业技术学院 陕西 咸阳 712000)

随着现代计算机技术和硬件技术的发展,人们对计算机性能要求也越来越高。传统针对计算机系统配置的测试是通过电脑中的DirectX诊断工具或者是通过在开机自检的过程中,实现对硬件配置的检测。同时随着软件技术的发展,以QQ、360为代表的硬件配置检测软件正在大大提高对系统硬件的性能。但是,在传统的使用中,两个软件所检测出的值却存在着很大的差异。如通过360测试出的主板温度保持在37度,而通过QQ软件检测出的主板温度则保持在55度,以此形成巨大的差异。对此,本文提出一种通用性的计算机硬件配置测试软件,实现从程序到系统功能的免费分享与应用。

1 硬件配置测试软件功能设计

结合对当前计算机使用的特点,本文将该硬件配置测试软件的功能分为硬盘测试、USB测试、声卡测试、处理器测试、串行接口测试、网络接口测试等功能。其具体如图1所示。

结合对软件开发的实际,本文则主要对处理器测试、硬盘测试两个部分功能的实现进行深入的分析与实现。同时本文所有文件目录全部统一采用XML文件进行存储。

图1 软件功能设计Fig.1 Software function design

2 处理器测试功能设计与实现

该功能主要包括两个方面:第一为功能测试;第二则为压力测试。其中的功能测试则主要包括处理器型号、类别、厂商、标称频率、当前运行频率、支持指令集、核心数目等。其中的指令集则包括通用、扩展、浮点运算单元等三种类型的指令集。而对处理器的压力测试则主要包括并行压力测试、审核压力测试。对此本文则以CPU速度测试作为案例。

在设计中,对CPU速度测试的原理很简单,也就是在一定时间内根据CPU运行的次数,从而确定其速度。对此对该模块的设计在通过类向导映射其中各个控件变量的方式,并定义出其中的CTime时间类,从而通过事件按钮实现对整个CPU速度的运算。系统在完成测试之后,则自动生成格式的文件,从而记录本次测试所得到的相关信息。因此,本文采用其具体的速度计算代码如图2所示。

图2 处理器测试部分代码Fig.2 Part of the code processor test

如以GF8100-M8型号为主板,内存条为DDR2 1000的计算机进行测试,可以得到如图3所示的结果。

3 存储器测试实现

硬盘作为当前PC电脑的一个非常重要的外部存储件,其具有存储容量大、存储速度快等特点。硬盘好坏的评价包括很多直白哦,包括硬盘转速、寻道时间等。在硬盘的性能方面则有传输速率等。而针对存储器的测试,其主要包括读写测试和基本的信息测试,在基本的信息方面包括硬盘的数目、接口类型、硬盘的容量、版本类型等。本文对存储器的测试则主要包括对硬盘的读写速度的测试。

针对在PC主机下的硬盘测试,由于当前的PC机很多都为微软公司的Windows操作系统。在该系统下,其都有着相应的安全保护访问机制,并在很大程度上很多的开发着对其硬盘进行操作都变得非常的困难。但是基于Windows的系统,其也提供了采用DOS的硬件访问模式,并将其作为文件的方式对硬盘进行处理。

在对Windows系统下的硬盘进行读写测试前,需要借助其中的相关函数来实现对其的操作,而典型的函数则为对文件进行读写,同时还需要对其访问的文件的路径进行设置。通过该函数对文件的定位,即可实现对文件的读写,并且最后通过函数实现对文件的关闭,并完成对整个硬盘访问的操作。

图3 处理器性能测试Fig.3 Processor performance test

要实现上述对硬盘的读写,需要对其运行的算法进行设计。而由于在之下,其通常会存在着很大的硬盘的缓冲区,当在对硬盘进行读写的过程中,其实际读取的数据与理想当中的数据的长度要多,当电脑在对下次数据进行读取的时候,如果电脑缓冲区还存在上次读取的数据,则直接将其复制到缓冲区当中,而不需要在对硬盘进行读取;而磁盘在对数据进行写入的时候,系统则会自动的将需要写入的数据全部复制到缓冲的地带,并告诉用户该数据为写入成功,并在系统的后台慢慢的对这些数据进行写入。如果在编写程序的时候没考虑到这些,则在对硬盘进行测试的时候,其得到的结果可很可能出现很大的误差。同时,在对磁盘进行读写的过程中,其通常包括同步操作和异步操作两个不同种类。在对磁盘进行读写中,其很多一部分的时间都是等待磁盘的响应;而磁盘在进行运转的过程中欧,其中的移动磁头的时间也最为的长;经过连续的读写的素具,其速度通常都变得比较快;磁盘的内部也会有一定的缓存;如果在对硬盘进行读写中存在坏道的时候,都会自动的进行重试,这些相关的测试的因素也都需要进行考虑。因此,对磁盘的测试,需要根据其具体的测试的目标来进行具体的决定。最后的结果则为其读写指定文件的时间,并结合其大小,则可以得到相应的读写的速度。如其读写关闭代码:

BOOL bRet= ReadFile (hDev, IpSectBuff, 512 *wSectors,&dwCB,NULL);

CloseHandle(hDev);

return bRet;

}

4 网络接口测试实现

对网络接口的测试主要包括两个部分:一为基本信息测试;另一部分为基本的功能测试,因此本文将其分为ping模块与基本信息模块。本文以网络测试的ping功能为例,如对其时间测试的代码如图4所示。

图4 网络接口测试关部分代码Fig.4 Network interface testing off partof the code

5 串口通信测试

串口作为外部设备与计算机两者通信的一种常用的方式,其通信的好坏,将直接决定计算机的使用情况。对此,本文通过编程调试的方式实现对该模块功能的测试。而对串口通信的测试,其主要包括对通信速率、通信端口、奇偶校验等相关参数的设置,并对定时数据发送的时间间隔进行设置。本文将该模块实现的基本流程为如图5所示。

6 结束语

图5 串口通信编程实现流程Fig.5 Serial communication programming process

文中以硬件配置测试作为研究,以其中的处理器、串口通信等作为示例,采用开发工具对其进行编程,实现了对计算机硬件配置的各种性能测试,并摒弃了传统检测软件存在的问题。同时该开发的软件还可根据系统的需要对其进行不同硬件性能测试的开发,更好的实现软件开发的灵活性,促进对软件的利用。

[1]唐彬,刘超.Visual C++案例开发集锦[M].北京:电子工业出版社,2005.

[2]吕卫祥.基于SATA硬盘阵列的高速数据存取技术研究[D].南京:南京理工大学,2010.

[3]袁飞.固态硬盘的研究与应用[D].成都:电子科技大学,2010.

[4]王罡,林立志.基于Windows的TCP/IP编程[M].北京:清华大学出版社,2002.

[5]汪滢,孙华军.基于VC++串口通信的设计与实现[J].现代电子技术,2011,34(14):19-24.WANG Ying,SUN Hua-jun.Design and implementation of VC++based on serial communication[J].Modern Electronic Technology,2011,34 (14):19-24.

[6]李长林,高洁.VisualC++串口通信技术与典型实例[M].北京:清华大学出版社,2006.

猜你喜欢

网络接口测试软件磁盘
网络自适应测试软件运行方法设计
解决Windows磁盘签名冲突
修改磁盘属性
自动化检测EPU10A板卡系统设计与实现
双冗余网络接口自动切换测试模块的设计与实现
磁盘组群组及iSCSI Target设置
创建VSAN群集
浅析CTC与GSM-R系统网络接口及路由配置改进措施
网络设置管理
远程开放教育学生自主学习能力评价的研究