1.5 开源的Solaris 10系统是开发者的乐园
2005年1月,Sun公司正式对外发布其开放Solaris 10源码计划,其中包括Solaris 10内核技术、文件系统以及网络管理技术等。
一直以来,很多用户希望降低成本,因此采用x86服务器,同时也希望保证系统的稳定性和安全性,能同时采用传统的UNIX及应用。但过去各个UNIX服务器厂商都是自成体系,没有人愿意将自己的UNIX操作系统用来支持x86服务器。对用户来说,两个愿望无法同时满足。现在Solaris 10开放了源代码,用户从此多了一个选择。对于服务这些用户的独立软件开发商(ISV),尤其是那些基于x86服务器在Windows或Linux上开发软件的开发商来说,现在他们可以免费获得Solaris 10,在性能卓越的操作系统上,为用户开发相关应用程序了。
也可以想像,一个投入巨大人力、研发了20年的操作系统开放,对科研人员,尤其是大专院校的学生来讲,绝对是个令人兴奋的消息。现在,他们可以更深入地研究、分解这个系统,甚至在这个系统中加入自己的思想。
除此之外,对于科研机构、嵌入式开发商来说,Solaris 10开源也是一个好消息。利用开源的Solaris 10开发其应用产品,将极大地降低这些企业的研发成本,促进其创新应用。一位开发人员评价Solaris 10开源时说:“我们希望通过利用Solaris 10源代码,进行更多的创新,并提升产品的质量。”
1.5.1 OpenSolaris
OpenSolaris在
由于Sun公司在开放源码上采用的是OSI促进协会所制定的CDDL(Common Development and Distribution License)协议,所以我们有必要来了解一下CDDL协议的大体内容。表1-1是CDDL协议与支持Linux的GPL协议的比较。
表1-1 两大授权比较表
|
|
CDDL |
GPL |
|
专利保护 |
Most |
Noen |
|
修改必须发布 |
Yes |
Yes |
|
专利许可 |
Yes |
No |
|
兼容其他版权许可 |
Yes |
No |
|
与智财权软件整合 |
Yes |
No |
|
发布自身授权的二进位码 |
Yes |
No |
|
法律选定 |
Yes |
No |
|
版本选定 |
Yes |
No |
|
广泛通用性 |
No |
Yes |
资料来源:电子时报整理2005/4 制表:曹乙帆、柯傅伟
OpenSolaris项目网站在
1.5.2 Java程序的最理想开发平台
众所周知,现在的Java编程是很流行的。Java程序的最大优势是它的跨平台能力,“一次编写,随处运行”是Java受人欢迎的原因。也就是说,在Solaris 10上开发的Java程序,可以不经过任何修改和重新编译,就直接拷贝到Windows上运行。这种二进制代码程序的兼容性是过去从来没有的,即使是在不同硬件平台上得到广泛应用的C语言,它的源代码虽然可以做到不经过修改可以在不同的平台上使用,但是仍然要经过编译。Java成功的秘密在于它通过Java虚拟机与硬件交互。许多软件厂商,包括SunSoft和Microsoft都已经宣布支持Java平台。Java是Sun公司开发出来的,在Java标准正式确立之前,Sun公司控制着对Java的发展。这对于非Solaris平台来说,多少也算有一点风险。但对Solaris 10平台上的开发者来说,应该不必对现有环境的Java技术集成存在太多的疑虑。随着Solaris 10平台的各种免费开发工具的推出,对有经验的C语言和UNIX开发者来说,开发Java应用将变得更容易。
1.5.3 动态跟踪功能
开发人员可以使用DTrace分析和优化应用程序性能。DTrace使得测试和调节更为有效,并缩短了测试周期,节省了支持成本。
技术专家Peter Baer Galvin曾说过,“曾有一个Oracle服务器在低负荷的情况下使CPU不堪重负,原因难以确定,在未采用DTrace的Solaris 8上进行多次调试和试验后,我们发现问题其实出在称为数据库服务器的应用程序服务器上。如果采用DTrace,这个问题在一个小时内就能得到解决。”
DTrace还允许编程人员通过观察用户/内核边界之间的控制流来查看其应用程序和内核之间的交互活动,开创了业界的又一先河。再加上DTrace简单易学的D语言,你便能构建自定义程序以动态地协助系统,并对有关操作系统和用户程序的任意问题提供即时、简明的回答。
综上所述,DTrace的功能比业界任何其他同类工具都要强大,是实时对网络进行故障排除并调节系统性能的无可比拟的动态跟踪框架。DTrace以一种全新的方式让你查看整个Solaris 10系统,发现先前隐蔽的系统问题,并且修复过去无法解决的性能问题。借助DTrace,你可以:
? 检查用户程序及Solaris 10的行为,快速找出造成系统和应用程序瓶颈的根本起因。
? 突出系统调节的趋势和模式,以获得最佳性能。
? 捕捉到软件不同层级之间的性能问题。
? 找出异常行为的起因。
? 为普通或复杂的例行程序编写可重复使用的脚本。
? 指定DTrace收集的数据、采取的操作,以及在哪些条件下采取这些操作。
1.5.4 Solaris 10上的开发工具
由于Solaris 10发行版默认是不安装C编译器及开发环境的,因此,要在Solaris 10平台上进行C程序开发有如下两种选择:
? 免费下载Sun公司的编译器Sun Studio10。
? 安装免费的GNU开发工具。
1.Sun Studio 10
如果需要为SPARC平台编译和优化,对生成代码的performance要求较高,Sun Studio也许是最佳选择。
Sun Studio 10是优化了Solaris 10和Linux平台上的C++,Fortran开发环境,可在Sun UltraSPARC IV,Intel Xeon和AMD上开发32/64位的应用。
2.Sun Java Studio Creator可视化开发环境
这是一个集综合性的开发、调试和部署功能于一身的开发环境,它包括Sun Java System Application Server 8平台版软件。该软件是Sun Java企业系统软件中的一个组件,可用于目标开发和部署平台。
3.GNU的开发工具
考虑到成本和其他因素,免费的GNU开发工具无疑是首选。
Solaris 10发行版本的Companion CD上,包括了很多GNU的开发工具。
? GCC:C/C++编译器。事实上,GCC可以支持包括SPARC和x86在内的多种平台的交叉编译。Solaris 10自带的GCC版本是
? binutils:gas/ld/ar/nm等二进制工具,可以不安装。
? gdb:Debug工具,调试代码和反汇编。
? gmake:GNU的make,可以不安装。
? vim:编辑器,可以支持C/C++等语言的语法高亮显示功能。
? coreutils:包含GNU的常用命令,利用ls --color参数可以实现和Linux一样的彩色终端功能。
4.下载GNU的开发工具
除了Solaris 10发行版本的Companion CD外,从www.sunfreeware.com站点上也可以下载上述工具的二进制包。
sunfreeware站点上提供了Solaris
以上提到的所有开发工具的安装包,均须用gzip解压后,用pkgadd -d命令来进行安装。






