Skip Masthead Linksdevelopers.sun.com » search tips  |  Search:   
The Source for Developers
A Sun Developer Network Site
Products and Technologies
Technical Topics
Sun Microsystems
 
 
Reference
Reference
 
Documentation
FAQs
Code Samples & Apps
BluePrints
Technical Articles & Tips
White Papers
 
Shared Links
Forums
Newsletters
 
Course Certification
Training
 
 
Sorted by: Category | Alphabetically
 
Contents
 
64-Bit Computing
Application Setup and Configuration
Binary Compatibility
C/C++ Programming
Clustering
Code Profiling and Optimization
Compiling and Debugging
Device Drivers
Graphical Interfaces
Hardware
Internationalization
Java on Solaris
Kernel Development
Libraries and Linking
Network and Application Communication
Network Configuration
Other Operating Systems
Porting to Solaris
Printing
Security
Shell Commands and Scripts
Solaris Platform Architecture
Standard APIs
Sun Compiler Collection
System APIs
System Management
System Sizing and Tuning
Threading
 
64-Bit Computing
Booting Solaris Systems to Either the 64-Bit Kernel or the 32-Bit Kernel
Answers to frequently asked questions about booting Solaris systems. (May 1, 2002)
 
Should I Move My Application to the Solaris Operating Environment with 64 Bits?
Reasons to support moving your applications to the Solaris OS with 64 bits, plus information on binary compatibility with 32-bit applications. (August 1, 2000)
 
Migrating to the SPARC: Solaris 64-bit Operating Environment
Overview of migration, tips on how to extend 32-bit applications, a data model, a checklist for conversion, and more. (March 1, 1999)
 
 
Application Setup and Configuration
Best Practices for Running TIBCO Rendezvous on the Solaris OS
Read about how to configure and tune Solaris platforms running this real-time messaging application. (June 2004)
 
Integrating BLAST with Sun ONE Grid Engine Software
Sys admins supporting life sciences research teams can take advantage of a collection of computing resources to run BLAST searches against a DNA or protein database. (July 7, 2003)
 
Using mod_ssl to Secure Apache on the Solaris Platform
Compile and configure your own secure web server utilizing open-source software. (April 25, 2002)
 
POP Goes the Server: How to Choose a POP Service for Your UNIX Email Server
Discusses the factors you need to consider when deciding on a POP server. (May 1, 1999)
 
 
Binary Compatibility
Developing on the New Solaris Platform While Supporting Older Versions
Application software developers can learn to use the latest version of the Solaris OS while supporting previous versions. (January 1, 2002)
 
appcert: A Static Application Checking Tool
Review of appcert, the ABI utility, and the technology behind it. (June 1, 2001)
 
Developing Applications for the Solaris 7 Operating Environment on the Solaris 8 OE
Backward compatibility allows programs developed for new versions to run correctly on older versions of the OS. (November 1, 2001)
 
ABI Compliance and Global Registers Usage in SPARC V8 and V9 Architecture
Published by SPARC International, Inc.; discusses the technical details of the SPARC V9 architecture. (September 1, 2000)
 
Lxrun - Technical Overview
Lxrun is an emulator for executing x86 Linux a.out and ELF binaries on other types of UNIX platforms running on x86. (June 1, 2000)
 
 
C/C++ Programming
Assembly Language Techniques for the Solaris OS, x86 Platform Edition
Author provides sample code, using the compiler in Sun Studio software and GCC, and demonstrates inline assembly using __asm, inline code expander, and extended asm. (June 11, 2004)
 
 
Clustering
Installing OPS on the Sun Cluster Environment
Discusses Oracle Parallel Server (OPS) and HA for clustering for Oracle databases on Sun servers. (May 1, 2001)
 
 
Code Profiling and Optimization
Determining Free Physical RAM and Using It to Improve Your Application
The author provides a routine to get the currently available physical memory on Solaris systems and an example showing how to use this interface. (March 17, 2003)
 
Virtual Memory Arrays for Application Software
Offers an implementation for the Solaris OS (SPARC Platform Edition). (March 1, 2003)
 
Ethernet Bandwidth Utilization by DLPI/STREAMS Applications
Reviews issues faced by user-level applications that open STREAMS-based device drivers directly, with suggestions for workarounds. (May 1, 2002)
 
The XML Garbage Collector
Describes the algorithm of a simple XML garbage collector to help applications remove the least recently used XML nodes from the memory. (March 1, 2002)
 
