--Solaris 10是什么------------------
提起Solaris,在人们印象中可能是这样一个场景:在拥挤阴暗的机房里,一个笨重的Sun SPARC服务器的屏幕上滚动着神秘的字符。除了专门的服务器管理人员,没有人知道它在做什么。对于大多数读者来说,Solaris有一副让人难以接近的冰冷的面孔。而且,在这冰冷的面孔背后,还有不菲的价格。所有这些,都让人不敢接近它,于是,Solaris成了深闺中的宠儿,神秘而娇嫩。然而,随着Solaris 10的发布,“深闺中的宠儿”向大众走来,渴望技术人员能了解它、掌握它、使用它。
那么,Solaris到底是什么呢?简单地说,Solaris是一种操作系统。通过计算机操作系统可以控制计算机,可以听音乐、玩游戏、上网聊天和看新闻,还可以在操作系统上开发游戏软件,搭建网站,为大家提供新闻服务。在这个领域中,有读者熟悉的微软公司的Windows操作系统,还有被众多自由软件爱好者喜爱的Linux操作系统。而刚刚发布的Solaris 10到底能给我们带来些什么呢?
首先,Solaris 10已经改变了冰冷的面孔,换了一副招人喜爱的样子。
Solaris 10的桌面已经窗口化和菜单化。新的Java控制台界面使人感觉更加亲近和舒适。在这里,用户可以通过单击图标来上网浏览和发送邮件,也可以打开StarSuite7写文档和其他应用程序。这一切和微软的Windows非常相似。
有些读者可能知道,以前的Solaris只能安装在Sun公司的SPARC平台的计算机上,是无法安装在普通用户家中的计算机的。但是,现在的Solaris 10拥有了专门针对普通用户计算机的x86版,它支持目前的大多数台式计算机,而且其安装界面可以选择中文,一般用户也可以轻松安装。
其次,在应用软件方面,Solaris 10不再是仅仅能运行服务器端的软件,还有大量的客户端的软件可以供桌面用户选择安装。用户可以方便地使用系统自带的浏览器软件进行上网、发送邮件和文字处理。而最令用户欣慰的是,他们不必再担心病毒的侵入。因为任何针对于PC平台的病毒,无论在物理上还是在逻辑上,对于Solaris 10都是无效的。
应用在Solaris 10平台上的服务器软件更是丰富。目前有600多家独立软件开发商(ISV)已经提供了1000多种在该系统上运行的数据库、安全产品和Web服务等应用程序。
最近,Solaris 10还具有了一项新的功能,能将针对于Linux环境开发的应用程序的二进制代码,在不经修改和编译的情况下,直接在x86版的Solaris 10环境下执行。Linux被自由软件开发者所喜爱,这使得Linux开发平台上的众多自由软件产品可以被Solaris 10用户所使用,也丰富了Solaris 10平台上应用软件的数量。
对于其他Linux的爱好者来说,可以尝试使用Solaris 10。有些软件不但可以跨平台通用,更令人满意的是,Solaris 10也即将是开源的。Sun公司承诺,将逐步全面开放Solaris 10操作系统,包括Solaris 10内核技术、文件系统及网络管理技术等。
--UNIX和Solaris的历史--------------------------
Solaris是在UNIX的发展过程中逐渐发展起来的。1969年AT&T贝尔实验室开发出了第一套UNIX操作系统,尽管这只是个单用户的操作系统,却标志着UNIX的诞生。
UNIX发展的下一个里程碑是在1973年,当时在贝尔实验室的工作人员利用C语言重新编写了UNIX内核程序,这也是为什么C语言总是和UNIX联系在一起的原因。即使在今天,尽管已经有许多其他编程语言可以选择,但大多数UNIX应用仍是采用C语言进行编写的。
到了1975年,伯克利大学发布了它的第一个UNIX软件,这个软件称为BSD。BSD UNIX在UNIX的历史发展中有相当大的影响力,被许多商家采用,成为很多商业UNIX的基础,而Sun公司的Solaris正是在这个BSD UNIX的基础上发展起来的。
与此同时,AT&T贝尔实验室也在不断改变他们的商用UNIX版本。直到AT&T贝尔实验室在吸收了BSD UNIX已经有的各种优先特性,并结合其本身特点,推出了UNIX System V版本之后,才形成了BSD UNIX和UNIX System V两大主流UNIX系统。
20世纪80年代初期,UNIX System V仍然主要由AT&T所拥有。但到1993年初,AT&T将开发UNIX系统的实验室(USL)卖给了Novell公司,UNIX即为Novell所拥有。后来,Novell将自己的UNIX改名为UNIXWare,而将UNIX商标赠送给X/OPEN——一个由众多UNIX厂商组成的联盟,这样这个联盟内的所有成员均可以使用UNIX商标。从此以后,UNIX不再是专有产品了。
System V对于UNIX平台的主要贡献包括:
>增强了Bourne shell功能,包括shell函数;
>支持STREAMS和TLI网络库;
>远程文件共享(RFS);
>改善了内存分页;
>应用了二进制接口(ABI)。
由于Solaris最初是由伯克利大学的BSD派生出来的,因此,SunOS 4.x(常被称为Solaris1.x)的命令风格与其他的BSD非常相似,只是由于后来改用了System V的版本4(SVR4),才使得SunOS 5.x(也就是Solaris 2.x)发生了变化。
SVR4与BSD UNIX的主要差别可以总结如下:
>Root脚本在System V中为/etc/init.d,在BSD中为/etc/rc.d。
>默认shell在System V中为Bourne shell,在BSD中为C shell。
>文件系统数据库在System V中为/etc/mnttab,在BSD中为/etc/mtab。
>内核名称在System V中为/UNIX,在BSD中为/vmUNIX。
>打印系统在System V中为lp,在BSD中为lpr。
>字符串函数在System V中为memcopy,在BSD中为bcopy。
>终端初始化在System V中为/etc/inittab,在BSD中为/etc/ttys。
>终端控制在System V中为termio,在BSD中为termios。
而SunOS 5.x也逐渐被Solaris 2.x名称代替,在Solaris 2.6以后,Solaris 7(SunOS 5.7)开始改变它的版本编号方法,它以过去的小版本编号为基础,采用了单一版本号的形式。也就是说,Solaris的版本序号顺序为2.5,2.6,7,8,9,10。
Sun操作系统版本发展的时间顺序如下:
1971年,第一个UNIX版本发布。
1982年,Sun选择UNIX操作系统用于其第一个工作站。
1983年,SunOS 1.0发布。
1984年,Sun发明NFS技术。
1985年,SunOS 2.0支持NFS技术。
1988年,SunOS 4.0支持其第一个SPARC处理器和使用虚拟内存技术。
1992年,Solaris 2发布,基于UNIX SVR4,并支持其第一款多处理器工作站。
1992年,Solaris 2.1增加支持线程技术。
1993年,Solaris 2.2增加支持对称多处理器技术。
1995年,Solaris 2.5支持UltraSPARC工作站/服务器。
1997年,Solaris 2.6支持1TB大文件。
1998年,Solaris 7采用64位技术,支持Java。
2000年,Solaris 8增加支持安全的企业级Web应用。
2002年,Solaris 9服务提供平台,U5版支持CMT技术,并增加Sun Java企业系统。
2005年,Solaris 10虚拟化OE,增加N1 Grid Container,DTrace等。
2006年,Solaris 10增加了ZFS文件系统。
其中,Solaris 10是最具有里程碑意义的。从此,Solaris走向了开源,代码不再由专门的Sun公司的操作系统专家所编写。也就是说,下一个版本的Solaris将是由开源社区的众多自由软件开发者编写的。
--安装并运行Solaris 10的硬件环境--------------------
典型的Sun系统的CPU是SPARC芯片,SPARC有很多种,如SPARC 5,SPARC 10和SPARC 20等,它们的处理速度在40MHz~60 MHz之间,后来的系统采用的是UltraSPARC芯片,主频达到1.6GHz的UltraSPARC IIIi是目前运行速度最快的PARC处理器。不过目前,可以安装并运行Solaris 10的硬件平台已经不限于SPARC平台了。按硬件平台分类,有三种可以安装并运行Solaris 10的平台。
1.SPARC平台
Sun公司基于SPARC CPU的工作站和服务器的安装版本,Solaris 10是真正的64位操作系统,而有些老的SPARC CPU是32位的,因此一些老机器上的Solaris 10也可以切换到32位模式。
2.x86平台
各类x86 IA32架构的机器(Intel/AMD CPU)可以安装的版本,是纯粹的32位操作系统。
3.AMD64平台
Sun公司的V20z和V60z服务器都采用了AMD公司最新的Opteron 64位CPU。32位的Solaris 10已经可以运行在Opteron上;对于64位的Solaris 10来说,此芯片的64位计算能力将被充分发挥。
如果一般桌面的用户想知道自己的计算机是否可以安装Solaris 10,那么他可以在网址为http://www.sun.com/ bigadmin/hcl/的站点上查找硬件兼容表(HCL),HCL中列出了所有经过测试可以与Solaris 10一起工作的系统、组件和外围设备。如果硬件没有在HCL中列出,那么,该硬件可能不被支持。但目前的很多基于Intel芯片的标准,包括PCL总线标准,都已经被Sun公司所采用,并被Solaris 10所支持。
--开源的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、OpenSolaris
OpenSolaris在2005年6月14日正式开放,并且对外发布了声明,可以通过Internet下载或者访问OpenSolaris的源代码。作为Sun公司资助的最大开源项目,它是以Sun公司的Solaris 10操作系统为基础的,吸收开放源码社区的开发者加入到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项目网站在2005年6月14日正式发布,网址是http://www.openSolaris 10.org/。项目网站的内容包括开发社区、源码工具下载、文档资料、Blog和讨论列表。希望对OpenSolaris有兴趣的读者参与到其中来。
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应用将变得更容易。
3、动态跟踪功能
开发人员可以使用DTrace分析和优化应用程序性能。DTrace使得测试和调节更为有效,并缩短了测试周期,节省了支持成本。
技术专家Peter Baer Galvin曾说过,“曾有一个Oracle服务器在低负荷的情况下使CPU不堪重负,原因难以确定,在未采用DTrace的Solaris 8上进行多次调试和试验后,我们发现问题其实出在称为数据库服务器的应用程序服务器上。如果采用DTrace,这个问题在一个小时内就能得到解决。”
DTrace还允许编程人员通过观察用户/内核边界之间的控制流来查看其应用程序和内核之间的交互活动,开创了业界的又一先河。再加上DTrace简单易学的D语言,你便能构建自定义程序以动态地协助系统,并对有关操作系统和用户程序的任意问题提供即时、简明的回答。
综上所述,DTrace的功能比业界任何其他同类工具都要强大,是实时对网络进行故障排除并调节系统性能的无可比拟的动态跟踪框架。DTrace以一种全新的方式让你查看整个Solaris 10系统,发现先前隐蔽的系统问题,并且修复过去无法解决的性能问题。借助DTrace,你可以:
>检查用户程序及Solaris 10的行为,快速找出造成系统和应用程序瓶颈的根本起因。
>突出系统调节的趋势和模式,以获得最佳性能。
>捕捉到软件不同层级之间的性能问题。
>找出异常行为的起因。
>为普通或复杂的例行程序编写可重复使用的脚本。
>指定DTrace收集的数据、采取的操作,以及在哪些条件下采取这些操作。
--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版本是3.4.3。
>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 7/8/9/10各主要版本的免费工具的下载。
以上提到的所有开发工具的安装包,均须用gzip解压后,用pkgadd -d命令来进行安装。
--作为企业级服务器的操作系统-------------------------
Solaris一直作为企业级的操作系统而存在,随着Solaris 10发布,系统性能更加优越,具体表现在以下几个方面。
1.在系统的稳定性方面
预测及自我修复技术是通过联机错误检测和自动恢复提供的一种应急方案。Solaris 10能够通过Solaris Fault Manager提前删除故障组件,从而使CPU、存储器和I/O问题可以在几秒钟内得到诊断和纠正。硬件和应用程序监控对系统管理员和用户是透明的,并且所有服务信息和相关性均存储在一个中央存储库中,因此能使错误报告得到简化。
Solaris 10利用技术来降低现代数据中心的成本、复杂性和风险,它已经超越了单纯的系统可用性,并将应用程序可用性涵盖其中。它是能通过Solaris Service Manager自动重启,并可能受某个系统故障影响的应用程序。
2.在系统资源的利用率方面
Solaris 10容器技术提供了一种创新的服务器虚拟化方案。由于操作系统的每个实例能够支持多个软件分区,因此,Solaris 10容器使整合变得十分简单而安全。Solaris 10容器能够根据业务目标在容器内或跨容器的动态地调整资源,从而能够更好地计算资源利用率。由于系统开销极小(不到1%),因此,它能用于在每个系统或动态系统域中创建超过8000个容器。同时,应用程序不仅实现了相互隔离,而且还可与系统故障隔离,因此,一个应用程序出现问题是不会影响其他应用程序的。
通过使用Instant Restart(即时重启)功能,每个Solaris 10容器只需几秒钟即可重新启动,从而更大限度地减少应用停机时间。
由于Solaris 10容器完全由软件支持,与平台无关,因此可以在SPARC或基于x86的64位平台上使用,包括大规模的服务器及刀片服务器。Solaris 10容器还利用了Solaris 10的资源管理功能,允许在容器之间动态地转移资源,确保其更好的利用率。
3.在系统综合性能方面
Solaris 10性能提升的一个关键要素是针对最新处理器技术的优化。对新型 UltraSPARC IV处理器的支持能使从UltraSPARC III处理器升级的系统达到其以前两倍的性能,而专门针对AMD Opteron和Intel Xeon处理器进行的新优化能够在科学工作负载下提供高达x86系统两倍的总体性能。重新设计的TCP/IP堆栈提供30%~50%的网络吞吐率性能改进,并且CPU负载降低了10%~15%。总体上,用户可以在Web服务器上体验到最高10%的性能改进,在应用服务器上体验高达50%的性能改进。
Dynamic Tracing(Dtrace)是一个分析和诊断疑难问题及提升系统性能的工具。内建在Solaris 10中的DTrace工具可以解决软件开发和系统管理中最关键的问题之一,即如何调试应用程序并解决生产系统上的性能问题。
DTrace能够实时地应用在生产环境中,不会干扰现有应用程序的运行,并且它在未使用时不会产生任何系统开销。凭借从内核核心到Java线程的广泛涵盖范围,它提供了内核及所有应用程序的统一视图。
由于调试在发生问题的实际系统上实时进行,因此可以在几分钟或几小时内(而不是几天或几个星期)就发现间歇性问题的根源。这种更高水平的可见性可以使性能得到巨大的提升,通过使用DTrace,真实环境中的应用程序会得到优化,运行速度能够加快30倍。
4.在系统安全方面
Solaris 10提供了一种简便易用并且与现有应用程序和管理做法完全兼容的突破性系统安全方案。Solaris 10提供了更加强大的机制,可控制对关键设施的访问,从更加尖端的验证和智能卡接口开始登录以验证用户身份,并能扩展到进程权限管理,从而淘汰了传统UNIX“孤注一掷”的根机制,代之以一套细化的权限。
Solaris 10平台的全新加密基础架构提供了一个编程接口集,可确保数据流的安全性。不仅使应用开发人员能够轻松地利用高度优化的密码算法,而且可以透明地自动利用硬件加速。另外,进程权限管理能够限制进程对系统资源的未授权访问,降低入侵攻击的风险。为进一步保护数据中心的每一个系统,Solaris 10还包含集成的IP过滤功能。
Solaris 10容器通过将应用程序和数据与错误传播或入侵隔离,为Solaris系统提供了更好的安全措施。每个容器都是一个隔离的虚拟环境,在一个容器中运行的进程不能访问该容器之外的进程或资源。
Solaris 10系统内的默认设置可以针对安全要求轻松地进行设置。Solaris 10中的许多安全特性都基于开放源码组件和标准,包括 OpenSSH,PAM,IPSec/IKE,IP Filter和Kerberos。
==对Unix界有见解的坛友请讲讲您的宝贵意见==
Sun的Solaris和IBM的AIX两者较量?
目前Unix在中国市场较多的有哪几家呢?
1 楼 txxg 2008-05-24
去年听过sun在成都的一次关于solaris的讲座。领了件T恤回家。
现在跟着潮流学习ubuntu^_^
现在跟着潮流学习ubuntu^_^
2 楼 txxg 2008-05-24
去年听过sun在成都的一次关于solaris的讲座。领了件T恤回家。
现在跟着潮流学习ubuntu^_^
现在跟着潮流学习ubuntu^_^
3 楼 SevenRedCity 2008-05-25
我也是去年到现在一直都在用Ubuntu,现在学Solaris是因为公司准备要派俺去移动那边,那边说要用Unix系统,所以现在要使用一下。本人一直都看好Ubuntu开源的。
4 楼 SevenRedCity 2008-05-26
公司是最近面试的,有可能准备带我去移动那边面试,通过了就签合同。