Information Library for Solaris 2.6 (Intel Platform Edition)

Chapter 3 What's New: A Closer Look

This chapter describes new features of the Solaris 2.6 release in detail. For a table listing features with brief descriptions, see Chapter 2, What's New at a Glance.

The Solaris 2.6 operating environment includes advanced technologies for multithreading, symmetric multiprocessing, integrated TCP/IP-based networking, and centralized network administration tools. This Solaris release provides many new and exciting features that improve an already powerful, stable, operating environment.

Here are some of our new and exciting features:

Java Features

The Solaris 2.6 operating environment lays the foundation for Java computing by bundling the Java Virtual Machine, the interpreter for the Java language, with the Solaris software. The HotJava browser is also conveniently bundled with Solaris. It is an easy-to-use Internet browser for exploring the World Wide Web and is recommended for viewing AnswerBook2 online documentation and installing by browser.

Java Virtual Machine

The Java Virtual Machine 1.1 provides access to the Java platform for the Solaris operating environment. It is compatible with the 1.1 Java Developer KitTM from JavaSoftTM. It includes the standard Java compiler (javac), the Java interpreter (java), the Java class file disassembler (javap), and the C-header and stub file generator (javah). The Solaris Java Virtual Machine also includes the just-in-time (JIT) compiler, improving performance.

The Java Virtual Machine uses Solaris native threads, which provides multiprocessor support for Java threads. Use of Solaris native threads also improves Java application scalability and integration with native methods.

Also included is the appletviewer, which enables you to run applets outside of the context of a World Wide Web browser.

javald(1), another enhancement used to manage Java applications, generates wrappers to execute Java programs. The wrapper ensures that a Java program executed with JAVA_HOME, CLASSPATH, and LD_LIBRARY_PATH environment variables set correctly for the program.

For more information, see Network Interfaces Programmer's Guide.

HotJava Browser

The HotJava browser provides an easy-to-use, customizable user interface for exploring the Internet. The HotJava browser provides:

Intranet/Internet Servers

The Solaris operating environment is the intranet and Internet leader, and a powerful and reliable web platform. It is the premier operating environment for building a robust web-based network infrastructure. As companies move toward using the Web both internally and externally, powerful Solaris features such as WebNFS that provide speedy access to web files become crucial.

WebNFS Software

WebNFS software enables file systems to be accessible through the Web using the NFS protocol. This protocol is very reliable and provides greater throughput under a heavy load. Also, files can be made publicly accessible without the overhead associated with an anonymous ftp site.

Additional information may be found in NFS Administration Guide.

Performance Improvements

Solaris 2.6 performance enhancements focused on improving database and web performance while maintaining the already high levels of file server and time-share performance seen in the Solaris 2.5.1 release.

Database Performance

Significant efforts were made to improve performance of the system for database engines. Work focused on two areas: virtual memory (VM) improvements and I/O throughput improvements.

VM changes focused on reducing overhead by using larger pages for the shared memory area used by database engines to share and store data. Instead of using the default system page size for pages in this area, a large page size of 4 Mbytes is used. This reduces the amount of internal work the system has to do when managing the descriptions attached to each process for pages the process is using. When coupled with existing mechanisms for sharing these descriptions, a performance increase of about 12% was achieved on various industry standard tests.

I/O throughput jumped as the result of low-level changes that minimized the overhead associated with processing large lists of pages for I/O. These modifications reduced the overhead associated with converting the virtual address used by the system to the physical address needed by the device drivers to execute I/O requests. With these improvements, the cost of doing I/O to physical devices dropped dramatically.

Throughput improvements have been demonstrated in a recent Informix TPC-C benchmark which

This produced the highest Informix TPC-C number ever produced and reflects the best price/performance in the mid-range class.

TPC-C is a benchmark conducted under the auspices of the Transaction Performance Processing Council (TPC). It simulates a warehouse distribution system. Data is contained in nine tables and five transactions are executed against this data in prespecified mixes. The figure of merit is tpmC, which is shorthand for transactions per minute" in the TPC-C benchmark.

UFS Direct I/O

Many customers are interested in placing data directly on disk without buffering it in memory. The Solaris 2.6 release provides direct I/O to do this. Bulk I/O operations use large buffer sizes to transfer large files (files larger than physical memory). An example of a bulk I/O operation is downloading large amounts of satellite data to a file.

Direct I/O data is read or written into a process's address space without incurring the overhead of the operating system's page caching mechanism.

See the directio(3C)man page for more information.

Raw I/O

Improvements were made to low-level I/O support routines that dramatically improved throughput for I/O to disk devices without a file system (raw devices). (Raw devices are often used for database files.) The driver for the SPARCstorage Array was rewritten to improve its throughput.

Network/Web Server Performance

Previous efforts in improving network throughput had focused on improving throughput for long-lived connections. These efforts resulted in the highest NFS server performance numbers in the industry. The web server area represents an entirely different paradigm since it emphasizes short-lived connections with little bandwidth demand during the connection. Some of the work for the Solaris 2.6 release to greatly improve that aspect of performance was packaged and released as the Solaris Internet Server Supplement (SISS) for the Solaris 2.5.1 release.

Web server performance improvements were achieved in several places, ranging from the socket interface layer, the TCP/IP protocol stack, and the STREAMS framework. The socket interface layer was redesigned as a file system (sockfs), thereby removing the need to duplicate socket code in the socket library as well as the STREAMS socket module. This significantly improved the performance for the short-lived connections that are common on the Web. The TCP/IP changes consist both of improvements to efficiently handle large numbers of connections as well as further improvements to the multithreading of the opening and closing of connections and sockets. Finally, the STREAMS framework has been restructured to allow more efficient opening and closing of TCP/IP sockets.