Optimizing Applications with Large Working Sets
Introduces techniques and sample code for profiling applications using the CPU Performance Counter Library (CPC); also discusses Intimate Shared Memory (ISM). (February 1, 2002)
 
Reducing Application Startup Time
Pointers on how you can reduce the application startup time for ELF executables. (January 01, 2002)
 
Performance Analysis and Monitoring Using Hardware Counters
Explains how the Hardware Activity Reporter (HAR) tool can be useful in identifying performance bottlenecks and quantifying code-tuning improvements. (December 1, 2001)
 
Performance Profiling Using TNF
About TNF (Trace Normal Form), a system for generating and collecting execution event traces from the Solaris kernel and user processes. (July 1, 2001)
 
Solaris UFS and Disk IO Performance for Large Synchronous Sequential Writes
Report on the performance of internal SCSI and IDE IO subsystems for synchronous sequential writes with varying transaction sizes. (October 1, 2000)
 
Solaris 8 Memory Architecture
Discusses enhanced memory architecture that makes it easier to monitor and providing improved memory usage reporting. (August 1, 2000)
 
Delivering Performance on Sun: Optimizing Applications for Solaris (pdf)
Focuses on the right tools and techniques for delivering high-performance applications on Sun workstations and servers, including UltraSPARC platforms. (July 1, 2000)
 
 
Compiling and Debugging
Solving a Customer Problem With collect, er_print, and interpose Libraries
Performance analysis tools were used to determine the cause of a software runtime problem. (August 24, 2004)
 
Optimizing Build Times Using Parallel "make"
This paper explains how developers can convert from a serial to a parallel build environment using gmake. It describes the most common problems, how to recognize them, and how to fix them. (July 16, 2004)
 
Introduction to the "make" Utility
Introduces the make utility, a mechanism to compile and build applications efficiently in the Solaris OS. (July 29, 2002)
 
Logging and Tracing in C++ Simplified: Traveling the Road Last Traveled by a Previously Invented Wheel
Summary of logging and tracing, with samples. (August 1, 2001)
 
An Introduction to GNU Build Tools (automake, autoconf, and configure Script)
The free software community devised a set of tools to generate Makefiles and build scripts that work on a variety of platforms. (June 1, 2001)
 
Generating and Handling Application Traceback on Crash
Describes tools to help generate a traceback, a chain of all function calls that the application was executing at the time of the crash. (March 2, 2001)
 
 
Device Drivers
DTrace Case Study for Developers
Read about using DTrace, a feature of the Solaris 10 OS, for device driver development. (October 14, 2004)
 
Using the USB Generic Driver (Ugen) to Access USB Peripherals on Solaris Systems
Provides an example of how to access status information of a USB UPS. (October 1, 2002)
 
Listing the Names and Order of STREAMS Modules
This note contains a sample program to help you list the names and order of STREAMS modules pushed on top of a particular device. This information is for STREAMS device drivers and module developers, and system administrators. (August 2001)
 
Writing Device Drivers for the Solaris Operating Environment (x86 Platform Edition)
An architecture-specific and sometimes simplified discussion of Solaris OS device driver implementation. (January 1, 1999)
 
 
Graphical Interfaces
Integrating Applications Into the GNOME 2.0 Desktop
Provides advice to application developers on how to make their software fit into the GNOME desktop environment. (October 1, 2002)
 
GNOME Technology Overview
Provides a technical overview of GNOME Desktop features. (March 1, 2002)
 
 
Hardware
Updating OpenBoot PROM for Sun Workstations and Workgroup Servers Based on SPARC Technology
This tutorial outlines how to update the OpenBoot PROM on Sun workstations and workgroup servers based on SPARC technology. (September 2003)
 
Implementation Characteristics of Current SPARC V9-Based Products
SPARC International, Inc., published this overview of implementation for the SPARC V9 architecture. (September 1, 2000)
 
The SPARC Architecture Manual, Version 9
By SPARC International, Inc.: discusses the technical details of the SPARC V9 architecture. (September 1, 2000)
 
 
Internationalization
Internationalization (I18N) Testing
I18N testing guidelines and methodologies, with examples for products written in the C, C++, and Java languages for Solaris and x86 platforms. (April 1, 1998)
 
 
Java Technology on Solaris Platform
Setting Up Solaris 7, 8, and 9 Operating Environments for Java Servlet Graphics
How to set up your server system with the Java 2 Platform Standard Edition (J2SE) SDK and the X Window system. (November 1, 2002)
 
Server-Side AWT
Two examples of server-side functionality you can implement using AWT. (June 18, 2002)
 
Performance Tools and Tuning Tips for Java Technology-Based Server Applications on the Solaris OS
Presents tools, system settings, and tips for Java software-based server applications that run on and scale across 2- to 64-CPU Sun Enterprise servers. (November 1, 2001)
 
Java Technology/C++ Interoperability Using CORBA
Discusses ways to obtain the IOR (Interoperable Object Reference) of an object and provides interoperability examples. (April 1, 2000)
 
 
Kernel Development
Solaris Kernel Statistics -- Accessing libkstat with C
Covers data structure, getting started, data types, kstat names, functions, dealing with chain updates, and more. (July 1, 2001)
 
Solaris Kernel Statistics, Part II -- Accessing libkstat with Shell Scripts
Tools to access kstat information, with information on the kstat(1m) program and the Perl language module it uses to extract kernel statistics. (December 1, 2001)
 
 
Libraries and Linking
Matrix Multiplication on the Sun Platform
The computational efficiency of Sun Performance Library software approaches the theoretical peak for UltraSPARC processors. Matrix multiplication is the focus of this report, but the general conclusions can be extrapolated to other components of the library. (October 7, 2003)
 
Identifying Memory Management Bugs Within Applications Using the libumem Library
Introduces the new user space slab allocator, libumem, shipped in the Solaris 9 OS, Update 3, focusing on the debugging infrastructure provided by this library. (June 2003)
 
Dead Code Elimination With the Solaris OS Link-editor
For system administrators: see how the Solaris OS link-editor can perform dead code and dead variable elimination when creating executables and shared objects. (May 2003)
 
Enhancing Applications by Directing Linker Symbol Processing
Describes use of linker mapfiles for building end-user applications. (August 12, 2002)
 
LibElf and GElf - A Library to Manipulate ELf Files
About ELF manipulation library for Executable and Linkable Format files, provided as a part of the Solaris OS. (August 1, 2001)
 
Debugging and Performance Tuning with Library Interposers
Tips and tools for working with this useful technique for tuning performance and collecting runtime statistics. (July 1, 2001)
 
Runtime Linker in Performance Optimization for Solaris
Describes features of the runtime linker that can be used in development of computationally intensive applications for Solaris OS. (September 1, 2000)
 
 
Network and Application Communication
Introduction to Interprocess Communication Using Named Pipes
Using named pipes, multiple processes can communicate with each other in a half-duplex fashion via an access point, or file, on the file system. (July 19, 2002)
 
Fast Sockets, An Interprocess Communication Library to Boost Application Performance
Fast Sockets library uses the Solaris interposition technique to dynamically overlay INET-TCP sockets. (February 1, 2001)
 
A Primer on Signals: Learn the Ins and Outs of Implementing Signals in the Solaris Operating Environment
Offers detailed background and implementation discussions. (January 1, 2001)
 
 
Network Configuration
IPv6 Support in Trusted Solaris 8
Provides a general overview of the Trusted Solaris 8 networking feature support relevant to the IP version 6 (IPv6) protocol. (June 1, 2001)
 
Dynamic Host Configuration Protocol (pdf)
Discusses the history of DHCP and its implementation on Solaris platforms. (August 1, 2000)
 
DNS Server Setup Template for the Solaris OS
This template is designed to help you set up a DNS server using the Solaris OS. (June 2000)
 
Plugging Windows NT into a Sun Network
About the protocols and services required to integrate Windows NT Workstation into the Solaris platform. (March 1, 1999)
 
 
Other Operating Systems
Sun Linux 5.0 - Developer Overview
FAQ on Sun Linux 5.0 and the Sun LX50 Server, with resources for developers interested in Linux. (August 9, 2002)
 
Writing a Device Driver in ChorusOS 4.0
Tips on writing a device driver in ChorusOS 4.0 and ChorusOS 4.0.1, plus the basics of the ChorusOS Driver Framework. (May 1, 2001)
 
ChorusOS IOM Tutorial
Step-by-step explanation of how to add a system call to the IOM module of ChorusOS 4.0 and 4.0.1 versions. (October 1, 2000)
 
 
Porting to Solaris
Guide to Adding Support for Solaris OS, x86 Platform Edition, to Existing Applications Available on SPARC Platform Edition
Are you interested in adding support for the Solaris OS, x86 Platform Edition, to existing applications on the SPARC Platform Edition? This guide highlights the known issues that might arise. (August, 2003)
 
