龙芯与Ruby的神奇之旅
扫描二维码
随时随地手机看文章
一、初识Ruby
Ruby对于程序员和极客并不陌生,这是一个20世纪90年代由日本牛人松本行弘(Yukihiro Matsumoto)开发的脚本语言,之后一直在开源领域默默发展。这个语言的特点是简洁、优雅,上手容易,代码直观,维护性好,所以深受程序员的追捧。不知不觉到了2016年,在全球编程语言排行榜上已经处于前10名的位置。
对于这样一个使用广泛的语言,龙芯平台能不能方便的支持呢?今天我们就从头开始搭建Ruby的环境,试验一下龙芯电脑好不好用。
2016年1月TIOBE编程语言排行榜
二、龙芯3B机器亮相
我们使用的机器是一台龙芯3B迷你电脑。龙芯3B迷你电脑是首款国产商用8核处理器,推出之时在市场上引起了不小的轰动,性能足够日常办公使用,预装了浏览器、Office、文件管理、影音播放等常用的软件,开箱即用。
想要了解这款机器的信息可以访问这个页面“国货的进步之作 龙芯3B迷你电脑上手体验”(http://Desktops.pconline.com.cn/551/5512119.html)。
还可以看这里“大有进步-龙芯3B六核迷你电脑体验之初印象”(http://www.loongsonclub.com/BBS/portal.php?mod=vIEw&aid=16)
龙芯3B迷你电脑
三、好马配好鞍:龙芯社区操作系统Loongnix
有了这样强劲的国产CPU电脑,一定要搭配优秀的国产操作系统。在今天的实验中,我们要尝鲜的是龙芯开源社区版操作系统Loongnix。
Loongnix是由龙芯公司亲自开发的,并且组织联合产业链合作厂商、国际开源软件社区及开源爱好者共同参与建设。社区以“开源、开放”的形式进行管理,设置内核、浏览器、Java、图形、编译工具等系列基础软件项目。既然是CPU公司自家产品,想必在龙芯基础软件方面的研制优化成果将首先在社区版的Loongnix操作系统中集成和验证。这样的“优质搭配”想不优秀都难啊。
龙芯社区版操作系统Loongnix
四、下载源代码
我们直接访问Ruby主页,下载最新版本ruby-2.3.0.tar.gz。文件只有17MB。
下载地址:http://www.ruby-LANg.org/en/downloads/
我们把这个文件通过U盘或者网络(SSH、Ftp)等方式,传送到龙芯机器上去。
五、编 译
Linux上的自由软件编译方式都是大同小异,基本都是“解包 - configure - make - make install”的套路。Ruby也不例外,命令行都是极其简单。下面我们就一步步来,不用被这些天书一样的命令吓倒,等你走完一遍流程之后就会发现,在Linux上安装软件其实比windows上更简洁方便。
1. 解包
$ cp ruby-2.3.0.tar.gz ~
$ cd ~
$ tar zxf ruby-2.3.0.tar.gz
$ cd ruby-2.3.0
2. 配置
$ ./configure
3. 编译
$ make -j 8
下面就是等待编译完成了。在此期间可以倒一杯水喝,或者活动一下身体。在龙芯3B上编译大约需要20分钟时间。
4. 安装
# sudo make install
(这时候会提示输入管理员密码)
不出意外的话,上面的过程应该一切顺利。
六、在龙芯上运行Ruby
激动人心的时刻终于到来了!我们先运行一下ruby命令,打印一下版本信息吧:
$ /usr/local/BIn/ruby -v
ruby 2.3.0p0 (2015-12-25 reVision 53290) [mips64el-linux]
看见了吧?版本标识里面鲜明的打印了“mips64el”,这个就是龙芯的指令集,而且是64位哟。
既然开始了就不要停下,再运行一下ruby自带的测试例子吧。test_vector.rb听上去应该是一个数组计算程序:
$ cd test/matrix
$ /usr/local/bin/ruby test_vector.rb
Loaded suite test_vector
Started
............................
Finished in 0.123432586 seconds.
----------------------------------------------------------------------------------------
28 tests, 86 assertions, 0 failures, 0 errors
100% passed
----------------------------------------------------------------------------------------
226.84 tests/s, 696.74 assertions/s
七、Ruby的“Hello World”
到目前为止,我们已经干了不少事情,但是只差一件最重要的事,我们还没有自己写Ruby程序啊!这对于傲娇的程序员是不能容忍的,来写一个Ruby语言的“Hello World”吧!打开任何一个文本编辑器,你可以使用“神的编辑器”vim,也可以使用入门级的“文本编辑器”,编写一个hello.rb文件,里面只有一行内容:
[hello.rb]
puts "Hello World!"
因为Ruby是脚本语言,所以不需要编译,直接运行文本文件:
$ /usr/local/bin/ruby hello.rb
Hello World!
果然不出所料,真的打印出来了!
八、神奇的事岂止于此
朋友们看到现在可能已经不耐烦了,搞了半天难道就为了打印几个字符?当然不只是这些简陋的功能了,只不过所有复杂的系统也是从简单的开始。Ruby是平台无关的语言,所有采用Ruby语言编写的应用程序,都能够在Ruby的虚拟机上运行了。所以这意味着龙芯平台拥有了Ruby的全套软件生态,以往在X86平台上搭建的服务器应用系统,现在都能够以“零代价”的方式迁移到龙芯平台上来。想想都让人觉得国产CPU大有希望啊!
由于现在Ruby的资源太多了,在此不可能一个一个都搭建起来,笔者只试验了两个较大规模的系统,一个是redmine,是中国人开发的项目管理系统;另一个是Casein,开源的内容管理系统。有兴趣的朋友可以再找类似的系统搭建起来。
龙芯平台上运行redmine项目管理系统
龙芯平台上运行Casein内容管理系统
九、遇到问题怎么办?
上面的文章是笔者搭建过程的记录,朋友们按照这些操作命令也应该能够搭建好Ruby环境。如果遇到意外情况,电脑提示错误,请首先检查输入的命令是否和示例完全相同。如果错误还是存在,实在无法解决,也不用着急,龙芯社区有官方的Bug服务门户(http://bugs.loongnix.org/login_page.php),你可以把遇到的错误现象提交上去,会有龙芯团队的人员给您专门解决哦。
龙芯官方的Bug提交平台
十、总 结
笔者在不到一天的时间里不停的把玩龙芯3B电脑,总的感觉是运行稳定,体验流畅,系统清爽,没有PC电脑上Windows的病毒软件之类困扰,最适合做需要集中精力干正经事的办公工作,以及服务器之类要求高可靠、高安全的领域。
现在龙芯经过10多年发展,早已形成了成熟的市场,软件生态也在蓬勃发展,除了本文搭建的Ruby语言环境之外,所有主流的语言都已经能够支持,包括Java、PHP、python都是有成熟的解决方案。
何况去年龙芯发布新一代产品3A2000,性能比3B又高了2倍,万众期待。相信用不了多久,龙芯CPU就可以在开放市场一较高低。