The Standard Performance Evaluation Corporation (SPEC) has released SPECweb96, a standardized benchmark for comparing web server performance. The benchmark is designed to provide comparable measures of how well systems can handle HTTP GET requests. SPEC based the work load on analysis of server logs from Web sites ranging from a small personal server up through some of the Internet's most-popular servers. Built upon the framework of the SPEC SFS benchmark, SPECweb96 can coordinate the driving of HTTP protocol requests from single- or multiple-client systems. For the latest Solaris 2.6 SPECweb96 submissions and more information on SPECweb96 benchmarks, please visit the SPEC web site:

Kernel Sockets

The kernel sockets implementation provides improved compatibility with SunOSTM 4.x and BSD sockets, enabling higher socket performance.

TCP Large Windows

TCP large windows provides the support described in RFC1323. It is designed to improve performance over high bandwidth networks such as ATM, or high-delay networks such as satellite links, by expanding the amount of data that can be outstanding in a TCP session from 65535 bytes to approximately 1 Gbyte.

Zero Copy TCP/Hardware Checksum

Zero copy TCP/hardware checksum functionality can be used to increase TCP throughput in certain situations. It does so by avoiding the copying of data and by using hardware checksum logic in the network interface when available. Currently, the only network interface that contains the hardware checksum logic is the SunATM 622 interface.

For more information, see Transport Interfaces Programming Guide.

Ease-of-Use and Management Improvements

The Solaris operating environment is large and complex; its structure gives customers the flexibility to meet their needs. New features enable customers to easily install and manage the Solaris environment are


This section describes new features in the Solaris 2.6 software that affect installation.

Solaris Web Start Browser-based Installation

The Solaris software is the industry's first operating system that can be installed via a web browser. Solaris Web Start is a browser-based utility that guides users through the selection and installation of both Solaris and copackaged application software. Its graphical user interface also facilitates file system configuration.

The utility's built-in suite of online information answers questions about the product itself, the software it installs, and the hardware platforms it supports. Use of the utility is optional: users can exit at any point and proceed with one of the more traditional Solaris installation methods.

For more information, see the module Using Solaris Web Start in Information Library for Solaris 2.6 (Intel Platform Edition) or Information Library for Solaris 2.6 (SPARC Platform Edition).

New Installation Documentation

A documentation reorganization makes finding information on how to install Solaris software easier. The desktop product contains a small, step-by-step guide that describes installing the Solaris software from a local CD-ROM. The server product contains an advanced guide for setting up servers and clients, and a description of how to automate installations using custom JumpStartTM software.

Configuration Assistant and Booting Software for x86 Platforms

The Configuration Assistant interface is part of the new booting system for the Solaris (Intel Platform Edition) software. It determines which hardware devices are in the machine, accounts for the resources each device uses, and enables you to choose which device to boot from. The booting software, including the Configuration Assistant, is installed on the system's hard disk along with the Solaris operating environment. A file that contains the hardware configuration information for the system being installed is also installed on the hard disk. Each time the system is booted, the configuration information is passed to the Solaris kernel. The Configuration Assistant must be re-run any time the hardware configuration is changed.

For information on how to use the Configuration Assistant to help solve device configuration problems, see the modules (xref)Configuring Devices and the Troubleshooting in Information Library for Solaris 2.6 (Intel Platform Edition).

Changed Solaris CD Layout

The Solaris CD layout has been changed in the Solaris 2.6 release. Slice 0 has been reorganized to make it more intuitive and extensible. It contains only control files and the Solaris_2.6 directory at the top level. The control files at the top level on slice 0 are the same control files found on previous Solaris CDs. The control files are .cdtoc, .slicemapfile, and .install_config.

For more information, see Solaris Advanced Installation Guide.

Upgrade With Disk Space Reallocation

The upgrade option for the Solaris 2.6 release provides an auto-layout feature to reallocate disk space if the current file systems don't have enough space for the upgrade. This new feature is provided in the interactive Solaris installation program and by a new set of custom JumpStart profile keywords.

For more information, see Solaris Advanced Installation Guide.

Testing Upgrade Profiles

In previous Solaris releases, the system administrator could only test profiles that used the initial option. The Solaris 2.6 release now enables the pfinstall command to test profiles that use the upgrade option, so an administrator can see if a profile will do what is wanted before using it to upgrade a system. This is especially useful with the new disk-space reallocation feature.

To test an upgrade profile, you must run the pfinstall -D command on the system that you're going to upgrade (against the system's disk configuration). You cannot test an upgrade profile using a disk configuration file.

For more information, see Solaris Advanced Installation Guide.

Changing a System's Boot Device

The Solaris 2.6 release now enables you to change a system's boot device during the installation. A system's boot device is the disk slice where the root file system is installed and, consequently, where the installed system will boot from.

Also, the installation program can now update the system's EEPROM if you change the new boot device, so the system can automatically boot from it (SPARC systems only). In previous releases, changing the system's boot device during an installation meant that you had to manually change the system's EEPROM so it could automatically boot from the new boot device.

This new feature is provided in the interactive Solaris installation program and by the new custom JumpStart boot_device profile keyword.

For more information, see Solaris Advanced Installation Guide.