Compiler Differences Between Solaris OS, SPARC Platform Edition and x86 Platform Edition
Learn about different options in Sun Studio compilers for the Solaris Operating System, x86 Platform Edition, and the SPARC Platform Edition. (July, 2004)
 
Technical Case Study: Porting Apache Web Server from Solaris OS, SPARC Platform Edition to x86 Platform Edition
Discover various aspects of building and installing the Apache Web Server source code on the Solaris OS, SPARC and x86 Platform Editions. (August, 2003)
 
COM on the Solaris Operating Environment
Investigates the feasibility of porting to the Solaris platform a COM application that was developed on the Windows NT Visual C++ development environment. (July 1, 2002)
 
Porting of Win32 API WaitFor to Solaris
Also covers emulation of Win32 API WaitForMultipleObjects() functionality. (January 1, 2001)
 
Porting UNIX Applications to the Solaris Operating Environment
A high-level discussion on how to port to the Solaris platform (versions 2.6, 7 and 8). (August 1, 1999)
 
 
Printing
Writing an LP Interface Script
Provides five sample interface scripts. (April 29, 2002)
 
Basic Principles of Printing in Solaris 2.6 and Above (Updated)
Updated with examples for Solaris 8 and 9 releases: A guide to creating and administering print servers and clients, with a section on troubleshooting. (December 1, 2001)
 
Printing in the Solaris Environment: More Tips and Ideas
Discusses general printing topics not related to Solaris LP Subsystem services. (June 1, 2000)
 
Printing in the Solaris Environment: Using the LP Subsystem
Focuses on techniques for using Solaris LP Subsystem services when printing from applications. (June 1, 2000)
 
 
Security
Authorization Infrastructure in Solaris
Describes authorization infrastructure added to the Solaris 8 OS as part of the role-based access control (RBAC) project. (August 1, 2001)
 
Secure C Programming
Brief overview of some issues to think about when writing a secure program in C. (June 1, 2001)
 
 
Shell Commands and Scripts
Using the Solaris bsmconv Security Module Script
About the Basic Security Module (BSM), which secures a Solaris system by physically limiting what a user can do, and monitoring what a user does. (March 1, 2002)
 
Shell Programming Techniques: Tried and True Techniques to Get You Started Quickly
Explains proven shell programming techniques for a quick start. (August 1, 2001)
 
 
Solaris Platform Architecture
Electrical Requirements for Blade Server BSC
Describes electrical interface requirements of the Blade Support Chip (BSC) in specialized Blade Server FRUs for use in the Sun Fire B1600 Blade system chassis. (April 14, 2003)
 
Electrical Requirements of Blade Servers and FRUs
Describes electrical interface requirements for specialized Blade FRUs intended for use in the Sun Fire B1600 Blade system chassis. (April 14, 2003)
 
Mechanical Requirements of Blade Servers and FRUs
Describes the mechanical requirements of FRUs for use with the Sun Fire B1600 Blade system chassis. (April 1, 2003)
 
System Overview of Blade Servers and FRUs
Describes requirements for the Sun Fire B1600 Blade System Chassis and field-replaceable units (FRUs). (April 1, 2003)
 
Using /etc/release File Information to Determine the Solaris OE Revision
Explains the purpose of the /etc/release file to determine the base OS level or the OS release the system was upgraded to. (April 1, 2002)
 
Device Mapping on Sun Servers
How to manage I/O devices and disks by identifying slot numbers from a device's fully qualified physical path name. (June 1, 2001)
 
A Practical Guide to Adopting the Solaris 8 Operating Environment
Includes dicussion of compatibility issues with existing applications. (July 1, 2000)
 
 
Standard APIs
A Performance Comparison of read and mmap
Describes how to implement mmap as an alternative to the conventional read method of performing file input/output (I/O). (September 30, 2002)
 
Basic File I/O Functions of Solaris Platform
Overview of the low-level I/O functions (or unbuffered file I/O) provided by the Solaris OS. Descriptions are included for functions such as read, write, and lseek. (August 1, 2001)
 
CORBA for C++ Object Interoperability
Discusses the interoperability of Sun C++ and Gnu g++ code via CORBA. (April 1, 2000)
 
Living with XML
Introduction to XML. (January 1, 1999)
 
 
System APIs
The Event Completion Framework for the Solaris Operating System
This paper studies the event completion framework shipping in the Solaris 10 OS, which can be evaluated through the Solaris Express program. The framework allows multiple clients to wait on one port for notification that a resource they are waiting on is "ready" to be used. (July 29, 2004)
 
Polling Made Efficient
About the performance advantages of using the Solaris platform's /dev/poll interface over the legacy poll(2); presents sample code for both interfaces. (May 31, 2002)
 
 
System Management
Configuring and Tuning the Solstice CMIP Stack and Enterprise Manager CMIP MPA for Best Performance
Explains the configuration options for the Solstice Common Management Information Protocol (CMIP) stack and Enterprise Manager CMIP Management Protocol Adapter (MPA). (May 2003)
 
Process Memory Requests: Process Virtual Address Space, Memory, and Swap
Discussion of process address space consumption and mapping in response to memory requests in executing code. Also explains physical memory and swap consumption in relation to memory requests. (May 2003)
 
Topping top in Solaris 8 with prstat
Discussion of prstat utility, which provides views of a system's activity and resource consumption, plus a comparison of prstat and top. (March 1, 2001)
 
 
System Sizing and Tuning
Cache OCI Calls to Improve Performance of 32-Bit or 64-Bit Oracle Clients
Updated for 64-bit applications on Solaris systems. Read about caching the oraus.msb file in memory and translating the file access system calls to memory operations. (October 2003)
 
Tuning the Solaris Operating Environment for Streaming Media Applications
Focuses on network, I/O, and file system (local and remote) tuning. (May 17, 2002)
 
Performance and Tuning on the Solaris 2.6, 7, and 8 Operating Environments
Discussion of common performance bottlenecks, with introduction to Intimate Shared Memory (ISM) and priority paging. (April 12, 2002)
 
System Sizing Template
Offers guidelines designed to increase the efficiency and quality of a system sizing. (February 1, 2002)
 
Solaris Processor Sets Made Easy
About how processor sets enable the binding of processes to groups of CPUs in a multiprocessor system. (June 1, 2001)
 
Bottleneck Basics: Understanding and Preventing Systems Slowdowns
Explains how to analyze your resource demands, with tips on planning for future growth. (December 1, 2000)
 
Analyzing Process Behavior
Author Adrian Cockcroft provides Q&A on performance issues, including how to locate and unclog system bottlenecks. (June 1999)
 
 
Threading
A Comparison of Memory Allocators in Multiprocessors
Read the results of performance tests run on five different implementations of malloc(). The allocators tested were Solaris malloc, Solaris mtmalloc, ptmalloc, Hoard, and libumem. (June 10, 2003)
 
Handling and Avoiding Stack Overflows in the Solaris OS
Discusses ways of avoiding, trapping, and potentially recovering from user land stack overflow conditions. (May 2003)
 
Alternate Thread Library (T2) -- New in the Solaris 8 Operating Environment
Discussion of the alternate thread library (T2) in Solaris 8 OS, with information on Solaris vs. POSIX threads. (June 1, 2002)
 
Eliminating Nonreentrant Library Calls in Multithreaded Programs
Lists nonreentrant library calls to avoid in the Solaris 8 OS; also demonstrates techniques to isolate them and hunt them down. (February 28, 2002)
 
Introducing OpenMP
Explains OpenMP, an emerging standard model for parallel programming in a shared memory environment. Of particular interest to programmers who are new to OpenMP and parallel programming in Fortran, C, or C++. (November 8, 2002)
 
The Lightweight Process Pool: Maintaining a Pool of Execution Resources for Unbound User Threads
Jim Mauro examines the mechanics of the LWP resource pool reserved for unbound user threads. (January 1, 2001)
 
SMP-Based, Multi-Threaded Server Architecture for Softswitch/Call Processing Domain
Introduces a high-performance server architecture that can deliver high throughput by minimizing wait latencies in processing. (January 1, 2001)
 
Thread Pools Using Solaris 8 Asynchronous I/O
This paper addresses the issue of enhancing server performance by leveraging the concepts of thread pools and asynchronous I/O. (November 2000)
 
Standard Library, STL, and Thread-safety
Introduces thread-safety issues when the standard library is used in a multithreaded mode, and describes an alternative locking technique. (April 1, 2000)
 
The Solaris Process Model: The System Clock Handler
Examines the Solaris clock interrupt handler, specifically how to manage thread execution and wait times. (January 1, 2000)
 
 

Related Links