我的工程实践选题是服务器风扇转速智能控制。
本项目主要任务是开发一个应用,根据服务器内板卡的功耗和温度,智能的调控服务器的风扇转速。主要涉及风扇转速智能控制算法设计、Linux系统下的应用开发、服务器系统风扇控制编程、板卡温度读取编程等技术。要求能够主动学习相关知识,设计出高效的风扇控制算法,编写出板卡温度读取函数库,风扇转速调控函数库,并最终实现风扇智能控制算法,高效的控制服务器机箱内的系统风扇。
编程语言主要涉及c语言,所用软件主要涉及visual studio,gcc。
一、这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的?
首先,c语言作为一种广泛使用的编程语言,是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。它的编译方式十分的简易,并且是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言,并且仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。在我的工程实践课题中,需要对服务器的风扇调度进行调优,涉及到很多底层工作,c语言无疑是非常符合要求的。
在选择好编程语言后,下一步选择编程软件,visual studio和gcc作为做常用的两种编译软件,自然就是我需要选择的,它们的使用非常的方便快捷。
visual studio的目标就是挣钱盈利,而gcc做为一款开源软件,本质上是为了给广大程序员一个好用的编译软件,它的目的并不是为了盈利。
二、这些软件是如何到你手里的(邮购,下载,互相拷贝,在线使用……)
visual studio使用Microsoft官网下载的community版本,这种版本在注册后可以免费使用。
gcc是一个开源项目,在linux环境下可以直接yum打包下载,使用非常方便。
三、这些软件有bug么?又是如何更新版本的?
作为软件,很难说绝对不会有bug,但一般像大型公司或者大型团体发布的收费软件,例如visual studio在正常使用中,不容易发现bug。如果发现bug,发布公司一般都会发布相应补丁。
Microsoft的visual studio一般每年都会在官网更新版本,直接去下载即可。
gcc这样的开源软件,也可以关注官网更新动态,直接使用linux终端命令打包下载。
四、此类软件是什么时候开始出现的,同一类型的软件之间是如何竞争的?发展趋势如何?
gcc的出现:
gcc的出现归功于GNU项目计划。GNU 项目计划的主要目的是创建一个名叫 GNU’s Not Unix(GNU) 的完全免费的操作系统。该操作系统将包括绝大多数自由软件基金会所开发的其他软件,以对抗所有商业软件,而这个操作系统的核心(kernel)就叫 HURD。在GNU项目计划下产生的软件中,其中最著名的是 GNU C Complier(gcc)。1987年GCC 1.0发布,同年12月,GCC开始支持C++语言,随后,GCC开始支持Objective-C、Objective-C++、Fortran、Java和Ada等语言。与此同时,GCC也被逐渐移植到各种各样的主流处理器体系结构上,包括i386、ix86_64、SPARCE、ARM和MIPS等处理器平台。
这个软件成为历史上最优秀的C语言编译器, 其执行效率与一般的编译器相比平均效率要高 20%~30%,几乎所有的自由软件都是通过它编译的。可以说,它是自由软件发展的基石与标杆。现在,gcc 已经可以支持 7 种编程语言和 30 种编程结构,是学术界最受欢迎的编译工具。
visual studio的出现:
1997年,微软发布了 Visual Studio 97。包含有面向 Windows 开发使用的Visual Basic 5.0、Visual C++ 5.0,面向Java开发的Visual J++和面向数据库开发的 Visual FoxPro,还包含有创建 DHTML (Dynamic HTML) 所需要的 Visual InterDev。其中,Visual Basic 和 Visual FoxPro 使用单独的开发环境,其他的开发语言使用统一的开发环境。
竞争与发展:
gcc和visual studio的竞争其实是收费软件与开源软件竞争的体现。目前来说gcc由于其免费开源的特点,发展势头非常猛。
五、列举你在使用上述软件时观察到的“特殊”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性吗?
这些软件在很多硬件平台上都就可以使用,说明他们不像硬件具有较低的抽象化和通用性,软件的一大特性就是它的跨平台通用性。
六、你个人第一次用此类软件是什么时候?你当时是几年级?在哪里,什么状态,当时的软件是如何得到的(买的正版,盗版,下载?)
第一次使用visual studio是在天津大学读大一的时候,当时c++是我们的第一门程序设计课程,当时的软件是从学校的网络中心下载的正版软件。
第一次使用gcc是在中科大读研一的时候,工程实践中的服务器测试平台用的是linux系统,那么当然选用gcc作为c语言的编译器。由于gcc是开源软件,直接使用yum命令就可以打包下载。
七、你是如何精通这类软件的?他给你什么好处,坏处?
学习这类软件,都是通过网上找博客,官网看使用文档来学习的,想要精通就要通过大量的实践使用才可以精通。
visual studio给我带来的好处是使编程的整个流程都十分的方便,十分的小白化使用方式。坏处就是让我很少的知道从代码到能运行的程序之间的过程是如何的。而相对于此,正是在linux上使用gcc的好处,能让我要多学习代码如何成为可运行的程序,但也会让使用上更加复杂,不适合新手。
八、你现在还用它么,或者是同类软件的不同品牌,为何?
现在我一般windows上开发软件都用visual studio,而如果相关的项目需要在linux上开发都用gcc。
依然使用它是因为它们十分的好用,一直有团体对它们进行更新,而使用这两个不同的品牌是因为操作系统的不同。
九、这种软件再过10年,20年还会存在么,为什么?
visual studio和gcc分别作为在windows和linux下最常用的编译软件,一定在10年20年后依然存在。
这个主要是看C/C++这个语言的存活期是多久,只要C/C++依然是很重要的语言,gcc就依旧会维护。
Microsoft的visual studio则包含很多语言的程序设计环境,只要人类还从事编程工作,Microsoft公司还存在,收费软件依然有生存空间,visual studio就依然会存在。
浙公网安备 33010602011771号