Preconfiguring System Configuration Information

In previous releases, the first part of the Solaris installation program tried to obtain system configuration information about a system (such as the system's peripheral devices, host name, IP address, name service) from the name service databases. The installation program prompted you if it couldn't find the information. If you didn't want to be prompted, you had to preconfigure the system configuration information in the name service.

Using the Solaris 2.6 sysidcfg file, you can now preconfigure system configuration information through a set of keywords. You can choose to provide one or more of the keywords to preconfigure varying levels of system configuration information.

The sysidcfg file can reside on a remote system or on a UFS or PCFS diskette in the system's local diskette drive. If you choose to put the sysidcfg file on a remote system, you have to use the -p option of the add_install_client command to specify where the system being installed can find the sysidcfg file.

When installing the base (English) Solaris 2.6 CD, you'll be prompted to select an English locale, because a new, 8-bit English local (en_US) has been added to Solaris 2.6. If you don't want to be prompted for the locale, you must preconfigure the locale information. For more information about the new en_US locale, see the "New Locales in the Base Installation."

For more information, see Solaris Advanced Installation Guide.

x86 Configuring Peripherals

The kdmconfig program is used to configure the mouse, graphics adapter, and monitor on an x86 system. If an OWconfig file already exists, kdmconfig will extract any usable information from it. In addition, this updated version of kdmconfig will also retrieve information left in the devinfo tree by the devconf program, and use that information to automatically identify devices. Any attribute values, such as manufacturer or model information, returned by probes for a given device (unless it is "Unknown") take precedence over the value received for the same attribute from the OWconfig file.

If all attribute values in the Confirm Configuration screen are obtained (none are "Unknown"), the default choice is Save and Exit Configuration. If information is needed, the program selects the first Unknown device as the default configuration selection. You can override the default selection by either selecting another device you want to configure or by selecting Save and Exit Configuration instead. When you exit, kdmconfig checks for Unknown devices and warns you about potential problems with the X Window System if values are missing. After reading the warnings, you can either continue with the configuration or exit the program and configure the devices later.

The changes regarding the sequence of screens for configuring individual devices are

The program is similar to the previous version with regard to the character user interface and the function keys used to navigate within the program.

For addition information regarding the kdmconfig program, see the kdmconfig(1M) man page.

Optional 8-Bit Locales

The installation window in the English Solaris 2.6 CD offers several English language locales. To use 8-bit characters, install through one of the en_XX options. The locale used in the installation becomes the default system locale.

Note -

The C locale was installed by default in the base English releases prior to this release.

Table 3-1 New Locales Offered in Installation

Locale Name 


Code Set 


American English 



Australian English 



Canadian English 



UK English 



American English 


For more detailed information on locale installation, see Solaris 2.6 SPARC Platform Edition) Release Notes or Solaris 2.6 (Intel Platform Edition) Release Notes.


The AnswerBook2 documentation system uses a web browser-based interface that enables you to view and print a variety of Solaris information, including existing AnswerBook documents and man pages. The AnswerBook2 software provides a robust search engine that enables you to easily find information throughout the documentation library. You can install the AnswerBook2 document collections locally or on a centralized documentation server, and you can customize the AnswerBook2 documentation library.

For more information about the AnswerBook2 system, see the module Accessing Online Documentation in Information Library for Solaris 2.6 (SPARC Platform Edition) or Information Library for Solaris 2.6 (Intel Platform Edition).


The Solaris 2.6 release has the Common Desktop Environment (CDE) as the default desktop. It continues to support the OpenWindows desktop.

Common Desktop Environment

The Solaris Common Desktop Environment (CDE) is an advanced Motif-based desktop with an easy-to-use interface that provides a consistent look and feel across UNIX platforms. SunSoft, Hewlett-Packard Company, IBM Corporation, and Novell, Inc. each contributed technologies to establish a new cross-platform standard for user and application interfaces based on the X Window System and Motif.

While maintaining compliance with the CDE standards, Solaris CDE offers additional benefits to its users and developers, including performance improvements and significant defect fixes, thus providing a higher quality product. Existing OpenWindows utilities were integrated with CDE via a special folder in Application Manager. New features include a spell checker and an image viewer to display, rotate, scale, and convert graphic images and PostScript files.

With Solaris CDE you can run OpenWindows applications without modification, with drag-and-drop interaction from OpenWindows applications to CDE applications. All OpenWindows and OPEN LOOK applications run without any need for modification, recompilation, or unwieldy compatibility libraries. If you are used to the OpenWindows environment, you have access to the familiar backdrops, color palettes, and pop-up Workspace menu.

CDE User Environment

The CDE user environment includes the following features:

CDE Development Environment

The CDE 1.2 Development Environment is included in optional packages for users who develop software in CDE. These packages contain:

Significant CDE Application Features

Power Management for SPARC Desktop Systems

Power Management software enables users to be more frugal with power consumption on desktop systems when they are not being used. By default, UltraSPARC desktop systems power off when not used for 30 minutes. The system can later be restored by Power Management software to the state it was in before it was powered off. Users can modify or turn off Power Management if needed.

For more information, see Using Power Management.

OpenWindows 3.6 Environment

The OpenWindows 3.6 desktop and libraries have been updated with bug fixes and prepared for the year 2000. The OpenWindows 3.6 environment provides the following features:

The X server is a program that is the foundation for the OpenWindows environment. It is the X11R6 sample server with a Display PostScript (DPS) imaging system extension. The X server also includes several X extensions, a font server 0 and DPS font enhancements:

