ISV Adoption Strategy for the Solaris 10 Operating SystemFrederick Rehhausser and Chien Yen, March, 2005 Contents:
Today, independent software vendors (ISVs) face a larger number of operating systems and products to support as well as the ever-increasing complexity of each of the supported products. With this competition for ISV attention and resources, the Solaris 10 Operating System (OS) needs to be compelling in terms of business issues and revenue gains, cost of the port and ongoing support costs, and feature benefits for the ISVs and their customers. An effective adoption strategy for the Solaris 10 OS is critical to the ISV. Such a strategy can accelerate ISV cycle time to allow timely support for the Solaris 10 OS. Using this type of adoption strategy can provide both lower incurred costs and faster time-to-revenue for the ISV that adopts the latest Solaris release. ISVs need to be able to move aggressively but prudently to new releases of Solaris -- allowing them to take advantage of new features and powerful new systems without breaking their existing applications. The Solaris 10 OS represents a major step in the evolution of enterprise-class operating systems, making major improvements from horizontally scalable small systems to vertically scalable data center-class systems. This article supplies specific information to help ISVs move their applications to the Solaris 10 OS from earlier releases and identify potential issues. Advice is provided to help qualify applications as well as integrate applications with the more advanced features of the Solaris 10 OS. This article also provides an overview of the important new features in the Solaris 10 OS, with a focus on differences important to ISVs that may affect their applications. A complete overview of Solaris 10 OS can be found in the white paper In a Class By Itself -- The Solaris 10 Operating System (pdf). Why the Solaris 10 OS?The Solaris 10 OS defines what the next-generation OS should be. Building on 20 years of experience, the Solaris 10 OS addresses the key customer concerns of cost, availability, and security, with new and innovative features that can set the standard for the industry. With the ability to scale up and scale out, the Solaris OS allows customers to use a common OS from the desktop to small systems to massive SunPlex clusters with hundreds of CPUs. The Solaris 10 OS is considered the premier OS for the boundary-less data center, providing customers with a secure, cost-effective and highly available environment by design. Potential benefits include the following: Solving critical customer needs (using technology to generate cost-effective solutions)
Value to the ISV (monetize investments in the Solaris 10 OS)
Extending platform reach (not limited to a single platform)
Protecting customers' and ISVs' investments (get running on the Solaris 10 OS quickly)
Maintaining industry leadership (creating competitive advantage through technology)
Prepare for AdoptionProviding a Smooth Upgrade to the Solaris 10 OS Any operating system upgrade requires careful planning on the part of the ISV. Once an ISV has committed to support for the Solaris 10 OS, the ISV must develop an adoption plan. This plan for adoption of the Solaris 10 OS helps the ISV to:
These tasks are constrained by the resources available for adoption, business justification, and compliance of an existing application with the Solaris ABI. An effective approach will accelerate adoption cycle time with lower costs and faster time to market. Strategies for Solaris 10 OS Adoption The Solaris 10 Operating System Adoption Kit (available on the iForce Partner partner web site) was designed to provide you with a comprehensive guide on how to incorporate the latest features and enhancements from the Solaris 10 OS into your applications. Also provided are documentation and resources for application testing, porting, and development. The kit offers two complementary strategies your company can take toward adoption: Fast Track and Advantage Track. Fast Track to Solaris 10 OS The quick and easy way to move your applications to the Solaris 10 OS. There is no need to recompile your applications. Upon general release of the Solaris 10 OS, Sun assures binary compatibility with previous releases of Solaris. This means that if your application is written to the Solaris Application Binary Interface, it will run without modification on the Solaris 10 OS. Test your application for binary compatibility with the Solaris Application Scanner Tool. This process should be quick and easy. It can help you to identify any missing interfaces or other issues. If your application passes, install it on the Solaris 10 OS, and run your usual application acceptance test. Details on running SolCAT tools are given in the section called "Solaris Compatibility Assurance Toolkit (SolCAT)". Figure 1 shows the Fast Track path to Solaris 10 OS adoption.
Finally, let us know that your application checks out! We'd like to count you as a Solaris 10 OS Early Adopter. Send an email to solaris-adoption@sun.com. Advantage Track to Solaris 10 OS The Advantage Track: Extending your applications with Solaris 10 OS new features. Take advantage of the breakthrough technologies in the Solaris 10 OS and make your applications more reliable, secure, and available. Many of the new features in the Solaris OS are transparent to the application and require no modification on your part. Certain features need application inputs, application knowledge of system configuration, or system dependency checks. Figure 2 shows the Advantage Track path to Solaris 10 OS adoption.
With this two-pronged adoption strategy, the ISV has the opportunity to make a fundamental change in the support model for the Solaris 10 OS. With the Fast Track model, the ISV can immediately test and qualify the current family of applications on the Solaris 10 OS and declare support, profiting from the initial momentum of the Solaris 10 OS in the market with early adopters and other customers eager to use the advanced features and superior performance of this release. ISVs can then fold the pertinent new features of the Solaris 10 OS into their application being readied for release, and on their schedule, do a full support and recompile, and qualify their latest application for the advanced features of the Solaris 10 OS and gain full competitive advantage for their applications. Get adoption support from Sun, and tell us how we can help you! Support details are on the Solaris 10 Early Adoption web site. Let us know that you've adopted the new features. Send an email to solaris-adoption@sun.com. Testing StrategyTesting Your Applications for Solaris 10 ABI Compatibility on the Current OS Release Like previous releases, the Solaris 10 OS supports the Solaris ABI for both SPARC and x86 architectures. Adherence to the Solaris ABI provides a binary compatible environment between releases and avoids potential problems -- for example:
To assure that your application does not violate the above criteria for the Solaris 10 ABI compatibility, you should test your application for the Solaris 10 ABI compatibility to make sure that it runs in the new environment. The Solaris Application Scanning Tool, which is part of the SolCAT tools described in the section called "Solaris Compatibility Assurance Toolkit (SolCAT)", is a fast and easy check to see whether your application is compliant with Solaris ABIs. You specify the targeted OS release (for example, Solaris 10) that the Solaris Application Scanning Tool will check against your application. If you don't see any warning or error messages from the Solaris Application Scanning Tool test results, your application should run on the Solaris 10 OS. If you are on the fast track, your application is ready for production release. Qualifying on the Solaris 10 OS You should qualify your application for the Solaris 10 OS if the application has any of the following characteristics:
Setting Up a Development EnvironmentBased on your adoption strategy or the SolCAT test results, you may need to set up a development environment for the Solaris 10 OS. The following sections describe the steps necessary to set up a development environment for Solaris 10 OS adoption. These steps include:
Getting Solaris 10 Software Through the iForce Solaris 10 Early Adoption Program To participate in the Solaris 10 Early Adoption program, your company must become a registered member in the iForce Partner partner program. After your company becomes an iForce partner, you can log in to the iForce membership center with the password provided to you. The The official release of Solaris 10 software is available for download. The development release of Solaris 10 Update software is also freely available from the Sun Software Express Program. With Software Express for Solaris, Sun is making the latest technologies available, built from the development team's work-in-progress code base released at monthly intervals. Getting Development Tools Sun Studio software supports the Solaris 10 OS. Sun Studio software is full of productivity enhancements, feature improvements, and expanded platform support that includes Linux, x86 architecture, and AMD Opteron processors, and it is recommended for development with the Solaris 10 OS. Sun Studio software is designed to help you achieve a better runtime as well as shorter build time. Sun Studio 10 software is optimized to support AMD Opteron 64-bit processors. See the section of this article called "Using Sun Studio Software for the Solaris 10 OS" for more information. Getting Solaris 10 Documentation As a part of the Solaris 10 Early Adoption Program offering, the Solaris 10 Adoption Kit offers one-stop shopping for value propositions, documentation, and tools for adoption of the Solaris 10 OS. To access the Solaris 10 Adoption Kit, please visit the iForce Partner partner web site and register in the Solaris 10 Early Adoption program. You need to become an iForce partner first to register in the Solaris 10 Early Adoption program.Food Chain Dependencies You may use third-party tools in your development, include third-party libraries in your application, or bundle third-party applications with your product. In most cases, this third-party software should run on the Solaris 10 OS. We recommend that you use SolCAT tools to test third-party software ABI compatibility. If the third-party software is incompatible with the Solaris ABI, SolCAT tools show warnings or error messages to identify problems for you to discuss with your food chain vendors. Identifying Qualified Systems The Solaris 10 OS requires a minimum of 64 Mbyte of memory and 1 Gbyte of disk space for server systems. The Solaris 10 OS supports all UltraSPARC II, III, and IV platforms, and the following Sun x64/x86 based systems:
Helpful Hint If you have a spare disk larger than 4 Gbyte, you may want to install the Solaris 10 OS on that disk without changing the existing boot disk. During the installation, the installer will prompt you for a selection of disk to install the OS. Solaris Compatibility Assurance Toolkit (SolCAT)Sun currently provides SolCAT, an extensible tool framework to help ISVs, developers and system administrators test compliance with the Solaris ABI and ease adoption to the Solaris 10 OS. The Solaris Compatibility Assurance Toolkit currently consists of two complementary tools that examine applications' usage of the Solaris library ABI:
The two tools examine ELF binaries' usage of the Solaris library ABI for C, C++, Fortran, Cobol, compiled applications, and so on. Other aspects of the ABI: interpreted programs (for example, Java technology-based applications and shell scripts), use of utility commands, configuration files, and device drivers, and the like are out of the scope of these tools. These tools may be scanned over application binaries to detect issues that might affect the application's compatibility when run on a later Solaris release. Both tools have been updated to test for issues up to and including the Solaris 10 OS. The following section provides:
Solaris Application Scanner The Solaris Application Scanner was created in response to feedback from Solaris Appcert users that wanted a tool with the following features:
The resulting tool focuses on a relatively straightforward check: Does the application directly call any Solaris interfaces or libraries that have gone away in a Solaris release? If so, the application has a very high chance of failing when run on that Solaris release. Given an application binary with a Solaris Application Scanner "No-Go" status, the only ways the application would not fail at runtime are:
These cases are all relatively rare (and are listed above in order of increasing rarity), and therefore a No-Go result from Solaris Application Scanner should be taken seriously. Since Sun believes binary compatibility for the Solaris platform is very important, it is extremely rare for public interfaces or libraries to be removed. A lengthy End-Of-Life process is performed before doing so. For private interfaces and libraries (that is, those intended only for Solaris-internal usage: they are not part of the API/ABI), no such constraint exists (because applications are not supposed to be using them). For more information on Sun's EOL process see: Solaris OS Life Cycle. The Solaris Application Scanner database contains information on both public and private interfaces that have been removed from the Solaris OS. The private interfaces are included in case an application has been using the private interfaces and has "just happened to work" until the private interface is removed. Because public interfaces are only rarely removed from the Solaris OS, the vast majority of the Solaris Application Scanner database consists of removed private interfaces. The Solaris Application Scanner tracks removal of interfaces and libraries from Solaris 2.4 up to and including the Solaris 10 OS. Appcert Tool for the Solaris OS The Solaris Appcert tool has been updated to handle some additional potential binary compatibility problems specific to the Solaris 10 OS. In addition, its symbol database has been updated to provide a "snapshot" of the Solaris 10 OS to go along with its existing snapshots for releases from Solaris 2.3 to Solaris 9. The Solaris Appcert tool takes a somewhat different approach from Solaris Application Scanner: Solaris Appcert looks for and reports potential binary incompatibilities. That is to say, its primary function is to give "heads-up" warnings about vulnerabilities in the application that could lead to failure when run on future Solaris releases. The main check Appcert performs is for the application's direct usage (that is, calling) of private interfaces in the Solaris OS. The developer of an application will be interested in removing all Solaris Appcert-reported vulnerabilities from the application (by modifying the application source code and rebuilding and redeploying). Similarly, a system administrator or quality assurance test engineer may decide to perform extra testing on newer Solaris releases of applications that yielded Solaris Appcert warnings. Some overlap exists in the checking that Solaris Appcert and Solaris Application Scanner perform, in particular: Solaris Appcert does check for usage of a large number of interfaces or libraries that have been removed. These checks are most concerned with public interfaces or libraries that have been removed (although quite a few private interfaces are included as well), while the Solaris Application Scanner has a large database of essentially all interfaces (public or private) that have been removed. Solaris Appcert has some miscellaneous checks for potential binary incompatibility problems not simply involving private interface usage. The checks added in this Solaris 10 release are:
For more information on SolCAT, see Solaris ABI Tools - SolCAT. New Features in the Solaris 10 OSThe Solaris 10 OS introduces many new features to improve system performance, availability, utilization, security, and platform choice.
New Features That May Require Application Changes Many of the new features are transparent to the application and require no modification to the application. Some features need application inputs, application knowledge of system configuration, or a system dependency check. These features require the application to make the appropriate changes to adopt the feature. Such changes may include the following:
The features that might require changes to an application include:
Solaris Containers introduce a way to create virtualized operating system environments within an instance of the Solaris OS. Solaris Containers offer a software partitioning technology that effectively isolates the resources, security, identity, name spaces, and faults of one container from other containers. Solaris Containers allow the customer to install, deploy and run an application on a shared system in complete privacy. Solaris Containers are a whole new way of creating multiple soft partitions within the Solaris OS, each with their own hostname, IP addresses, users, root user, private file system, network ports, and so on. Processes running in these containers are fully isolated and secure from other processes running in the other containers. They cannot see each other or signal each other, they can only communicate through the network stack or a shared file system link between two separate systems. Supporting the container is a single kernel that creates separate identity environments, controlling what the applications and users are allowed to see and access. The users in the containers, even root, only control a subset of the environmental settings (that is, physical device settings, network routing tables, and so forth), which prevents them from endangering the system as a whole. The file system within the container is partly private ( A tutorial is available on the Solaris 10 ISV Adoption Kit site that gives step-by-step procedures on how to get started using Solaris Containers. The general task outline covers:
/usr is a shared file system among all zones and, thus, is a read-only file system. An application that installs on the /usr file system may need to change its packaging and installation scripts to /opt or /var. Processes running in a zone are under certain privilege restrictions (see privileges(5)).
Solaris Containers can be configured on any machine on which the Solaris 10 OS can be installed. Each Solaris Container requires approximately 100 Mbyte of disk space. An additional 40 Mbyte of RAM per container is helpful, but not required, as long as you have enough swap space. Additional resources may be required for applications running in a container (without inducing a lot of paging). These requirements vary with the application in question. Please refer to the BigAdmin article Solaris Zones Partitioning Technology. Process Rights Management helps ISVs to mitigate the risk that their application may harm the system and data by out-of-control processes or malicious software (worms, viruses, and so on). Process rights management can provide a more secure and available operating environment. The principle of Process Rights Management requires that a user be given the minimal process rights necessary to perform a job.
Ensuring minimal process rights requires:
The Solaris 10 OS implementation of process rights management extends the process rights model with the concept of process rights sets. Each process rights set contains zero or more process rights. With process rights sets, minimal process rights sets add support for fine-grained process rights to the Solaris OS. In addition, process rights sets provide the Solaris OS with the ability to:
The Solaris 10 OS introduces the concept of process privileges by granting access to privileged applications. The traditional UNIX superuser (UID 0) no longer has special meaning, although for compatibility purposes the Solaris 10 OS ships with the expected set of privileges assigned to that user ID. Developers who create new privileged applications should test for specific privileges instead of checking to see if their effective user ID is 0. See section 2, "Developing Privileged Applications", in the Solaris Security for Developers Guide for adopting Process Rights Management in your application. Predictive Self Healing provides a new software architecture and methodology for fault management across Sun's product line. Predictive Self Healing consists of two major components: Solaris Fault Manager and Solaris Services Manager to increase system and services availability. Solaris Fault Manager allows system errors and faults to be logged and retrieved for fault diagnosis, isolation, self-healing, and proactive prevention. This, in general, is transparent to applications. Solaris Services Manager, as implemented by the Service Management Facility (SMF), is a new framework for simplifying management of Solaris system services. A Service is defined as an entity that has both these characteristics:
A service itself may be dependent on a declared list of other services. UNIX has traditionally included a set of services that are initialized, invoked, executed, and managed independently of each other. SMF replaces the existing service mechanism in the Solaris OS with three primary goals:
To achieve these goals, the SMF framework includes the following components:
SMF allows applications to define services relationship and to invoke actions upon these relationship. Application developers define service relationships with a "service manifest" and use Memory Placement Optimization (MPO) allows the Solaris OS to recognize and capitalize on memory locality effects present in Sun's large servers. It introduces several APIs for an application to dynamically determine how its threads and virtual memory have been assigned to processors and physical memory. Additional information on MPO and its associated APIs is available in the Memory Placement Optimization white paper (pdf). Solaris Cryptographic Framework The Solaris Cryptographic Framework provides optimized implementations of common cryptographic (encryption and message hashing) algorithms and a plug-in framework to abstract the implementation and calling requirements of individual cryptographic algorithms. The framework allows security application provider (for example, SSL, SSH, IKE, and JCE) to have a common interface to algorithms for:
The framework adopts the PKCS#11 v2.11 API as the interface for applications. (See pdf version available via FTP: PKCS #11 v2.11: Cryptographic Token Interface Standard.) Applications are not able to call individual cryptographic algorithms directly but are required to provide key material (where appropriate) and specification of which algorithm(s) they wish to use. This abstracts the applications from the implementation details of given algorithms. The PKCS#11 API is also used as the Service Provider Interface (SPI) for ISVs and third parties to replace or augment provided algorithms. Using PKCS#11 as the SPI allows easy access to third-party cryptographic tokens such as hardware accelerator cards and smart card-like products used for secure key storage. For more detailed information, see the description of the Solaris Cryptographic Framework in the Solaris 10 OS Adoption Kit. API Enhancements in the Solaris 10 OSThe Solaris 10 OS introduces many API enhancements to provide additional functionality, improved performance, better standard compliance, and easy of use with multi-threaded programming. ISVs have the option of adopting new APIs, and modifying existing APIs. Multithreading applications may experience additional restrictions and should be certified on the Solaris 10 OS. The Solaris 10 API enhancements include:
New API Frameworks Event Ports provide a mechanism to generate and collect notifications about completed asynchronous transactions. Transactions are asynchronous reads and writes as well as interactions between application and kernel that require an asynchronous completion notification. This framework is a scalable and unified way to serve multiple clients, waiting on multiple objects simultaneously without degrading overall performance. User-Level Atomic Operation Functions provide atomic operation for use by user-level threads programmers. Layered Driver Framework (LDF) provides a set of kernel APIs for accessing devices from within the kernel and enhancements in User Direct Access Programming Library (uDAPL) defines a single set of user APIs for all RDMA-capable transports. Simple Authentication and Security Layer (SASL) provides support for authentication, privacy, and integrity services for connection-based protocols as described in RFC 2222. In addition to above new API frameworks, the Solaris 10 OS also introduces many new functions to existing APIs. A complete list of new functions is available in the Solaris 10 Adoption Kit on the iForce Partner partner web site. API Enhancements Process model unification unifies the process model for single-threaded process with multi-threaded process. Process model unification makes several changes that might affect applications: 1. Merging
2. Removing all static binaries
3. Making Single UNIX Specification Version 3 (SUSv3) implements optional features specified by the new SUSv3 standard. In addition to the above enhanced API frameworks, the Solaris 10 OS also includes many enhanced functions. A complete list of enhanced functions is available in the Solaris 10 Adoption Kit on the iForce Partner partner web site. EOL Libraries, Packages, and Modules 32-bit SPARC kernels -- The SPARC 32-bit kernel is no longer supplied with the Solaris 10 OS. Existing 32-bit applications are not affected as the 64-bit kernel supports both 32-bit and 64-bit applications. Solaris Static System Libraries -- All 32-bit static system libraries and statically linked utilities (for example, X11 Static Libraries -- All X11 static libraries are removed from the Solaris 10 OS:
Interprocess Communication (IPC) kernel tunables -- All IPC kernel tunables are replaced by the Solaris resource controls framework. See 64-bit Packages -- Solaris releases 7, 8, and 9 included separate packages for 32-bit and 64-bit components. In general, the name of a packages delivering a 64-bit component was the same as the equivalent 32-bit package name with the letter "x" appended. In the Solaris 10 Operating System for SPARC platforms, 32-bit and 64-bit components are delivered together in a single package. The combined packages retain the names of the original 32-bit packages, and the 64-bit packages are no longer delivered. For example, Packages which only deliver 64-bit components have been renamed to remove the trailing "x." For example, Note: The sun4u 200 MHz and below platforms (UltraSPARC-1) are no longer supported in the Solaris 10 OS. A complete list of removed functions, commands, packages, and modules is available in the Solaris 10 Adoption Kit on the iForce Partner partner web site. The Solaris 10 OS on x86 PlatformsThe Solaris OS for x86 and SPARC Based Systems Solaris has one code base for all supported platforms and systems; thus, the API differences for any given platform are negligible. All libraries available for the Solaris OS on SPARC platforms are also available for the Solaris OS on x86 platforms. Some of the libraries, such as The major differences between platforms from a developer's point of view are at the Instruction Set Architecture (ISA) level, and are rarely encountered in high-level applications. These may include:
long long member must be constructed to guarantee that this member falls on a 64-bit boundary.
A guide to adding x86 support for existing SPARC applications discusses various solutions to address these ISA differences. Porting From SPARC Platforms to x86 Platform In most cases, an application for the Solaris OS on SPARC platforms is expected to work after a recompile on the x86 platform. A few instances may require changes to source code or makefiles. You may want to read the previous section and x86 porting guide first. Also available for your reference are:
Porting From Linux to the Solaris OS This presents a more challenging task than porting a Solaris application from the SPARC platform to the x86 platform. Some of the porting issues involve:
Third-Party Hardware Supported by the Solaris OS on x86 Platforms The Hardware Compatibility List identifies x86 hardware known to be compatible with the Solaris OS. Three levels of compatibility are included:
The HCL includes systems (server, desktop, and laptop) as well as components. Using Sun Studio Software for the Solaris 10 OSSun Studio software is an integrated set of tools for the development of enterprise-class applications targeting Sun platforms -- primarily via native C, C++, or Fortran binaries, with support for work that combines native code and the Java programming language. Sun Studio Software Support for Solaris 10 OS Sun Studio 10 software provides a comprehensive, productive environment for developing scalable C, C++, and Fortran 32-bit and 64-bit applications on Sun's newest UltraSPARC IV and AMD processor-based systems for the Solaris Operating System. The Sun Studio 10 product includes software for the Solaris OS, for both the SPARC and x64/x86 platforms. Earlier versions of the software such as Forte 6 Update 2, Sun ONE Studio 7 Enterprise Edition, and Sun Studio 8, are easily upgradeable to Sun Studio 10 since it is fully compatible with all of these former releases.
Sun Studio 10 software is full of productivity enhancements, feature improvements, and expanded platform support to make your Solaris application development more productive. Sun Studio 10 runs on the Solaris 10 OS. Key features and benefits include:
System requirements entail 512 Mbyte of memory, 1 Gbyte of swap space, disk space of 2 Gbyte, 1.6 Gbyte Solaris OS on x86 platforms and/or .8 Gbyte Linux. The software is supported by Solaris 10, 9 and 8 OS (SPARC and x64/x86 platforms); Sun Java Desktop System, 2003; SUSE Linux Enterprise Server 8, and Red Hat Enterprise Linux 3 (debugger and performance analyzer only). Resources Available for ISV Adoption ProjectsSun has many resources to help ISVs that are adopting the Solaris 10 OS, including:
Solaris 10 Early Adoption Program The goal of the Early Adoption Program is twofold:
The Solaris 10 Early Adoption Program provides you with:
To participate in the Solaris 10 Early Adoption program, your company must be a registered member in the iForce Partner partner program. Becoming an iForce partner is free. The iForce Partner Program offers, to eligible Partners, substantial discounts on Sun hardware, software, and support; improved company and product visibility via Sun co-marketing programs; increased sales opportunities to Sun customers; and access to valuable customized information via our Membership Center. After your company becomes an iForce partner, you can log in to the iForce membership center with the password provided to you. The Solaris 10 Adoption Kit
The Solaris 10 Operating System Adoption Kit was designed to provide you with a comprehensive guide on how to incorporate the latest features and enhancements from the Solaris 10 OS into your applications. Documentation and resources for testing, support, porting, and application recompile are included in the adoption kit. Our goal is to make it as easy as possible for your company to adopt the Solaris 10 OS. The Solaris 10 Adoption Kit includes these sections:
SolCAT Tools See the preceding section called "Solaris Compatibility Assurance Toolkit (SolCAT)" for a detailed description of SolCAT. Technical Support Participation in the Solaris 10 Early Adoption Program qualifies you for free technical support in your adoption effort. If you encounter any technical issues, questions, or potential Solaris bugs, send an email to solaris-adoption@sun.com. Your email will be acknowledged shortly after it is received. About the AuthorsChien-Hua Yen is a Senior Staff Engineer in Market Development Engineering at Sun Microsystems. Fred Rehhausser is Group Marketing Manager for Solaris Platform Products at Sun Microsystems. Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
|