欧亿官网前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的计算机软硬件研发主题范文,仅供参考,欢迎阅读并收藏。

随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高。我们需要了解计算机技术发展的历史和现状,并结合未来的市场前景做好自身的发展。计算机技术在发展的同时,相对于硬件配置而言,软件危机则更显得急迫。本文主要探讨了软件工程的开发与运用,促使计算机软件的健康、快速发展。
从第一台计算机研制成功以来,计算机技术就一直在突破,随着现代科学技术的发展,现代信息化的普及,对计算机硬件、软件的配置要求越来越高。完整的计算机系统包括了有计算机硬件、软件、数据库管理系统、数据库管理员和用户这五大部分。相对于硬件基础配置的研发、生产而言,计算机软件的研发需要高技术、高人才的支持。
软件和硬件都是计算机系统的重要组成部分,相对于硬件实体而言,软件包含了程序、数据和相关文档。当然这只是狭义的软件的概念,广义的软件还包括技术、人才、制度支持。从它的概念上来讲,软件和硬件区别是很大的。软件是抽象的集合体,不具有物理实在性;软件的研发没有明显的制作过程,而是人才和技术的衍生品;软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大;软件的开发对硬件和操作系统有严重的依赖性,因此它的研发也会受到一定限制;软件不同一般产品的单一,它既是研发的产品,同时又作为开发其他产品的载体和平台,具有双重角色,因此必须从软件的研发与软件的管理上把控,保证软件研发的效率和质量。
软件设计是异常复杂,需要人才和技术支撑,同时还要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会不断加大,就会深化软件危机。软件危机具体指的是在计算机软件前期研发和后期维护上遇到的难以彻底解决的问题:社会、经济发展对软件的需求矛盾;不断增长的软件数量和难以与之配套后期维护的矛盾。
软件危机具体有以下因素:用户的要求越来越高,经常对已研发产品不满意;软件开发管理不到位,进程缓慢,成本增加;一味追求软件的高产量,软件质量不过关,相应的后期维护难度加大;人才、技术投入成本提高。总的来说社会、经济发展对软件的需求矛盾;不断增长的软件数量和难以与之配套后期维护的矛盾导致的日益深化的软件危机除了软件自身的原因之外,还与软件开发、维护、管理的方法密切相关。
计算机系统不断发展,从最初的人工管理阶段、文件系统阶段、数据库系统阶段和现在的面向对象的数据库管理阶段;计算机网络也从基础网络,到现阶段的高速智能网络,但是软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势。早在上世纪中期以后就提出了软件危机的概念和试图解决软件危机的方法。1968年,北约科技委员会就召开了大会,商议解决软件危机的对策,并且第一次提出了“软件工程”的概念。虽然软件研发和维护的两大矛盾,即软件危机还没有得到有效解决,甚至在某种程度还有加深的趋势;但是在软件工程提出开始,至今已经有45年,还是取得了不错的发展。
工程,是用在条件不确定,资源受到约束的情况下采取结构化、系统性的方法进行需求设计。软件设计是非常复杂的,需要适应各行各业对计算机的需求,随着社会、经济的发展,这种需求矛盾就会加大;还有开发与维护的矛盾都需要运用工程的概念去应对现有的软件危机。软件工程就是采用工程的概念、原理和方法对软件进行开发、维护和管理,由此可知软件工程主要包含了两大方面的内容,软件开发技术和软件工程项目管理,其中管理就包含了后期维护。
软件工程包含了以下基本原理:软件工程是结构化、可定量的工程,要分阶段对软件生命周期进行监控,严格管理;除了计划严格管理之外,还有分阶段进行评审,适时找到缺点并能够改善;严格进行产品质量控制,不能一味追求产品的数量,要质、量兼顾;采用现代、先进的程序设计方法;整个软件研发工程要组合清晰,减少软件硬件和开发人员的依赖性;还要不断改进软件工程实践,使工程化的方法更适应软件的开发与管理。软件前期研发与后期维护,以及整个项目的管理都需要关照软件的生命周期。软件生命周期是指从概念开始一直到最终软件产品停止使用的整个周期,包括了有概念设计、需求分析、具体设计、软件开发、软件测试、安装及使用、维护和最终停止使用的整个周期。
软件项目管理包括的计划制定和具体实施。在具体软件项目进行之前,首先必须进行软件设计计划的制定,计划是完成软件研发的首要基础;然后才是具体项目的实施与监管,要能根据具体情况,进行合理调整,使得项目取得最优化发展。
软件是为用户研发的,没有用户的需求,就谈不上软件的开发与维护,因此必须要充分了解用户的需求,使项目于用户需求之间达到一个很好的平衡。
软件具体研发包括软件设计和软件测试。软件设计是软件研发最重要的一部分,没有具体的设计,就没有产品的研发。随着计算机技术的发展,软件设计方法也在不断发展,现在主要有面向对象的程序设计和面向过程的结构化程序设计等,现有的设计方法也在不断成熟发展,要根据具体的产品及用户的需求选择适合的方法。产品研发完成之后,不是马上投入使用,还需要进行软件测试。软件测试可以发现软件中的错误与疏漏,在软件投入使用之前根据测试结果进行改正,那么就不会影响用户的正常使用。
社会、经济发展对软件的需求矛盾;不断增长的软件数量和难以与之配套后期维护的矛盾产生的软件危机,在目前来说,虽然没有得到彻底解决,但它不断促使计算机软件的发展与提升。
[1]蒋明远.关于软件工程需求分析探究[J].商场现代化,2010,(09)
人工智能是让机器模拟人类思维和行为方式,从而让其在某些方面达到人类智能的水平。它的研究涉及了多门学科知识,是一个跨学科的研究领域。但是计算机硬件和软件的发展,是人工智能实现的基本保障。本文从计算机体系结构入手,介绍了计算机硬件和软件的发展过程和趋势,以及对人工智能发展起到的作用。
计算机体系是一个多级层次结构,通常将其分为硬件和软件两大部分。硬件部分主要有输入/输出设备、存储器和CPU。软件有系统软件和应用软件两类。现代集成技术使得计算机的体积越来越小,但是性能却越来越强。硬件作为计算机基本的组成部分,是作为物理底层为上层软件的运作提供了基本的环境支持。在计算机体系设计中的一个核心问题就是如何提高计算机硬件运行和服务的效率,使上层软件的运行更加快速和流畅。随着上层软件种类和功能的不断增加,对底层硬件的要求越来越高。硬件和软件的兼容、配合以及交互成了体系设计最大的问题。分布式体系结构提升了硬件的处理能力,但同时增加了系统结构的复杂性和操作性。如今,随着网络技术的发展,云平台区块链技术的成熟,计算机体系从传统的单机系统扩展为以网络结构为基础的多系统多体系平台。这种模式从理论上看,大大增加的了系统结构的复杂性,但对于用户体验而言,这种复杂性完全可以忽略,用户不需要对其有更多地了解,也不需要投入更多的成本。相反,用户体验到的是方便、快捷、高效的运行环境。集群计算机体系结构就是一个典型的案例。它通过以太网或InfiniBand网络作为内联方式,使用Linux操作系统和并行编程接口,采用价格比较低的服务器为运算节点,整个系统较之前系统的成本明显降低,而且公开性和操作性都比较强[1]。软件作为计算机体系结构中的上层应用,在20世纪80年代前,只是为专门的计算机而定制的小程序,功能比较简单更没有形成产业。20世纪80年代后,随着计算机硬件集成化程度提高,计算机体积变小个人电脑普及,各种功能齐全的软件也应用而生,软件开发逐渐标准化产业化。进入21世纪后,英特网普及,开源社区发展迅速,开源软件开始流行,软件开发也逐渐向网络化、智能化的方向发展。其开发策略也从原来面向过程的编程转化到了面向对象的编程,开发的软件功能更强大也更具有人性化,为人类在生活生产中解决很多实际问题。计算机体系结构的发展使得计算机能够以更低的成本,更好的互动,在网络环境下发挥更好的性能。为人工智能的发展提供了更有效的运行环境。
1946年,第一代电子管计算机研制成功,它的主要特征是体积大、耗电大,运算速度慢;1959年第二代晶体管计算机诞生,与电子管相比晶体管寿命长、体积小、运算速度快;1965年第三代集成电路计算机产生,集成电路技术使计算机在性能和结构方面都有了很大的提升,其主要的代表就是IBM公司研制的360系列计算机;1971年以后,是大规模集成电路和超大规模集成电路的计算机,以英特尔公司推出的x86系列和奔腾系列微处理器为标志,它不仅大大缩小了计算机的体积,而且还提高了计算机的处理能力。在处理器的研制上,英特尔公司不断刷新着主频记录,处理器一直以摩尔定律的速度在发展,其处理能力每18个月到24个月就增加一倍。1972年的8080处理器,主频2MHz每秒处理50万条指令;1978年的8086处理器,主频8MHz每秒处理80万条指令;1982年的80286处理器,主频12MHz每秒处理270万条指令;1989年的486DX处理器,主频25MHz每秒处理2000万条指令;1993年的奔腾处理器,主频233MHz每秒处理4.35亿条指令;1997的奔腾Ⅱ处理器,主频333MHz每秒处理7.7亿条指令;2000年奔腾Ⅳ处理器,主频已经达到1.4GHz[2]。当英特尔还在一心追求处理器高主频的时候,另一家公司NVIDIA在1999年8月了一种专门做图像运算工作的微处理器GPU(GraphicProcessingUnit)。GPU采用的是一种全新的架构模式,它将几何转换与光照功能以硬件的形式集成在图形芯片中,由图形芯片直接负责几何转换和光照操作,这使得处理器性能大大提高。与CPU相比,GPU在高清视频、数码照片处理、3D渲染等方面的表现非常优越。GPU的诞生,使得对处理器的研制从追求高主频转换成追求高性能,NVIDIA与ATI两大公司为此展开了激烈的竞争。直到2008年,随着大数据云计算的兴起,以及智能手机的广泛应用,市场对高性能已不再是唯一的诉求,性能适中的轻量级GPU成为了下一个发展方向[3]。随着人工智能技术的发展,神经网络的规模越来越大,采用多处理器集成的架构模式使得算法实现的装置体积巨大。为此,2015年,谷歌推出了TPU(TensorPro-cessingUnit),它是一种专用于神经网络计算的处理器,主要用于深度学习、AI运算,其算力较GPU有很大的提高。AlphaGo是第一个战胜围棋世界冠军的人工智能机器人,最初它内部安装了1202个CPU和176个GPU用于运算处理。2015年引入TPU之后,与李世石对战的AlphaGo,只有48个TPU负责所有的计算任务。存储器是计算机硬件的另一个主要组成部分。在计算机体系中一般采用外存、缓存、内存多级存储策略。外存容量大成本低但相对读取速度慢,通常用来保存需要长久存放于计算机内的大量数据,例如系统安装的软件、用户的资料、数据库等;缓存是为了提高数据读取的命中率而引入的一种机制;内存数据读取的速度与CPU相当,可以和CPU直接进行数据的交换,是CPU处理数据的来源。但因为内存是通过大量的晶体管构成寄存器来保存数据的,所以采用的硅片面积比较大,制造成本高,在系统中容量配置相对小些。但是随着电子制造技术的提升,现在pc机硬盘的配置可以达到1TB,内存容量如果是64位操作系统一般都在4GB。计算机存储器容量的增加可以满足人工智能时代海量数据的存储。随着计算机硬件的发展,计算机输入系统也呈现多样化形式。数据来源不再是单纯的以键盘输入为主的模式。摄像机微型化之后,计算机系统普遍都安装了摄像头,通过摄像头可以实现视频的采集;而在计算机系统中安装声音采集器可以实现语音输入。传感器可以模拟人类感官让计算机可以像人类一样从自然环境中获取信息,常见的有触觉传感器、视觉传感器、力觉传感器、温湿度传感器和超声波传感器等。计算机的这些新型输入方式更接近于人类日常生活的习惯,也使计算机用起来更人性化,智能化。计算机硬件的这些特性是人工智能发展的基本保障。
计算机语言是计算机软件开发的主要工具,也是解决实际问题的手段。20世纪50年代,为了方便人们操控计算机的运行,机器指令顺应而生。它采用的是二进制编码,增加了计算机的可操作性,但对用户而言可读性不高,调试难度大。汇编语言是第二代计算机语言,用字母和单词(add、sub等)代替一些特定的指令,增加了程序的可读性,但它是直接面向硬件的操作指令,程序的可移植性差。之后,出现的高级语言其表现形式更接近于数学语言和自然语言,可读性强。而且不依赖于计算机硬件,能在不同的机器上运行,可移植性强。计算机语言的发展,极大地促进了计算机在各个领域的应用和普及,给人们的日常生活带来了翻天覆地的变化。随着人工智能的出现,计算机语言也逐渐向智能化、网络化的方向发展。1956年达特茅斯会议提出“人工智能”概念之后,1958年麦卡锡和明斯基的人工智能项目组,开发了LISP语言。LISP使用表结构来表达非数值的计算问题,实现技术简单是使用最广泛的人工智能语言。1972年一种基于谓词逻辑的编程语言Prolo生,它是面向逻辑面向用户的一种编程语言,主要用于描述知识的逻辑关系和抽象概念,也称为描述性语言。Prolog依照人的思维逻辑,运用数理逻辑中的谓词逻辑来描述解决的问题方法,告诉计算机“要做什么”而不是“怎么做”。Prolog编写的程序更接近于自然语言,逻辑性强易写易读易于正确性证明。1982年,由LarryWall设计的Perl语言是运行在Unix环境下的一种脚本语言。Perl对文件和字符有很强的处理能力,主要用于大型网站开发。20世纪90年代初,荷兰人Rossum设计了Python语言,其语法清晰、简洁,并且拥有大量第三方函数模块,编程简单但功能强大,很快成为了人工智能主要的编程语言[4]。在大数据背景下人工智能发展更加迅速,随之而来的是计算机需处理的海量数据,而且这些数据来源广泛,特点多样,若是利用传统的算法进行数据的分析处理,确定数据的有效性和安全性,需耗费大量的时间,也导致整个系统运行变慢,性能下降。而人工智能语言编写的软件利用模糊逻辑粗糙集理论在不影响系统性能的情况下,可以对海量数据实现快速推理和分析,挖掘数据深层次的价值,得出其背后隐藏的规律,有效地帮助人类作出合理的决策。进入21世纪后,网络高速发展,开源软件由于开放二次开发的权力,具有低成本高安全的特性受到了各国企业和政府的支持得到迅速发展。开源软件是在遵守一个开源协议的前提下,将程序的源代码公开,允许其他人学习修改和,也可转化成任何形式的实用软件的一类软件。截至2006年底,全球研发和应用开源软件的企业占到了总数的50%以上。而人工智能开源软件(OpenCV、NLTK、CNTK、TensorFlow等)在自然语言处理、计算机视觉、机器深度学习等领域中也扮演着重要的角色。
人工智能的发展涉及生物学、神经学、仿生学、电子科学、计算机科学等学科,是多学科交叉融合发展的领域。用来支持人工智能实现的计算机系统,也逐渐表现出一种软中有硬、硬中有软的混合模式。现场可编程门阵列(Field-ProgrammableGateArrays,FPGA)就是一种典型的代表。基于现场可编程门阵列的系统设计,其硬件功能的实现可以通过软件设置来完成,通过调试软件参数就可以实现硬件功能的改进。这种全新的软硬件设计理念使计算机系统具有更强的灵活性和适应性,提高了人工智能的应用效率,为人工智能构建了一个更具可扩展性的大脑。
[1]刘细妹.计算机体系结构现状及发展趋势研究[J].计算机产品与流通,2019(3):98.
计算机的硬件部分主要是由主机,输入设备以及输出设备这三大部分组成。我们平时所说的主机,就是电脑的主体部分,主机箱是主机的核心,它包括主板,CPU,显卡等硬件,这些硬件在结构组成计算机的存储器和控制器的部分。而计算机的外部输入设备包括键盘和鼠标,外部输出设备包括打印机和显示器等硬件。
一般,电脑的机箱主要是用来存放零件的,比如内存条等。显示器,则是用来观察电脑的工作过程的,比如显示器显示用户正在播放音乐等。在主机箱中的内存条,是用来存储相应的程序数据的,一般内存条比较大,电脑的运行速度也会比较快。电脑必不可缺的外部输入设备就是键盘和鼠标了,它们可以向电脑输入数据,命令等,是办公室日常工作必须的硬件部分。光驱部分是属于电脑的输入设备,光驱根据功能不同,可以划分为两种光驱即普通光驱和刻录光驱,用户在安装正版的杀毒软件和游戏软件时经常要用到光驱设备。
计算机软件分类由系统软件,应用软件 和层次结构三部分组成。系统软件是 用来有效地运行计算机系统、给应用软件开发与运行提供支持、为用户管理与使用计算机提供方便的一类软件。系统软件的主要特征:(1)与具体的应用领域无关,而与计算机硬件系统有很强的交互性,要对硬件共享资源进行调度管理。(2)系统软件中的数据结构复杂,外部接口多样化,用户能够对它反复使用。
应用软件是针对多种应用需求出现的用于解决各种不同具体应用问题的专门软件。应用软件按照开发方式和适用范围分为:应用软件按照开发方式和适用范围分为:(1)通用应用软件:可以在许多行业和部门同使用。(2)定制应用软件:为不同领域的用户的特定应用要求而专门设计的软件。应用软件有文字处理,电子表格,图形、图像,网络通信,简报软件,统计软件等比如WPS、Word、Word perfect。层次结构由应用软件,语言处理程序,操作系统,裸机,数据库管理系统,服务程序与工具软件组成。
计算机硬件方面的维护主要由计算机各硬件的灰尘清洁和显示器的日常维护两部分组成。
灰尘清洁包括计算机机箱,CPU风扇,内存条和各种适配卡的清洁。机箱内表面的积尘太多,容易造成计算机运行速度减慢。因此,机箱的清洁很重要,当机箱内灰尘比较多的时候,可以用抹布擦干,最好抹布比较湿。CPU的风扇也比较容易积累灰尘的地方,当风扇积累灰尘较多,电脑散热性能就会变得很差,因此对于CPU的风扇也要经常清洁,也可以试着用抹布擦拭,在清理的时候,要注意散热片的缝中的灰尘。至于内存条以及相关适配卡的清洁,在除尘的时候要注意用油漆刷就可以了,因为当灰尘等被氧化的话,会造成电脑各部分硬件的接触不良。
显示器是计算机相当重要的一个硬件部分,其日常维护非常重要。因为显示器的好坏,直接影响我们工作效率。在日常维护中,要注意不要经常开关显示器,开关之间最好是要间隔一分钟以上,以免产生容易瞬间高电压,从而造成电流过大而将显像管烧毁的现象。显示器如果长时间不用的好,最好把显示器关掉,特别是对于笔记本电脑来说,最好不要经常待机,显示器处于待机的状态容易吸收空气中的灰尘,而这些灰尘会影响电子元件的发热,可能会造成显像管的破坏等。
计算机软件方面的维护主要包括系统维护,数据备份和安装防病毒软件三个方面:(1)操作系统在计算机系统属于一种操作软件和系统软件的结合,它在计算机软件系统中起着很大的作用,因为,操作系统可以提供良好的人机交换界面,是用户频繁使用的一道程序。因此,操作系统的维护非常重要,在日常使用过程中,要注意将操作系统的各程序数据进行备份,以为发生软件故障时数据丢失。(2)我们在使用计算机的时候经常不小心就感染了某种病毒,以使得许多重要的文件数据丢失,严重影响了日常工作效率,因此,数据备份是计算机软件维护中很重要的环节,平时在使用的过程中一定要注意对相关重要文件进行备份,最好是能有一个移动硬盘来存储这些重要的数据。(3)安装杀毒软件时我们在维护计算机中必须的步骤,现在网络技术的发达,时常发生计算机中毒或被黑客入侵的现象,因此安装杀毒软件是包括计算内相关数据甚至是个人隐私的一个重要保护屏障,现在比较流行的杀毒软件有360等,在各种软件网站都能够免费的下载,当然购买正版高级的杀毒软件就更好了。
在计算机日常维护方面,最好做一个日常维护制度,以养成日常维护的习惯,建立的制度可以是:(1)形成良好的计算机设备开机顺序的习惯,即先开UPS电源,然后再打开计算机外部设备如打印机、显示器等,最后在开计算机的主机部分,相应的关机顺序则刚好相反,不到万不得已,不要强行开机或关机。(2)在计算机连接有外部设备如打印机、扫描仪等情况下,应该要先将计算机处于关机状态,然后在关掉其他外部连接设备,不要计算机带电的情况下关打印机等设备。(3)如果不使用计算机的外部设备,要养成关闭其电源的习惯,不要长时间打开机计算机外部设备而不使用,特别是计算机的显示器最好不要处于待机状态,而要养成关机的习惯。(4)在打雷,闪电的恶劣天气下,最好将计算机的电源应和其它大功率的电器如空调等进行分开,以免发生雷击等现象。如果雷电情况比较严重,最好不要打开计算机。(5)对于计算机的各硬件组成部分,不得随意增加或减少其组成,最好保持原配标准,以免发生漏电现象。如主机性能确实不能满足当前工作需要的可申请购买相应设备,待经理批准后放可购买,安装。
计算机的日常维护是延长计算机寿命,提高计算机运行速度的重要措施,在日常的使用过程中我们合理维护计算机的软硬件资源,是能够减少计算机出现故障的概率,使计算机可以充分发挥出他的性能为我们服务。本文首先简单介绍了计算机软硬件的组成,然后分别分析了硬件和软件方面的日常维护,并建立了计算机日常维护制度,旨在对计算机维护方面的研究有所帮助。
[1]蔡泽光,廖乔其.计算机组装与维护[M].清华大学出版社,2009,3(2).
前言:控制流检测能够提升计算机微处理器的功能,对于程序运行过程中的容错机能有着直接影响。在传统的控制流检测环节中,应用固有技术进行控制流检测使程序运行的成本加大。基于此,应设计出一种软硬件兼顾的控制流检测模式,并且伴以相应的恢复方法。该模式较以往技术更为自动化,不仅能够通过编译自动嵌入关键数据,而且能够自动执行检测职能,甚至无需繁杂处理,就可以顺利恢复正常的控制流,使程序快速修复。
控制流检测方法可以将计算机程序的错误执行通过有效的手段甄别出来。随着技术水平的不断提升,目前的控制流检测方法是基于计算机软硬件结合的处理方式,以及应用纯软件的控制流检测方法。经实践表明,前者的处理模式更为稳定,并且能够将正确的恢复方法自动执行下去,从而令控制流检测系统更加完备。
最初,控制流检测技术仅使用计算机硬件设备进行维护,即看门狗模块,但该方法的应用领域较为狭窄,不能适用于所有的控制流检测,这就催生了新方法的显现。在之前的一段时期内,控制流检测采用纯软件的技术方法,该方法也能够合理的执行检测,并且能够将监测数据进行现场保存和恢复。又经过该系统的升级,一种软硬结合的控制流检测方法在实践中崭露头角,得到了相关研究人员的一致认可。基于8051体系的结构问世后,较有成效的改善了系统的代码量与性能,改善了程序控制流的检测与执行效率[1]。即便当处理器出现错误后,也能够及时会退到上一现场的保存点,成功完成恢复过程。
从上个世纪末开始,根据当时计算机主流处理器的研发水平,科研专家就提出了以硬件为主兼顾软件运行的程序控制流检测方法,该技术一经推出,就通过细致的配置发展成为现实的技术应用模型。随着处理器及相关计算机硬件的升级,软硬结合控制检测方法浮出水面,且比以往的性能更佳。
首先,当程序运行之初,处理器接到指令后,程序迅速开始执行,在此时,该种软硬件结合的控制流检测技术从被检测电路中得到信号源,且根据信号的指令进行自动的信息数据分析;然后,计算机中心处理器根据第一步骤的处理结果来推算下一步骤的执行地址,从而选择按照控制流检测所分析完成的结果继续执行下去;最后,当经过检测后的信息数据没有执行,则通过处理器分支检测的过程被重新进行检测或自动恢复,直至通过分支检测电路的控制流检测,从而顺利完成该种软硬件结合的控制流检测方法[2]。
在传统控制流检测的处理框架中,基于源位置签名的模式通过检测只要能够通过总线就能完成。但随着技术的革新,电路技术的不断完善,很多细节的处理更为精准,计算机芯片内开始采用新型缓存技术,以便于使程序运行更为平稳。软硬件结合的控制流检测技术比硬件为主的并行检测技术更为先进,虽然在模拟设计的过程中也曾出现过诸多问题,但经过系统的改进与磨合,该种方法能够实现控制流检测与恢复,辨认系统存储的空间,改变程序编码的排列顺序[3]。发展至今,高性能微处理器中应用了大量的寄存器文件与数据RAM,如果在执行编码时,仅写入缓冲数据,将会大大提升控制流检测的效率,从而缩减程序恢复的时间,增强系统的整体效能。
通过对软硬件控制流检测方法的实践操作与分析而知,软硬件结合的控制流检测技术与以硬件为主的检测方法相对,不仅可以降低成本,还可以使系统快速复位,顺利执行正常程序。这依赖于该系统的几个关键环节的有序执行[4]。首先是硬件现场的缓存过程要及时,无论以硬件为主还是以纯软件实现控制流检测过程,处理器的缓存执行一定要及时有效,特别是多次进行错误签名比对时,考验的就是数据处理的执行速度;另外,还要注意检测到错误后的直接复位系统的能效,在以往,这是一个较大的缺陷,然而,软硬件结合的控制流检测系统的出现,直接填补了传统模式的漏洞,在发现程序错误后,能在第一时间恢复为正确控制流状态,这是该方法的又一重要的关键点[5]。
通过对计算机汇编语言程序的细致研究,提出一种软硬件结合的控制流检测技术,它不仅能够避免传统控制流检测过程的缺点,还能够精准的进行实时检测,并且对错误程序进行及时纠正,恢复过程极为迅速、准确。该技术使得传统控制流检测的成本有所降低,使用价值较为突出。软硬件结合的控制流检测方法及智能化恢复模式的研究成果,对于该领域的进一步拓展具有积极的推动作用。
[1]龚锐,陈微,刘芳,戴葵,王志英.FT51:一种容软错误高可靠微控制器[J].计算机学报,2010,11(06):141-142.
[2]龚锐,陈微,刘芳,戴葵,王志英.一种软硬件结合的控制流检测与恢复方法[J].计算机研究与发展,2010,2(04):151-153.
[3]吴艳霞,顾国昌,戴葵,刘海波,沈晶.汇编级软硬结合的控制流检测方法[J].计算机研究与发展,2011,10(20):172-175.
计算机已经成为我们大多数人生活中不可缺少的一样产品,计算机的广泛运用无论是给我们的生活、还是工作学习都带来了方便和快捷。随着计算机应用的深入,计算机软件逐渐显现出一些缺点和弊端,从而导致了计算机的不可靠性。因而,计算机领域的专业人士应该加强对计算机软件的研究和探索,解决计算机软件中的不可靠性问题,为计算机技术的发展和应用提供更可靠的保证。
计算机软件的开发与研究具有很高的技术性。它需要计算机软件的开发人员也就是程序员具有很高的技术水平,运用自身的智慧以及丰富的经验进行周密的设计研究。一般来说,计算机软件的研发时间较长,而且要投入大量的资金和时间以及程序员的精力。然而,一款计算机软件的研发能够方便人们对于计算机的使用,具有很高的执行性和目的性。计算机软件技术的不可靠性与计算机硬件技术的不可靠性有很大的区别。计算机硬件技术不可靠性主要是由于所使用的材料老化或某方面出现了故障,故而能进行合理的处理。而计算机软件技术的不可靠性可能是由于人员方面的因素、也可能是设计流程方面的因素等等难以预测和处理。所以,对于计算机软件技术不可靠性的研究是十分有必要的。
计算机软件技术中存在的这种不可靠性严重影响了计算机的发展和应用。因此,明确计算机软件中的不可靠性问题,找出导致计算机软件不可靠性的原因,才能有针对性的研究解决措施。
硬件技术主体研究开发为其应用的材料,优质选材可预防硬件过早的老化而造成失灵,其失效问题往往呈现为物理故障,为元器件形成物理变化而导致的结果,例如浴盆曲线问题等。软件技术的研发并不会发生该类变化,因此不呈现磨损问题,而是存在陈旧以及技术滞后现象。软件程序较易被篡改以及变更,因此可通过程序入侵,令软件技术呈现无法预期的数据错误问题,并令技术自身包含缺陷,进而令其功能失效。软件技术以及硬件技术安全可靠性在较大层面呈现出一定的相似性。例如,二者均利用较为复杂函数进行缺陷的阐释,明确具体的故障标准。且均利用自身可靠性提升优化整体安全性。均为系统在一定的环境以及条件中履行预定功能。然而软件以及硬件仍旧包含一定区别。软件技术的开发由实质层面,为人们思考的研发与创作。计算机软件开发人员的思维方式或多或少都会存在着一定的局限性,再加之软件开发人员的技术水平也是有限的,所以,在软件的开发过程中,难免会出现误差或一些错误,导致软件的开发达不到预期的效果。如果软件在开发过程中,所出现的是明显的错误,那么在检测阶段很容易被检测出来。然而,针对于一些小的、不易察觉的错误,一方面检测时不易被查出,另一方面,会导致软件无效。计算机软件的开发与硬件的开发不同。开发计算机硬件时,其评估检测方式安全且具有科学性、系统性。然而,对于计算机软件的开发却没有如此的保障。从而我们可以得出一个结论,我国对于计算机的硬件开发已经有了一定的基础和经验,然而,对于计算机软件的开发,却还需要相关领域的专业人士进行长期且不懈的努力。
所谓计算机软件技术的不可靠性指的也就是在软件投入应用后,缺乏稳定、精确、安全和流畅的保障,给软件的使用者带来了一定的困扰或者不能达到用户的满意度。所以,导致软件不可靠性的主要因素就在于软件内部程序出现了差错,进而导致问题的出现。而这些差错是在软件开发的阶段形成的。从主观因素出发,主要是由于软件开发人员一方面没有对用户的需求进行深入的了解,另一发面,是由于软件的开发人员观念性错误,没有以用户的需求为主要设计原则,从而导致软件不能满足用户的需求,缺乏可靠性。此外,计算机软件的不可靠性的原因还在于编码错误,由于,计算机软件开发工作技术难度高,尤其在编码方面极易出现错误如语法错误等等。同时在设计阶段、测试阶段、文档都会出现错误。在设计阶段,如果软件的设计人员没有对设计计划和设计分析进行深入的了解,并且没有对设计过程中的特殊情况加以考虑。在测试阶段,如果数据有偏差或者测试用例存在偏差,就会造成测试的效果不高或者测试错误。在文档方面,软件开发的相关资料不完整、版本不统一等等都是造成计算机软件不可靠性的主要原因之一。所以,软件在开发的过程中,任何一个过程都必须加以重视,同时,还要加强对软件开发过程的评估审核。所谓的评估审核不仅仅适用于软件开发结束后,更应该适用于软件开发的每一个过程,使得评估审核贯穿于整个软件研发的过程。
导致计算机软件技术的不可靠性原因是多方面的,本文针对导致计算机软件不可靠性的一些原因提出了两点对策,希望能够为计算机软件领域的人士提供一些借鉴意义。然而,这两点解决对策对于计算机软件不可靠性问题的解决是远远不够的,还需要相关领域的专业人士进行进一步的研究和探索。
由上述可知,计算机软件中的不可靠性是对于计算机的影响是十分严重的。根据导致计算机软件不可靠性的原因,其最好的解决措施之一就是做好软件的评估工作。软件开发的相关领导人员要重视软件的评估审核工作,并将这一工作贯穿于研发过程的始终,以便随时都能够进行检查评估,在最大程度上减少软件程序的错误。同时,还要注重软件评估审核小组的队伍建设,评估审核小组中不仅要包括设计人员、管理人员,还要包括软件开发领域的专家,从而确保所开发的软件符合相关领域的水准。软件在进行评估审核后,评估小组要做出评估审核报告,然后根据报告中的内容,制作出一套科学的、合理的解决方案,在由相关人员根据解决方案对软件进行操作。另外,软件开发的企业要建立一套科学的管理机制,只有软件开发的相关企业在软件开发的过程中、在评估审核的过程中,都能井井有条,才能更有效的规避计算机软件中的不可靠性。
软件设计的好坏其评价权不仅在于软件开发商,更在于软件的使用者。所以,软件开发所依据的一个重要准则就应该是以客户满意为目标。在研发软件时,要时刻考虑到客户对于软件功能的需要。如果,软件在研发出来后,不能达到用户的满意度,那么用户势必会认为软件在技术上存在着一些问题。因此,对于一些总以自己的喜爱为设计原则的设计人员来说,必须转变这一观念,时刻以用户的喜爱为依据。同时,在软件的设计中,还要充分考虑语言设计软件的选用问题。
综上所述,计算机软件的不可靠性严重影响了计算机的使用和发展。因此,计算机软件相关领域的专业人士要加强对计算机软件不可靠性的重视,明确计算机软件中导致不可靠因素的原因,有针对性的研究解决这一问题的对策,从而,促进计算机长远、健康的发展。
随着计算机逐渐走入人们的视线并渐渐成为人们生活不可或缺的一部分,如何对计算机的硬件进行管理和维护,以延长计算机的使用寿命就成为了人们关注的话题。因为我们知道计算机的核心正是计算机的硬件,只有硬件保持健康的状态,计算机才能够稳定的运行。由此可见对计算机硬件进行日常维护和管理的重要性。下面本文将首先对计算机硬件的构成进行详细的介绍。
计算机硬件主要由外部设备和内部硬件组成。外部设备主要指的是键盘、鼠标、显示器等。内部硬件包括了CPU、内存以及硬盘。这些内部、外部硬件分别承担了控制、存储、运算、输入、输出等功能,所以计算机硬件系统才是整个计算机的核心,无论是计算机硬件系统中哪一个小的环节不能够正常的执行自己的功能,那么整个计算机就不能正常的工作。
对于计算机硬件的维护,整体上需要遵循“预防为主,防治结合”的原则。也就是在日常使用计算机的过程中养成良好的习惯,正确使用计算机。比如,将计算机放置在通风的位置,避免阳光直射;定期为计算机清理垃圾,保持计算机的清洁;在使用软件的时候,一定要从正规的渠道,购买正版的软件;在关机时使用系统进行关闭,然后切断电源,不要直接关主机的开关。平时使用计算机的过程中注意到以上几点便是对计算机硬件系统最好的维护。
当计算机硬件系统出现问题后,则需要遵循以下的原则:先外设后主机;先电源后部件;静态在前,动态在后;先简单后复杂。
计算机硬件问题的原因飞卫计算机内部原因以及计算机外部原因,下面本文就将分成两部分对计算机硬件问题产生的原因进行仔细的分析。
设备冲突产生的原因是计算机在工作时,必须要调用系统的资源,但是在实际应用过程中,很有可能因为计算机新装入的板卡和原来的资源发生冲突,导致计算机不能够正常的工作。其实由于计算机操作系统能够视情况而定的自己对计算机系统资源进行统一的调用。也就是平时所说的即插即用,但是在实际应用时可能会出现非即插即用和即插即用混合使用的情况,所以在这些情况之下,计算机可能因为一时之间不能够合理协调,这样资源冲突就发生了。
计算机软件原因中最为突出的便是计算机病毒。我们知道,计算机系统需要软件与硬件的相互配合才能够进行正常的应用。在很多情况下,计算机硬件故障多半是由于软件故障导致的,其中尤为常见的便是计算机病毒。说起计算机病毒,大家并不陌生,因为每台计算机中都会安装杀毒软件,但即便如此,计算机病毒也能够有机可承的对计算机发动袭击,破坏计算机的软件以及硬件。
除了计算机内部的原因之外,计算机外部原因也会对计算机硬盘系统造成损害。和一般的用电器相同,如果计算机使用的外部用电环境恶劣。比如,电压不稳或者经常停电等,这样计算机的硬件就会或多或少受到损害。除此之外,计算机硬件设备还会因为电磁干扰受到损害。在我们生活的周围存在着各种各样的电磁干扰,就像是在变压器或者变频空调的周围都会产生电磁干扰,当处于这种环境之中时,有些计算机莫名其妙的重新启动或者是显示器出现偏色等故障,这就表明了此台计算机的抗电磁干扰能力较弱同时周围可能有电磁干扰源的存在。
计算机的主机是计算机的重要组成部分。因为在计算机的主机之中包含着CPU、主板、显卡等关键组件,所以计算机主机在平时一定要做好相应的管理工作,一方面,计算机关机的时候要先将系统关闭,接着再关闭电源,这样可以保护系统的安全,防止由于先关闭电源造成文件丢失或者损毁的现象。另一方面,当计算机处于开机状态的时候不能够随意的挪动主机也不要直接接触内部的主板,防止不慎短路。导致主机烧毁。除了以上两个方面,我们都应当注意将液体远离主机,虽然这是一个大家都知道的细节,但总会因为不注意,或者因为方便,办公时就顺手将饮料放置在计算机的周围,一旦将饮料弄洒就会给计算机硬盘造成损害。
当计算机主机出现故障的时候,很有可能是CPU故障、主板故障、内存故障。CPU故障很多时候是由于过热导致的,一旦发生故障多需要专业人士进行专业的处理,所以本文不多介绍。
上文中已经提到过计算机外部的硬件设备包括了显示器、鼠标和键盘。下面笔者将对这三方面的维护进行详细的介绍。
平时应当将显示器至于水平的桌面上,并且保持显示器位置的干燥整洁。当显示器表面出现灰尘时,不要随意用湿棉布进行擦拭,最后一点提醒大家注意的就是,在拔出电源之前,首先要将显示器的显示开关关闭,否则,显示器很可能被电流脉冲击坏。
鼠标是我们平时使用最多的外部设备之一,并且很多用户的鼠标使用寿命都很低。在使用鼠标时,最好为其配备鼠标垫,而且要避免对鼠标线进行拉扯。
键盘是另一个常用的外设。在使用键盘的时候不要用力的敲击按键,更为重要的是不要在使用键盘的时候吃零食,尤其不要吃瓜子等零食,避免瓜子皮或者食物的碎屑进入到键盘缝隙。并且要定期对键盘进行清洁工作,因为如果键盘很长时间不进行清洁,灵敏程度就会被大大降低。
计算机硬件的管理和维护工作对于计算机而言有着重要的意义,而计算机已经成为了我们生活中不可或缺的一部分,所以,与其等到计算机硬件设备损坏之后再后悔,不如在平时就对计算机做好维护和保养工作,延长计算机的使用寿命。
[1]次仁德吉.计算机硬件管理和维护研究[J].电脑知识与技术,2015,18:13-14.
[2]丁杰. 关于计算机硬件维护与管理创新的探讨[J].信息与电脑(理论版),2014,04:226.
[3]王新博.计算机硬件的维护与管理创新探究[J].信息与电脑(理论版),2014,03:199-200.
[4]李智峰.计算机硬件维护与管理创新研究[J].科技传播,2014,13:233-234.
通常情况下,计算机辅助工程分析主要分为前处理、计算分析和后处理这3个主要的阶段。其中在前处理主要是建立问题的几何模型、进行网格划分、建立用于计算分析的数值模型、确定模型的边界条件和初始条件等;计算分析是对所建立的数值模型进行求解,经常需要求解大型的线性方程组,这个过程是CAE分析中计算量最大、对硬件性能要求最高的部分;后处理则是以图形化的方式对所得的计算结果进行检查和处理。
计算机辅助工程从上个世纪60年代初在工程上开始应用到今天,现已成为工程和产品结构分析中(如航空、航天、机械、土木结构等领域)必不可少的数值计算工具,同时也是分析连续介质力学各类问题的一种重要手段。目前大多数企业仍然处于利用云计算架构帮助企业降低企业计算资源的建设、运维、升级的成本的阶段,现在我们再来分析一下计算机辅助工程行业的资源生态:围绕仿真应用者,我们看到有软件供应商、信息中心、硬件供应商、公共超算、计算机辅助工程云许可证、计算机辅助工程咨询服务商、研发协同平台、数据管理平台、研发知识系统等等重要参与角色。
但是中国企业在规模化应用计算机辅助工程软件的过程中,还存在着软硬件资源利用无序且低效、资源调度与项目匹配脱节以及数据流程安全保障手段弱的问题。目前现阶段,部分企业在购置了若干高性能的工作站、昂贵的计算机辅助工程软件之后,计算机辅助工程计算任务基本靠研究人员个体之间协调,难以建立合理机制在项目团队之间进行共享,无法突破大规模计算需求经常会遇到硬件资源的瓶颈,应用效率极为低下,同时因为硬件设备固有的淘汰周期而降低了硬件资源的投资回报率。而且目前在众多企业中,计算机辅助工程相关的软硬件资源基本属于静态分配,企业难以获得实时数据从而分析软件利用率、硬件利用率与项目密度之间的关系曲线,大多无法根据项目重要性、紧急程度进行动态、实时调配,从而无法实时的将软硬件资源转化为高效率的研发生产力,无法为后续计算机辅助工程资源配置提供数据支持与策略指导。关于计算机辅助工程工作的相关数据及流程的规范与安全已经成为众多企业的IT工作重点,可是分散型的计算机辅助工程计算资源成为后续工作的一大难点。如何利用自动化的IT手段实时监管计算机辅助工程数据的生产过程,从而有效的监管并规范计算机辅助工程工作流程,这将是计算机辅助工程工作顺利集成进入研发流程的必须逾越的一道障碍。
上述问题能否得到有效解决,将直接影响计算机辅助工程研发工作是否能够真正主导产品研发创新的进程。
首先我们看到生态参与者正在释放出很多重要信号,计算机辅助工程软件原厂商正在尝试推出Cloud License,用户使用计算机辅助工程软件将可以按需付费,同时也和公共云Amazon、Azure等合作推出许可证+硬件+软件的一体化在线服务;国内的计算机辅助工程软件商也正在由单纯的工具提供者逐步转型为知识提供者,或者转变为流程、数据管理软件商;国内的计算机辅助工程公共服务平台也演化为两种类型,一类是以上海超级计算中心为代表,积极实践计算机辅助工程混合云计算服务模式,一类以北京市计算中心为代表,创新开拓工业云应用商店。
在1980年以后,在CAE领域逐渐出现了高性能平台的构建,其能够进行许多关键计算。分布式内存的Cluster系统是近年来迅速普及的一种高性能服务器体系。集群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接,可以协同工作并表现为一个单一的、集中的计算资源(单一系统映象)供并行计算任务使用。构建这类服务器的成本比较低,具有良好的性价比和可扩放性。集群作为当前高性能计算机的主流架构,在Top 500中占据了75%以上的份额。因此,当前主流的计算机辅助工程软件都提供了对集群架构和MPI的支持。计算机辅助工程在制造企业中承担着关键的业务,高性能计算平台直接影响计算机辅助工程的运行性能表现、整体成本和系统维护等方面问题。
除此之外计算机辅助工程还需要向着基于高性能计算调度软件工具进行二次开发及功能扩展,降低HPC系统运维复杂度;CAE前后处理、求解服务全集成,缓解超算用户工具碎片化困境,减少文件传输耗时,提升用户体验; 提供计算资源统一调用接口,无缝接入工业云服务平台,进而发展多学科、跨行业的专家级解决方案;探索公共CAE平台的新型服务及运营模式等方向发展。
企业要与计算中心研发团队密切配合,攻关多个技术难点以及系统屏障,共同构建国内工业计算应用商店,通过技术合作,在思维认识上实现质的飞跃,要深切认识到计算资源调度系统仅是计算资源服务平台的一部分,计算资源服务的更高阶形式将是知识集成服务,将来计算机辅助工程需要更多科研人员参与尽量,促进计算机辅助工程计算服务的发展与转型。
伴随着工业化进程的持续加快,我国的社会经济得到了迅猛发展,信息化技术的持续推进使得信息时代在不知不觉中走进了人们生活中,计算机技术也俨然成为了现代社会中一个不可或缺的元素。在计算机中,硬件是基础,软件则是保障,缺少了硬件,计算机就无从谈起,缺少了软件,计算机的性能也无法得到发挥,因此,计算机软件技术受到了越来越多的关注。但是从目前的发展情况分析,计算机软件在应用环节容易受到各种因素的影响,存在着不可靠性,必须得到技术人员的重视和解决。
计算机软件技术,是指为了确保计算机的正常运行,而设置的程序或者相关数据,软件是用户与硬件之间的接口界面,是维持计算机正常运转的核心所在,也是用户与计算机进行相互交流的渠道,其能够提升计算机整体结构的全面性、细致性和可靠性。软件技术属于计算机技术的一种,包括数据处理、人工智能、过程控制和科学计算四种类型,基本上计算机的所有功能都是在相关软件的支持下实现的。在信息化技术飞速发展的影响下,计算机软件技术也在持续发展,对于软件技术人员提出许多新的要求[1]。
计算机软件的发展受其他因素的影响巨大,其中比较重要的是硬件技术,先进的软件技术需要可靠的硬件设备作支撑,如果硬件不足,再好的软件也无法有效发挥作用。不过,软件技术的发展也在一定程度上推动了计算机硬件系统的进步,使得其自身拥有了更加广阔的发展空间。伴随着计算机的日益普及,其开始从最初的科研领域深入到了人们生活的各个方面,硬件技术的发展带动了软件技术的进步,反之亦然。
科学技术的发展和进步,为计算机软件开发工作提供了巨大的便利,但是同时也使得软件开发的成本不断增加,软件成本在计算机系统总成本中占据着越来越大的比重,尤其是一些在专业领域中使用的软件系统,其开发成本更是极其巨大,如军用系统、科研系统等,单单软件的投入费用就可能超过整个计算机系统投入的80%[2]。
软件本身虽然看似简单,但是其所蕴含的内容是异常丰富的,属于系统全面且具有较强逻辑性的元素。对于计算机软件的开发而言,需要有专业的开发平台,不同类型、不同功能的软件在开发环节所涉及的公式、程序等存在着极大的差异。同时,计算机软件的研发过程具有较强的变化性和随机性,导致其往往难以完全按照与客户的约定完成,还需要继续进行调整和修改,因此开发难度较大。
计算机技术整体水平的提升,对于软件也提出了更高的要求,无论是软件本身的规模还是软件技术的复杂程度,都在不断提高,或者可以这样认为,计算机系统成本之所以会不断增加,与计算机软件本身越发复杂的内部结构存在直接的联系。相比较最初的计算机软件,当前多数计算机系统的运行代码扩大了300倍,而且计算机系统的规模也至少增加了三个数量级[3]。
计算机运行需求及所处环境的不断变化,对于软件系统也造成了巨大的冲击,无论多么优秀的计算机软件,在长期的使用过程中,都不可避免地会出现各种各样的漏洞和问题,在这种情况下,想要保证用户的良好体验,确保软件的正常使用,就必须做好后期的更新和维护工作。而软件系统的维护是一个异常庞大的工程,也许在费尽心力解决当前的问题后,又会随之出现新的问题。不仅如此,想要做好计算机软件的更新维护,维护人员必须对软件本身的开发过程有一个大致的了解,提出相应的解决办法,否则就可能会陷入僵局。
计算机软件的可靠性是确保其功能有效发挥的关键所在,其不仅关系着计算机的正常运行,关系着用户体验,更在很大程度上关系着用户的数据信息安全,因此受到了越来越多的关注。而从本质层面分析,计算机软件的可靠性主要是针对计算机软件性能及质量的研究,结合相应的规范和标准,进行软件的全面评估。或者简单来讲,计算机软件的可靠性,就是针对计算机软件故障和问题的研究,在综合考虑各种因素影响的情况下,合理评估计算机软件出现故障的可能性,确定故障发生的概率,将其作为评估计算机软件可靠性的重要指标。通常来讲,在一款软件研发完成投入市场前,都需要进行相应的检验工作,以确保其能够可靠运行[4]。但是从目前来看,我国在计算机软件的可靠性研究方面存在着一些不足,也因此导致了计算机软件技术的不可靠性,具体来讲,主要体现在两个个方面:
导致计算机软件技术不可靠性的主要原因,是设计环节存在的缺陷和漏洞。就目前而言,在进行计算机软件的开发设计时,主要是立足客户需求,搭建大致的软件框架,对研发方向进行明确,然后通过人工的方式,进行代码以及相关程序的编写,不仅十分繁琐,而且软件编程的质量和最终效果直接受设计人员专业素质的影响。如果软件编程人员本身具有较高的专业素质,对工作认真负责,则最终得到的软件就能够满足客户的各种需求,软件的性能和质量也就有所保障。反之,如果编程人员在进行软件开发的过程中,出现了错误,则不仅会影响软件的性能,甚至可能会给整个计算机系统带来巨大的安全隐患。不仅如此,软件编程需要写入大量的代码,而这些代码只能由人工完成,在实际操作中受各种因素的影响,误差的存在几乎不可避免,这就在很大程度上增加了计算机软件的不可靠性。相比较发达国家而言,我国的软件工程发展时间较短,缺乏高素质的专业技术人才,而且相对滞后的计算机运行环境也直接制约了软件的运行效果,其同样会在一定程度上加大软件技术的不可靠性[5]。
就目前而言,我国软件技术正处速发展阶段,但是对于计算机软件技术的开发更多地侧重于技术层面,以实际应用效果来对计算机软件技术进行评估,没有认识到软件技术的不可靠性,从而在一定程度上加剧了不可靠性的发展,甚至可能会形成安全隐患,威胁计算机的正常运行。简单来讲,就是在计算机软件技术的发展过程中,偏重软件的开发而忽视了安全管理,在进行计算机软件的研发工作时,没有设置相应的监督管理体系,不能及时发现和解决软件开发过程中存在的各种问题和不足,在软件开发完成后,也没有及时进行权威性的评估分析,往往是在软件投入市场,出现问题之后,采取进行更新和补救,不仅效率低下,效果欠佳,而且容易失去客户市场。
不仅如此,错综复杂的网络环境同样会对软件技术的可靠性造成负面影响。伴随着网络技术的发展,计算机软件技术想要发挥更好的作用,就必须顺应发展潮流,开展适应性变革,与网络技术相互融合,相互推动。但是与此同时,在网络环境下,计算机软件技术原本的缺陷和问题将会被无限放大,当其没有能够被及时解决,逐渐形成安全威胁时,在网络的传播下,所带来的危害难以估量的[6]。
计算机软件技术的不可靠性归根到底就是软件故障的存在,因此,想要提升计算机软件的可靠性,就必须采取切实有效的措施,降低软件故障发生的几率。一方面,在进行软件开发的过程中,设计人员必须加强与客户的沟通和交流,了解客户的真实需求,并以此为导向进行软件的研发设计;另一方面,在软件开发环节,设计人员必须对自身的工作有一个清醒的认识,做到认真负责,避免语句错误、变量错误等一些低级问题。
做好软件的设计工作是提升计算机软件技术可靠性的关键所在,也是首要环节。具体来讲,应该加强对于专业软件技术人才的教育和培训,拓展人才队伍,从整体上提升我国计算机软件设计的水平和质量。对于软件编程人员而言,在开展软件研发的过程中,必须做好相应的规划设计工作,结合软件的实际应用需求,编制相应的设计方案,做好可行性分析,在确保软件能够正常运行后,才能着手进行下一步的工作。另外,在软件投入市场前,必须进行专业的试验检测,及时对其中存在的缺陷和漏洞进行弥补,提升软件的可靠性,避免由于人为误操作引发的安全隐患[7]。
相关调查显示,在计算机软件的开发和使用过程中,之所以经常出现各种各样的问题,主要是由开发技术人员对于工作缺乏足够认真负责的态度,没有做好硬件系统的维护以及各个阶段的审查工作。对此,为了确保计算机软件在不同的开发环节都能够满足相关要求,必须强调软件开发过程的监督审查工作,确保开发人员能够严格按照有关规范,遵循标准的流程进行软件开发,避免出现跨阶段开发的情况。同时,在每一个开发阶段完成后,都应该及时进行软件评审工作,明确各个阶段的软件开发标准,及时对存在的问题和不足进行处理。在整个软件开发过程中,必须设置专业的软件评审人员,其在保证计算机软件可靠性方面具有重要作用。通过对软件设计人员提交的软件文档进行审核,分析其是否对上一个阶段软件文档的标准进行了执行,来衡量软件开发的效果。另外,评审人员还应该加强与其他领域专业技术人员的交流和配合,以保证良好的评审效果。
固然,在进行计算机软件设计和开发的过程中,可以通过强化监督管理的方式,消除各种因素的影响,减少软件中存在的缺陷和漏洞,进而提升计算机软件的可靠性。但是就实际情况而言,计算机软件本身是非常特殊的,除开比较明显的影响因素,还有很多因素非常隐蔽,不易察觉,其同样会导致软件可靠性的下降。因此,在软件开发完成,投入市场前,必须做好相应的测试工作,对软件的性能、运行效率、整体质量以及安全性、稳定性等进行测试,及时发现监督审查中遗漏的问题,并采取有效的措施进行解决,进一步提升计算机软件在实际应用中的可靠性。同时,还可以结合计算机本身的运行条件,以及网络环境,分析可能影响计算机软件可靠性的因素。需要强化对于网络的监管工作,对计算机软件的运行环境进行优化,提升软件的可靠性,确保其达到应用标准后,才能投入使用[8]。
总而言之,计算机软件技术的发展,推动了我国信息化进程的加快,也带动了计算机产业的进步。而在计算机软件技术的开发和应用中,受各种因素的影响,存在着不可靠性,影响了软件功能的有效发挥。对此,在软件设计环节应该充分分析各方面的影响因素,积极推动软件工程,做好软件研发工作的规范和监管,加大资金和人才的投入力度,及时发现并消除软件中存在的问题,提升软件技术的可靠性。
[1] 焦宇.浅析计算机软件技术的发展[J].信息与电脑,2015(12):46-47.
[2] 贾宗璞,赵广磊.浅析计算机软件技术的发展[J].计算机光盘软件与应用,2013(18):137.
[3] 红梅.现代计算机软件系统技术结构的新特点[J].内蒙古金融研究,2013(7):84-86.
[4] 郑德贤.浅谈计算机软件技术的发展与应用领域[J].电子世界,2014(8):100.
[5] 刘唐荣.对计算机软件技术不可靠性的几点探讨[J].通讯世界,2015(15):201.
[6] 乔国荣.计算机软件技术的不可靠性分析[J].计算机光盘软件与应用,2013(5):200,202.
现阶段,计算机得到人类社会的广泛应用,在这种情况下,人们在对其进行充分运用的过程中,对其软件安全性的要求越来越高,然而现阶段这一问题多种多样,如软件动态破译问题、安全漏洞和质量问题及非法复制问题等,要想利用计算机促进人类社会的不断进步,就应当有针对性的对这些问题进行解决,提高使用者对计算机的信用度。在制定计算机软件防护策略的过程中,可以从技术层面、组织管理层面等分别进行提高。
计算机在日常工作中,要想得到正常的系统运行,需要内在程序及文档共同发挥作用而进行,而这些文档和程序的总称就是软件。它们实际上拥有不一样的含义,程序指的是相关数码编制,具有系统性和特定性等特点。而文档指的是能够帮助使用者更好的熟悉和掌握计算机程序的软件,它能够对相应的数据资料进行详细的说明。这两种软件在计算机中存在不同的功能,程序是计算机运行使用的基础,是计算机的必备软件,而计算机在正常运行状态下,是可以脱离文档的。
而计算机软件的分类,从整体上来看有两种,即系统软件和应用软件。首先,系统软件。计算机要想维持正常的运行,是绝对离不开不同的操作系统,这就是系统软件,其功能是管理及调节不同的硬件,促使其在计算机系统中相互协作,正常运行。这种软件是由基础操作工具和操作系统组合而成,如软件连接、驱动管理等。可以说,计算机的这一组成是促使使用者、计算机及其内部操作系统紧密相连的基础,促使三者在运行过程中构建为统一整体,在这一整体运行中是可以忽略掉其内部硬件的运行。现阶段市场上主要的系统软件宝库UNIX、Windows等。其次,应用软件。这类型软件在使用过程中以达到某种用途为目的,通常状况下它以特定的形式展现自身的功能,如图像浏览器等,这种功能表现相对单一;同时还有系统功能的展现,如Office办公软件等,同时还包括人们熟知的数据库管理系统,这一软件系统的组成包含几个独立程序。现阶段人类开发出来了多种应用软件,最常使用的有工具软件、游戏和管理软件等。
在信息技术飞速发展的背景下,网络技术逐渐取得进步,在一定程度上极大的完善了技术机的网络体系。但是计算机网络的构建单纯依靠研发相应管理空间或者促使硬件设备简单实现对接是无法完成的,这是因为该网络的构建最主要的目标是能够为使用者提供更加完善的服务,这就要求网络中能够容纳大量的使用者信息和数据,同时能够更加快捷的促进资源共享。这些信息和资源,一旦发生泄漏将会给使用者带来极大的损失。因此在计算机使用越来越普及的状态下,构建计算机网络信息安全成为人们广泛关注的话题。而要想实现真正意义上的安全,最大限度的保护用户信息,现阶段信息技术的发展,其最主要的工作内容就是实现软件安全。现阶段,针对计算机网络的信息安全问题,IOS将其定义为要充分采取有效措施来保护网络内计算机的硬件、软件、使用者信息和数据等,有效防止因意外、恶意操作,造成的信息资源泄露或篡改,只有做到这一点,才能够促使互联网在长时间内为人们进行服务的过程中,始终保持着高度的稳定性和安全性,从而为人类带来更加快捷、便利的生活。计算机的网络安全包含物理和逻辑安全两个方面。前者指的是应用物理保护措施促使计算机硬件及网络连接部位始终处于安全工作状态,减少因意外导致的数据或信息丢失;后者指的是计算机网络系统在日常工作中应处于整体的维护和正常工作状态下,这样一来能够极大提高整个系统的完整性,促使信息泄露的可能大大降低。在这种状况下,安全性在软件当中的体现成为最重要的因素之一,这是因为计算机软件在日常工作状况中,不但可以对别人实施攻击也可以有效的提高自身安全性,起到保护自己的作用。
在运行过程中,安全问题对软件的威胁就是计算机软件安全,在解决这一问题的过程中,首先应当有效防护软件,保证其运行过程中没有被人为的滥用、破解及随意修改等现象,这样一来,就能够确保其工作状态中充分发挥自身的功能。从技术角度来观察这一问题,就要构建一个稳定平台,包含所有系统硬件,从而实现软件的正常使用;同时还应当加强防护措施,严禁跟踪事件的发生,此时就应当对监测、干扰及随意修改软件的行为进行严格控制。计算机软件自产生之日起,就面临着各种跟踪及控制的问题,一些掌握计算机技术的人员能够直接修改和读写计算机中的不同格式文件,在将其源代码进行窃取之后,会对计算机的密钥和防复制能力进行破坏,这样一来就能够动态破译任何一个软件,不法分子会在接下来的工作中将一些数据公开或非法买卖。计算机中的跟踪调试软件具有强大的动态跟踪功能,现阶段该技术能够有效的进行跟踪程序并保证其逐条运行,其中主要使用的是断电中断和单步中断两种技术,分别以静态和动态跟踪两种形式进行。在静态跟踪当中,可以对反编译工具进行充分的运用,在此基础上能够实现源代码的产生,从而促使分析工作更加便利;动态跟踪当中,是对调试工具的充分运用,这样一来能够在某处促使程序得到中断,从而实现其单步执行,达到跟踪的效果。从以上两点可以看出,对软件的动态破译是计算机软件的一个重要安全问题。
开发软件是一项复杂而系统的工作,其中包含了大量的限制性因素,这就导致现阶段计算机中所使用的软件或多或少都会存在一定程度上的漏洞,严重威胁软件的安全,但是这一现象即使是现阶段世界顶级的计算机软件开发公司也无法对其进行全部避免。也就是说,日常工作及生活过程中,计算机软件始终都存在安全漏洞,有些时候无法得到安全运行。近年来,多发软件安全事件当中,多数都是由于安全漏洞引起的,即使多数使用者会将杀毒软件和防火墙等安装于计算机当中,但是这一问题始终无法被完全杜绝,这是因为当防护软件不断发展的过程中,那些专门实施软件破坏的技术工作者也在不断的摸索,也就是人们常说的“网络高手”。同时,当使用者在计算机当中安装防漏洞软件时,很可能导致更多软件漏洞的出现。
在时代的不断进步中,知识密集型产品被大量研发,计算机就属于这一类型,这一特点导致大量的人力和物力将被应用在对计算机软件进行研发和使用的过程中。在计算机软件的研发中,很多硬件在使用过程中所创造的经济效益甚至远远低于其研发成本。然而,现阶段非法复制问题却严重威胁着大量的计算机软件。具调查表明,近年来,每年都有非法盗版的现象发生,这些盗版软件导致一百三十多亿美元的损失出现,并且这一损失数据每年都在上升。现阶段,世界上各国都开始对非法盗版及复制问题加以高度的重视,并对该现象造成的法律、税收等问题进行了一定程度的解决,而这一过程是非常艰难的,在我国这种发展中国家的状态下,现阶段并没有相对完善的管理措施,我国社会受到了非法复制问题的严重影响。
计算机软件在研发的过程中,不仅需要耗费大量的人力和物力,同时其所研制出来的产品属于知识密集型,从这两个角度来看,是值得人们对其给予高度尊重的。现阶段在加强计算机软件防护的过程中,人们不仅可以从法律的角度对其进行严格而强行的约束和管理,从技术层面和组织管理层面加强防护措施具有重要意义,因为这样一来能够更有效的制约软件的动态破译、安全漏洞和非法复制等问题。
技术层面的提高可以从非法复制的防止开始。现阶段我国在保护软件的过程中还没有足够大的力度,开发商所采取的措施是加密。然而为了追求经济效益,大部分已经被破解的软件仍然没有停止使用,而它所带来的危害就是会将多数捆绑后台程序进行启动,来威胁用户数据。这样一来,相关行业领域应及时加强技术研究,有效研制出防止非法复制出现的软件,促使其在对计算机软件进行充分保护的同时能够对计算机软件产生较小的威胁。同时也可以从对用户数据进行加强保护的方面入手,加强密钥的研究。在对反跟踪技术进行研究的过程中,由于该技术是对调试工具进行充分利用,那么就应当研发相关技术防止该工具被非法利用。现阶段计算机的软件系统当中,都具有一定的结构特点,对于CPU的严重依赖,导致一旦该软件被监控,就会泄漏大量的信息,在这种情况下,应及时将该技术中的安全漏洞进行消除,同时对反跟踪技术进行完善,最大限度的实现对软件的保护。
计算机软件防护策略中,国家应充分发挥管理职能,不仅要构建专门的单位或部门,还应当对软件开发商进行严格的管理,这样一来,就能够保证软件从研发之日起一直到被使用者进行使用,都能够受到严格的监督及管理,从而有效的防止非法复制问题。相关部门在加强组织管理的过程中,专业的软件安全监督机构的设立是非常必要的,以专题小组的形式进行非法复制和动态跟踪,能够极大的提高打击力度,同时还应当提高对使用者使用过程的管理,严格限制软件的拷贝和移植等。
保护计算机软件过程中,首要工作内容就是对专业杀毒软件的应用,同时值得注意的是,另外一个关键技术措施就是对防火墙技术的应用。该技术使用者在应用电脑访问相关网络时,电脑内部网络有时会受到外部网络的不正当攻击,防火墙技术的有效应用,最显著的效果就是能够对外部网络不必要的攻击进行预防和阻止,促使电脑中相关软件免受威胁,从而始终处于正常运行状态。可以说系统内部是否能够稳定运行是防火墙正常工作的重要内容。当电脑内部网络被部分用户访问时,防火墙的功能是始终维护自身系统的正常运行;当电脑内部网络被非法访问时,防火墙的功能是对其进行有效拦截。现阶段,世界上研发出来的防火墙技术具有较高的稳定性和可靠性,因此得到了较广泛的应用,黑客入侵状况逐渐减少,安全性始终存在于电脑软件系统网络当中。
在维护计算机系统安全的过程中,对其硬件系统进行加强防护具有重要意义。使用者在日常工作和生活中对电脑和网络的使用,需要记忆硬件系统高度的重视。这是因为,硬件系统一旦发生安全威胁将会从两个方面进行,即物理安全和设置安全。前者指的是机柜或交换机等物理设备发生安全问题,这需要使用者在日常工作中提高管理和维护力度,促使电脑免受外力的影响而发生破坏;后者指的是有效设置设备,硬件受到外来入侵的几率就会大大降低。
在实施计算机软件安全防护策略的过程中,现阶段最后的防御手段就是对数据加密技术的充分应用。该技术在使用过程中能够有效的促使一个网络系统始终处于安全状况之下,同时在针对部分重要而机密性的信息和数据进行保护时,这一手段也是最有效的方法。要想有效处理这一问题,使用者可以对相关文件进行加密,使用密钥,文件经过加密后,会形成某列无法及时识别的代码,这样一来,只有熟知代码的人员才能够在输入密码以后对其进行访问,也才能够清楚的看见文件的真实内容。在这种情况下,数据加密技术的有效应用能够实现对计算机软件的有效管理和保护。