For more information, see the Xsun(1)(), Xserver(1)(), and X11(7)() man pages.

New User Locales in the Solaris 2.6 CD

All localized versions of Solaris, including English, includes the new local support listed in Table 3-2.

Table 3-2 New User Locales Included in Solaris 2.6



ISO Code Set 


de_AT (German Partial Locale)





























These locales are supported through the SUNWploc1, SUNWplow1, and SUNWpldte packages, which are part of the Entire cluster.

Two locales, Greek and Russian, are based on non-Latin scripts and require an optional SMCC keyboard for text input.

Unicode 2.0 Support

Two locals, which are Unicode 2.0 and ISO 10646 compliant, have been added. These locales enable multiscript input and output and are the first locales provided in the Solaris environment with this capability. These locales support the CDE environment only, including the Motif and CDE libraries.

Font Administration

Font Admin enables easy installation and usage of fonts for the X Window System. It supports TrueType, Type0, Type1, and CID fonts for multibyte languages, and provides comparative font preview capability. It is fully integrated into the CDE desktop.

TrueType fonts are supported through X and DPS. Font Admin allows for easy installation and integration of third party fonts into the Solaris environment.

For more information, see the X/Open web site at

Asian Language Enhancements

Solaris 2.6 software has been re-architected to the historical dependency on the Extended UNIX Codeset (EUC). Additional codeset support and locales for popular Asian PC encoding standards, ShiftJIS (PCK) in Japan, Big5 in PRC, and Johap in Korea are also provided. These locales support the CDE environment only, including the Motif and CDE libraries.

Solaris User Registration

Solaris User Registration is a registration mechanism invoked when the user first brings up the Solaris 2.6 desktop environment. By registering, customers can take advantage of Sun's commitment to providing superior service and support. Registered users will be regularly informed about new Solaris releases, upgrade offers, and promotions that they can use to enhance their systems.


Many customers rely on the Solaris operating environment as the foundation for mission critical applications. New standards in the Solaris operating environment show Sun's continuing involvement in providing a stable operating environment. Continuous improvements in support for standards are shown in these new features.

Year 2000 Ready

Sun's Solaris 2.6 operating environment is year 2000 ready. The Solaris 2.6 release uses unambiguous dates and follows the X/Open guidelines where appropriate. For further information, including the definition of year-2000 compliance, see the Year 2000 web page at

X/Open UNIX 95 (Spec 1170)

The previous release of Solaris was compliant with much of Spec 1170. Solaris 2.6 software now meets all the requirements.

Areas changed in the Solaris 2.6 release to meet the Spec 1170 requirements:


Federated Naming Service (FNS) is now compliant with the X/Open XFN CAE definition.

POSIX 1003.1b

POSIX 1003.1b support is completed. The Solaris software has provided all of the interfaces for POSIX 1003.1b since the Solaris 2.3 release. A subset of those interfaces was functional in that they provided services instead of returning "Not Supported." This release finishes support for POSIX 1003.1b (with the exception of the -PRIORITIZED IO option).

This standards feature is of interest to developers interested in writing portable, standards-compliant code. It is also of interest to developers interested in higher performance message passing or semaphore code who otherwise would use System V messages or semaphores and who can accept the more limited functionality offered by POSIX.

As of the Solaris 2.6 release, POSIX 1003.1b support is provided for the following:

Support for many of these features has been available in the Solaris operating environment for several releases in a non-standards-conformant way.

ISO 10646

The ISO 10646 standard defines Unicode 2.0, including UCS-2 and UTF-8 (the standard UNIX implementation). All implementations specified in this standard are Unicode 2.0 compliant.

Robust Software Developer Environment

The Solaris operating environment provides developers with the documentation, development software libraries, productivity tools, sample code, and testing tools needed to develop software applications for the Solaris runtime environments. This section describes new features to help developers dealing with large files (over 2 Gbytes), multithreaded applications, and X servers and libraries.

Large Files

The large files project supports files that are larger than or equal to 2 Gbytes. Large-file semantics are supported on UFS, NFS, and CacheFS file systems. Applications will be able to create and access files up to

Existing file I/O interfaces have been modified to detect the error when they are used with a large file. New data types (most with suffixes of 64 or 64_t) and new interfaces (most with suffixes of 64) are provided to operate on large files.

An existing application running on Solaris 2.x software should be checked for the following points:

For more information, see NFS Administration Guide and System Administration Guide.

Versioning and Scoped Libraries

Versioning and scoping are related enhancements to the link editor in the Solaris operating environment. Developers of dynamic objects can use these technologies to define sequential versions of a dynamic object's binary interface within the object and reduce global symbols to local scope. These capabilities provide the means to control interface evolution across software releases, inherit global symbols from previous versions, record version dependencies, and describe internal implementation changes.

Versioning and scoping enable developers to provide stable interfaces for program development, achieve standards compliance, and protect implementation changes (such as bug fixes) from the object's public interface. An added benefit can be reduced object size and runtime relocation cost, which can improve an application's runtime performance.

For the Solaris 2.6 operating environment, the system libraries take advantage of this technology and have been both scoped and versioned.

For more information, see Linker and Libraries Guide.

Scheduler Activation

Scheduler activations provide additional kernel scheduling support for multithreaded applications. This is implemented as a private interface between the kernel and the libthread library (or libpthread), without changing the libthread (libpthread) interface. Among other things, this enables the thread library to implement adaptive mutex locks. Adaptive mutex locks is where a thread trying to acquire a lock spins if the thread holding the lock is currently running on a processor, and blocks otherwise.

See the libsched(3X) man page for more information.

Pre-emption Control

Pre-emption control allows applications to give scheduling hints to the kernel to prevent preemption for short periods of time. This can improve the performance of some classes of applications such as database servers.

/proc File System and Watchpoints

The previous flat /proc file system has been restructured into a directory hierarchy that contains additional subdirectories for state information and control functions. It also provides a watchpoint facility to monitor access to, and modification of, data in the process address space. The new /proc file structure provides complete binary compatibility with the old /proc interface.

The adb(1) command has been modified to use the new /proc watchpoint facility. It now provides data breakpoints to cause the subject processes to stop on access to specified variables.

For more information, see the adb(1) man page.

Federated Naming Service (FNS)

FNS is now compliant with the X/Open XFN CAE definition. FNS has also been enhanced to include support for Lightweight Directory Access Protocol (LDAP). It also provides improved support for the files and NIS back ends.

For more information, see Federated Naming Service Programming Guide, Solaris Naming Administration Guide, and Solaris Naming Setup and Configuration Guide.

Asynchronous I/O for Tape Drives

Asynchronous I/O support for tapes provides an interface to improve performance on the high performance tape devices. With the ability to queue up to requests, this feature significantly improves the I/O throughput.

Solaris Developer Kit (SDK)

The SDK software is now built into the Solaris environment and is no longer an unbundled product. All the information a developer needs to produce applications and graphics handlers for end-user Solaris runtime environments is now available in the Solaris software.


The Solaris VISUALTM software includes several graphics and multimedia software foundation libraries. Foundation libraries are the lowest-level device-independent layer of the Solaris software. This level of interface is designed to support a wide variety of common functions. You can build higher-level libraries on top of the foundation libraries, or the foundation libraries can be used directly by a software application. These foundation libraries create applications that incorporate 2-D and 3-D graphics, imaging, and digital video. The libraries are the XGL graphics library (which serves as a foundation library for the Solaris PEX software) and XIL imaging library.

PEX 3.0.2 Runtime Environment

The Solaris PEX 3.0.2 RTE consists of a PEX client-side runtime library (PEXlib) and a PEX server-extension shared-object file (Solaris PEX server). PEXlib is an API to PEX protocol as Xlib is to core X protocol. PEXlib provides application portability across hardware platforms and enables 3-D graphics rendering on local and remote displays. The OpenWindows Version 3.6 X11 server automatically loads the PEX shared-object extension when it receives a PEX request from a PEX client.

The PEXlib implementation for the Solaris 2.6 release is based on PEXlib - Specification and C Language Binding: Version 5.1, available from the Massachusetts Institution of Technology. The PEX server extension is based on PEX Protocol Specification, Version 5.1.

Solaris PEX 3.0.2 RTE is included in the Solaris 2.6 release and should be installed if you are planning to

To install PEX, choose the entire distribution software group when installing the Solaris 2.6 software.

For more information on PEX, see:

Also, the following books are available at bookstores:

XGL 3.3 Runtime Environment

The XGL library is a 2-D and 3-D immediate-mode API that provides application portability across hardware platforms and enables graphics applications to get optimal performance from graphics accelerators. The XGL version 3.3 library enables applications to determine transparency support level and includes a new attribute to enable user control over edge offset.

The XGL 3.3 runtime environment (RTE) is included with the Solaris 2.6 release and should be installed if users at your site are running graphics applications. It is not always obvious whether an application requires the XGL RTE; therefore, you should install the XGL RTE if you are installing CDE or OpenWindows software, since an application may reference the XGL libraries.

For more information on XGL, see XGL Programmer's Guide or XGL Reference Manual.

XIL 1.3 Runtime Environment

The XIL library is an imaging API that provides a basic set of functions for imaging and video applications. The library provides a strategy for low-level software interfaces (foundation libraries) and enables APIs and API developers to port their code to these foundation libraries.

The XIL 1.3 runtime environment (RTE) is included with the Solaris 2.6 release and should be installed if users at your site are running imaging applications. It is not always obvious whether an application requires the XIL RTE; therefore, you should install the XIL RTE if you are installing either OpenWindows or CDE software, since an application may reference the XIL libraries.

Backward Compatibility

The XIL 1.3 library API is fully backwards compatible. This means that existing applications can be run without modification or recompilation.


The XIL 1.3 library is MT-hot. Developers can write multithreaded applications without putting locks around XIL functions. Multiple threads from the API will execute correctly as long as they do not require data from the same image. The library itself also is MT-hot. It takes advantage of multiprocessor systems without applications having to be rewritten.

Tiled Storage

The XIL 1.3 library stores very large images in buffers of memory called tiles. If a region of an image within a tile boundary is needed, only that tile is loaded into memory, thereby increasing performance.

The library also includes a new storage object, which supports conventional contiguous storage as well as tiled or stripped storage for XIL images. The storage object serves as a container for the image's attributes, such as its scanline and pixel stride, and its data pointer. Storage is not allocated for the image until you export the image and modify it directly. This saves on memory use.

New Data Type

The XIL 1.3 library now supports the 32-bit single-precision, IEEE floating-point data type. Using this data type enables you to develop highly sophisticated scientific imaging applications.

Temporary Images

