2008-03-08

Solaris10系统概述内容

  现在开始我会不时的帖上一些段风雷的Solaris10红宝书的学习要点。相信有不少需要的朋友。
---------------------------------------
  Solaris 10还具有了一项新的功能,能将针对于Linux环境开发的应用程序的二进制代码,在不经修改和编译的情况下,直接在x86版的Solaris 10环境下执行。
  由于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。

--------------------------------------

Solaris10采用了新的JDS3(Java Desktop System3),我的SAID装上后默认可以使用GNOME环境,StarOffice,还有Evolution和Firefox。好像默认的是Mozilla。

而且,同Ubuntu7.10一样,采用了和window大部分相似的快捷键定义。

----------------

关于OpenSolaris

  OpenSolaris在2005年6月14日正式开放

  由于Sun公司在开放源码上采用的是OSI促进协会所制定的CDDL(Common Development and Distribution License)协议,所以我们有必要来了解一下CDDL协议的大体内容。下图是CDDL协议与支持Linux的GPL协议的比较。

-------------------------
动态跟踪功能=DTrace=Dynamic Tracing
  开发人员可以使用DTrace分析和优化应用程序性能。DTrace使得测试和调节更为有效,并缩短测试周期,节省了支持成本。
  DTrace还允许编程人员通过观察用户/内核边界之间的控制流来查看其应用程序和内核之间的交互活动。
  DTrace可以做到:
  • 检查用户程序及Solaris 10的行为,快速找出造成系统和应用程序瓶颈的根本起因。
  •   突出系统调节的趋势和模式,以获得最佳性能。
  •  捕捉到软件不同层级之间的性能问题。
  •  找出异常行为的起因。
  •  为普通或复杂的例行程序编写可重复使用的脚本。
  •  指定DTrace收集的数据、采取的操作,以及在哪些条件下采取这些操作。

DTrace虽然是个好用的工具,不过目前来说,我还用不上,以后希望能尽量学习下。

--------------------------------

Solaris 10上的开发工具

  上次用Solaris的NetBeans和SUN Studio可把我弄得一头雾水。

  1.Sun Studio
  如果需要为SPARC平台编译和优化,对生成代码的performance要求较高,Sun Studio也许是最佳选择。
  Sun Studio是优化了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在内的多种平台的交叉编译
  • 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命令来进行安装。

-----------------------------------

同Solaris9相比Solaris10新增的技术:

1.DTrace(Dynamic Tracing,动态跟踪)
  DTrace是一种实时调试和性能调优的工具,传统的UNIX或Windows有一些系统工具可以提供一些系统信息,但缺乏跟踪每个用户和每个进程的能力,DTrace允许编程人员通过观察UNIX用户/内核间的控制流来看其应用程序与内核间的交互活动,DTrace有简单易学的D语言,可构建自定义程序以动态地跟踪系统,并对有关操作系统的任意问题提供及时、简明的回答。
2.N1 Grid Container(N1网格容器)
  利用N1网格容器可进行系统分区,可在Solaris 10中划分多达8000个软件分区,并且每个分区都是一个Solaris 10实例,有自己的CPU、内存、硬盘分区、主机名和IP地址,可独立运行应用程序,有助于用户更好地利用硬件资源,提高系统利用率,同时也提供了多系统所具有的安全性和可靠性。
3.Predictive Self-healing(预测性自我修复)
  这是一种可预测性自我修复技术,可使Sun系统和服务在出现软硬件故障时得到最大可用性。此功能在Sun高端服务器上得到了支持,以后会支持x86平台。
4.新的Sun Java Desktop System
  Solaris 10使用Sun Java桌面系统。
5.系统服务管理
  熟悉UNIX和Linux的用户都知道,系统服务的启动是依靠rc*.d下的脚本来进行的,所有的服务都是顺序启动,而不管其中的依赖关系。查看系统已经启动的服务也只能用ps命令。Solaris 10不再用rc*.d文件中的脚本来进行系统服务的管理,而是通过专门的命令查看或者启动/停止服务,对服务进行统一管理。启动时,Solaris会根据服务之间的依赖关系启动服务。
6.64位Solaris 10操作系统
  Sun已经推出1路和2路,而且即将推出4路基于Opteron处理器的服务器,32位的Solaris 10已经可以运行在Opteron上,64位的Solaris 10已经面世,64位计算能力将被充分发挥。
7.新的硬件支持

  Solaris 10版本布时,来自Sun和第三方IHV的上百种新的硬件将追加到HCL(硬件兼容表)中,在x86系统上安装Solaris 10将会更容易。
  访问网址为http://www.sun.com/bigadmin/hcl/的站点,即可在HCL中了解自己的硬件是否在Solaris 10上可用。
在Solaris 10基础上,Solaris 10 update1又添加了新的功能:
(1)ZFS(文件系统海量文件系统)。
  ZFS支持128位寻址空间和自动数据校验,支持文件系统快照,支持RAID技术的镜像等功能,无需卷管理软件就可提高文件系统的性能。
(2)直接运行Redhat二进制程序。
  允许Redhat的二进制程序在Solaris 10 for x86版上直接运行,而无须更改和重新编译,提供了异种机环境下的互操作能力。Sun公司的目的是在不远的将来,使在所有Linux系统上开发的二进制应用程序都能直接在Solaris系统上运行。

没有评论: