|
| Contents 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 LibrariesPerformance 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) 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 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) 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) |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||