The XIL 1.3 library supports temporary images, which are images used as an intermediate step in creating a subsequent image. They may only be written to, and read from, once. Temporary images are particularly advantageous for large images, because XIL can release the storage associated with them when it's no longer needed.

XIL_GENERAL Storage Format

The XIL 1.3 library supports the new XIL_GENERAL() storage format. This format provides the flexibility of specifying each band of a multiband image as a separate memory buffer. Furthermore, each band can have its own scanline and pixel stride.


The XIL 1.3 library now supports the XIL_BAND_SEQUENTIAL format for all data types, not just XIL_BIT images.

KCMS Integration

The XIL 1.3 library includes Kodak Color Management System (KCMS) support. You can achieve very close color matching between a display image and the actual stored image.

KCMS Multithreaded Programming

The Kodak Color Management System (KCMS) software product is a color management solution that ensures color consistency from input devices to output devices. It is technology licensed from Eastman Kodak that was developed in conjunction with SunSoft.

KCMS now supports multithreaded programs: it is multithread safe (MT-safe). If your KCMS application uses multithread capabilities, you do not need to put locks around KCMS library calls.

For more information, see KCMS Application Developer's Guide.

X11R6 Base Window System

The X11R6 Base Windowing System includes the latest fixes and patches from the X Consortium.

For more information, see the X/Open web site at

X11 Double Buffer Extension

The Double Buffer Extension (DBE) provides a standard way to use double-buffering within the framework of the X Window System. Double-buffering uses two buffers, called "front" and "back," that hold images. The front buffer is visible to the user; the back buffer is not. A detailed specification is available via an internet browser in

For more information, see the X/Open web site at

Large Files Support

The Solaris operating environment now supports files larger than approximately 2 Gbytes. New interfaces are provided to operate on large files for developers who want to do asynchronous I/O to large files.

Large Files

The large files project supports files that are larger than or equal to 2 Gbytes. Large file semantics are supported on UFS, NFS, and CacheFS file systems. Applications are able to create and access files up to

Existing file I/O interfaces have been modified to detect an error when they are used with a large file. New data types (most with suffixes of 64 or 64_t) and new interfaces (most with suffixes of 64) are provided to operate on large files.

New mount Option

A new mount option is available to disable the large-file support on UFS file systems. This gives the system administrator a way to ensure that older applications that are not able to safely handle large files will continue to work.

The default mount option is largefiles. The largefiles option means that a file system mounted with this option allows creation of files larger than or equal to 2 Gbytes.

A file system mounted with this option does not have to contain files larger than 2 Gbytes.

Once a file system has been mounted with the largefiles option, if a large file has been created in that file system, it cannot be remounted with the nolargefiles option until the fsck command is run to confirm the absence of large files.

Large Files and Applications

An existing application running on Solaris 2.x software should be checked for the following points:

For more information, see NFS Administration Guide and System Administration Guide.

64-Bit AIO

The Solaris operating environment provides a new set of interfaces for developers who want to do asynchronous I/O to large files. The following interfaces accept 64-bit AIO:

The following interfaces exist, but are not supported:

These interfaces also work with KAIO. KAIO is the optimized path for doing I/O to raw files. When using the interfaces with KAIO to raw files, there is a significant performance improvement.

The Solaris operating environment supports another set of AIO interfaces that pre-dates POSIX. These interfaces have also been updated for large file support:

Network Security

The Solaris operating environment provides a sophisticated security system that controls the way users access files, protect system databases, and use system resources. Solaris security is network-wide security, providing security over several different systems, not just one. The Solaris security system is designed to accommodate different security models, giving users the flexibility to choose the model that best fits their needs now and in the future. There are a number of new features that add to the Solaris security system in the areas of access control, encryption, and authentication.

NFS Kerberos

Kerberos authentication uses DES encryption to improve security over the network. The kernel implementations of NFS and RPC network services have been modified to add support for a new RPC authentication flavor that is based on the Generalized Security Services API (GSS-API). This support contains the hooks to add stronger security to the NFS environment.

The share and mount commands have been altered to provide NFS support for Kerberos. Also, the share command now allows for multiple authentication flavors from different clients.

For more information, refer to NFS Administration Guide.


The user-level RPC implementation has been modified to add support for a new authentication flavor. This flavor is based on the GSS-API and provides the hooks to add stronger authentication, privacy, and integrity for RPC-based services.

Pluggable Authentication Modules (PAM) Framework

The PAM framework enables you to "plug in" new authentication technologies without changing the login, ftp, or telnet commands. You can also use PAM to integrate UNIX login with other security mechanisms like DCE or Kerberos.

Mechanisms for account, session, and password management can also be plugged in using this framework.

Some of the benefits PAM provides are

For more information, see System Administration Guide.

Bind 4.9.4-P1

The Solaris operating environment now supports and includes Domain Name System (DNS) Berkeley Internet Name Daemon (BIND) version 4.9.4 patch level 1. BIND is the most popular implementation of DNS. BIND is critical for Internet connectivity because it provides an Internet naming service that stores host (IP) addresses, mail information, and similar data for lookup purposes. BIND always includes a number of programs and the resolver library. The main program is named, the daemon that provides DNS information. Applications such as telnet communicate with named via the resolver library.

BIND 4.9.4-P1 provides new security over the Internet. The older version of BIND did little to prevent DNS spoofing. Intruders could cause BIND to provide incorrect name data. Services that use this (some of which do not verify data) could be tricked into allowing remote access to unauthorized users. The 4.9.4 version fixes many holes in security.

For more information, see Solaris Naming Administration Guide.

Network Management and System Administration

The Solaris operating environment provides a stable and reliable networking environment. New network management and system administration features in this release expand tools for managing this environment.

Network Time Protocol (NTP)

This Solaris release supports NTP, which provides both precise time and/or network clock synchronization for use in distributed computing environments. In the past, Solaris customers could use a publicly available version of NTP. The new support provides increased time precision.

Solstice Enterprise Agents (SEA)

Based on the new extensible agent technology or Master/subagent technology, SunSoft provides the solution Solstice Enterprise Agents (SEA). The agents consist of a Master Agent and subagents. The Master Agent receives and responds to Simple Network Management Protocol (SNMP) or Desktop Management Interface (DMI) requests. The responses are sent after retrieving the appropriate values from the respective subagents. The subagents manage information bases (MIBs or MIFs) designed for specific components and applications. Enterprise Agents also enable users to integrate and use SNMP-based Legacy Agents.

SEA is for both component developers and system and network managers who want to develop custom SNMP or DMI subagents to instrument different components, subsystems, and applications within a device to enable management from an SNMP management console.


Dynamic Host Configuration Protocol (DHCP) enables a host to get an Internet protocol (IP) address and other system configuration parameters preconfigured by the administrator on the DHCP sever. DHCP also enables the host to give up this address when it is no longer required, or when the designated period for its use ends. This protocol improves on the traditional IP address allocation where the system administrator must assign or change each IP address individually. Both DHCP server and client-side support are provided.

For more information, see TCP/IP Network Administration Guide.

NFS Client Failover

Client failover provides for a high level of availability of read-only file systems by allowing the client to mount files from another server as needed. The failover is transparent to the client, so work is not disturbed if one server has problems as long as there is a replica available.

More information about NFS client failover can be found in NFS Administration Guide.

Variable Length Subnet Mask (VLSM)

Previously, the Solaris operating environment supported the use of a single netmask for each network number in use on a network. The netmask determines which bits of an IP network number represent the subnet, and which represent the host number. Using variable-length subnet masks (VLSM) enables more efficient use of IP addresses in large networks. With VLSM, the TCP/IP administrator can now use multiple netmasks for a given network number, tailoring each mask according to the size of each individual subnetwork. When deciding how to route an IP packet, Solaris automatically uses the longest matching netmask.

For example, in prior releases an administrator could subdivide the network into eight subnets by using a netmask of By using VLSM, this network number can instead be broken into

In addition, the use of VLSM allows supernetting or aggregation of network numbers, which can result in substantial savings in the sizes of routing tables carried by network routers. These two techniques make it possible to implement Classless Inter-Domain Routing (CIDR) as described in RFC1519.

To fully utilize VLSM in a network, CIDR-aware protocols such as OSPF, BGP-4, or RIPv2 must be used.

For more information, see TCP/IP and Data Communications Administration Guide.

Routing Sockets

The Solaris operating environment now conforms to the de facto routing socket interface as implemented by 4.4 BSD. This interface enables netmask information to be shared between routing protocol implementations and the kernel. It can also be used by implementations of CIDR-aware routing protocols.

Although the Solaris software does not deliver a routing daemon that implements these protocols, TCP/IP administrators are advised to contact the Merit GateD Consortium ( for information on Gated. Gated is a program that implements these and other routing protocols and uses the routing socket interface.

Processor Sets

Processor sets allow a group of processors to be allocated for the exclusive use of one or more applications. The /usr/sbin/psrset command gives a system administrator control over the creation, management, and binding of processes into processor sets.

See the psrset(1M) man page for more information.


autofs is a file system that automatically mounts file systems as needed and unmounts them when they are not being used. The new automount daemon is now fully multithreaded. This enables concurrent servicing of multiple mount requests. The new functionality makes the service more reliable.

The autofs service now supports browsability of indirect autofs maps. All mountable entries under an autofs mount point can be visible without the overhead of mounting them first. By default the /home and /net autofs mount points will have browsing disabled, but all other indirect mount points will be browsable. The ability to browse can be administered at the host level with the automount command and at a name-space level through the autofs maps.

In addition, better on-demand mounting of hierarchically related file systems is included. Previous releases automounted an entire set of file systems if they were hierarchically related, even if only one file system was referenced. Now, the file system that is referenced is dynamically mounted without the other file systems in the hierarchy.

For more information, see NFS Administration Guide.

NIS+ backup and Fast restore

NIS+ backup and restore provide a quick and efficient method of backing up and restoring NIS+ namespaces.

For more information, see Solaris Naming Administration Guide.

NIS+ Over a Wide Area Network (WAN)

NIS+ administrators can now specify NIS+ server search order for clients that need naming services. Server use can be balanced among various clients by designating different servers for different clients as "preferred" (primary). The order in which the client seeks out other servers when it cannot obtain information from its preferred server can be specified. This feature is particularly useful when a NIS+ domain spans a Wide Area Network (WAN) link. Administrators can reduce network traffic over the WAN link by specifying that clients first try to obtain the naming service from servers on the client's side of the link. NIS+ administrators can also specify what a client does when no preferred server is available.

For more information, see Solaris Naming Administration Guide.

NIS Server

The Solaris operating environment now natively supports the NIS server. In previous Solaris releases, the NIS server was supported under emulation mode by the NIS+ server or by an unbundled product named NSkit. Bundling the NIS server is intended to aid the transition from the SunOS 4.x to the Solaris 2.6.

CFS Boot

CFS boot enables AutoClient systems to boot more quickly with less network traffic by booting from a local CacheFS disk cache. The first system boot populates the cache, and system boots that follow are satisfied from the cache.

For more information, see System Administration Guide.

Patch Tools

In previous releases, patch installation and removal tools and their corresponding documentation were delivered as part of each patch shipped. These tools are now part of the Solaris software, which provides the following benefits:

New Patch Commands

The patchadd and patchrm commands are used to add and remove patches from a Solaris 2.x system. They cannot be used to manage patches on a Solaris 1.x system.

You can add one or more patches to a system, client, service, or a net install image.

A patch is added to the local system by typing, for example:

# patchadd /var/spool/patch/104946-02

A patch is added to a client by specifying the client's root directory on a server, for example:

server# patchadd -R /export/root/client1 /var/spool/patch/104946-02

A patch is added to a service area (a usr file system, from any Solaris release setup on a server that is usually mounted as read only by the clients the server serves) by specifying the service area on the server, for example:

server# patchadd -S Solaris_2.3 /var/spool/patch/104946-02

If a patch contains both root and usr packages in the patch, the patchadd command must be issued twice: once with the -R option to apply the patch's root package, and once with the -S option to apply the patch's usr package.

See the patchadd(1M) and patchrm(1M) man pages and System Administration Guide for more information.


Isalist is a set of utilities for SPARC systems that enables users to find out which instruction sets are supported on their machines and also to determine which one will perform the best for them. The set of utilities include:

Currently there are many variations of the SPARC processor, some of which can be treated as separate instruction sets. An application binary that is compiled for one variation may not run, or may run with performance degradation, or may run normally on a machine implementing a different variation. The Isalist utilities provide a standard interface so users can choose their application binary correctly to obtain maximum performance. For example, a system administrator can write a wrapper script and use the output of isalist and optisa to choose the appropriate binary for a given application.


The Solaris 2.6 print software offers a better solution than the LP print software in previous Solaris releases. System administrators can easily set up and manage print clients using the NIS or NIS+ name services. This means you can centralize print administration for a network of systems and printers.

Solaris 2.6 print software features include:

Redesign of Print Packages

The Solaris 2.6 print packages have been redesigned to provide greater flexibility and modularity of print software installation and to allow installation of a smaller client footprint.

Redesign features include:

The new set of print packages is:


- SunSoft Print - Client (root)


- SunSoft Print - Client (usr)


- SunSoft Print - LP Server (root)


- SunSoft Print - LP Server (usr)


- PostScript Filters (usr)


- SunSoft Print - Source Compatibility (usr)

The removed print packages are:


- LP Print Service (root)


- LP Print Service - Client (usr)


- LP Print Service - Server (usr)

Print commands contained in SUNWscpu have been moved and placed into SUNWsclplp (SunSoft Print - Source Compatibility).

Print Protocol Adapter

The Solaris 2.6 print protocol adapter replaces the Service Access Facility (SAF), the network listener, and lpNet on the inbound side of the LP spooler with a more modular, modern design.

This replacement provides the following features:

The new print protocol adapter is compatible with print clients set up in previous Solaris 2.x releases if the BSD protocol was used to configure these clients. If not, you have to modify the previous Solaris 2.x print client configuration to the BSD protocol using the Solstice AdminTools utility, Solstice AdminSuite Printer Manager, or the lpsystem command.

SunSoft Print Client

The SunSoft Print Client software was previously released as an unbundled product. It was available on the Solaris Migration CD and as part of the Solstice AdminSuite 2.x suite of administration products. It is now bundled with the Solaris 2.6 release.

The SunSoft Print Client software is

The SunSoft Print Client software uses a NIS map, NIS+ table, or a single file to provide centralized client administration in the Solaris 2.6 release.

The lpset(1M) command is used to create the printers.conf file.

The print client software packages are SUNWpcr and SUNWpcu.

Enhanced Network Printer Support

The Solaris 2.6 print software provides base-level support for network-attached printers. This is achieved with the following features:

The netpr binary currently supports two protocols: BSD print protocol and TCP pass-through.

See (Solaris) System Administration Guide and Solstice AdminSuite 2.3 Administration Guide for more information.

Hardware Support

The Solaris operating environment continues to provide the software needed to support new hardware.


The PC Card Standard defines a 68-pin interface between a credit-card sized peripheral and the PC Card socket in the computer. It also defines a software architecture that enables the computer's operating system to configure and control the PC Card peripheral dynamically, upon insertion.

The Solaris 2.6 release provides a UNIX implementation of the PC Card Standard, bundled with a number of drivers for common PC Cards. The Solaris Card Services provide PC Card driver interfaces with ANSI C language bindings, enabling drivers to be written that are independent of the particular platform and host architecture.

For more information, see Writing PCMCIA Device Drivers which is available on Sun's external web page on the Device Driver Kit Web site.

Nomadic Support/File Synchronization

The new filesync feature ensures that data is moved automatically between the portable computer and the server. filesync is primarily intended for use on nomadic systems, although it may also be useful for backup and file replication on more permanently connected systems. Its purpose is to keep copies of files in sync between multiple systems, typically a server and a portable computer.

filesync can be used to maintain lists of files and directories to be kept in sync between multiple systems. Each time it is invoked, it examines all the files on both systems, determines which files have changed, and propagates the changes (creations, deletions, edits). It can deal with changes in both directions, and with conflicting changes.