What's New in the Solaris 8 Operating Environment

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.

64-bit SPARC: 64-bit KCMS Libraries

Kodak Color Management System (KCMS) is now providing a 64-bit version of the libraries. Applications that currently use KCMS and are converted to the 64-bit operating environment can now retain color management.

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

Always Ready Power Management

The Solaris 8 operating environment provides a new automatic device Power Management framework. A device driver using the new interfaces will be automatically power managed on the appropriate platforms. Unlike previous releases, the /etc/power.conf file no longer needs to be manually updated to start power management of the device.

For more information, see Writing Device Drivers.

The cpustat and cputrack Commands

System administrators can use the new cpustat and cputrack commands to monitor the performance of a system or a process.

The cpustat command gathers system-wide CPU information. This command must be run by the superuser. The cputrack command is similar to the truss command for displaying information about an application or a process. This command can be run by regular users.

Developers can create their own versions of these monitoring tools by using the same library APIs that were used to build the cpustat command.

See cpustat(1M) and cputrack(1) for more information.

Extensions to Runtime Link Auditing

Additional means of invoking runtime link auditing libraries is provided by the link editor options -p and -P. Additional runtime link auditing interfaces la_activity() and la_objsearch() have been added.

For more information, see the Linker and Libraries Guide.

Perl 5

Practical Extraction and Report Language (Perl) 5.005_03, a powerful general purpose programming language, generally available as free software, is included in this Solaris release.

Perl has emerged as the standard development tool for complex system administration tasks, such as graphic, network, and web programming because of its excellent process, file, and text manipulation features.

Perl 5 includes a dynamically loadable module framework, which allows the addition of new functionality for specific tasks. Many modules are freely available from the Comprehensive Perl Archive Network (CPAN), at http://www.cpan.org.

Some of the core modules included with this Solaris Perl installation are CGI, NDBM_File, and Getopt. These modules reside in the /usr/perl5/5.00503 directory. The site_perl directory is initially empty and is intended to store your locally installed Perl 5 modules.

To access the Perl5 man pages, add /usr/perl5/man to your MANPATH environment variable. See the man page, perl(1), for general Perl information.

Role-Based Access Control for Developers

The addition of role-based access control (RBAC) to the Solaris operating environment gives developers the opportunity to deliver fine-grained security in new and modified applications. RBAC is an alternative to the all-or-nothing security model of traditional superuser-based systems. With RBAC, an administrator can assign privileged functions to specific user accounts (or special accounts called roles). Developers can now create privileged functions that check for authorizations instead of checking for specific IDs such as superuser.

For more information, see the System Administration Guide, Volume 2 and the man page rbac(5).

strftime() Function Update

The %u conversion specification for the strftime() function represents a weekday as a decimal number [1,7], with 1 now representing Monday (rather than Sunday, as was the case in the Solaris 7 operating environment). This new behavior conforms to the X/Open CAE Specification, System Interfaces and Headers.

For more information, see the International Language Environments Guide.

Secure Path Name Change From /usr/lib to /usr/lib/secure

The secure directory from which files can be preloaded is now /usr/lib/secure for 32-bit objects and /usr/lib/secure/sparcv9 for 64-bit SPARCV9 objects.

For more information, see the Linker and Libraries Guide.

Dynamic String Token Support

Greater flexibility in establishing instruction set specific, and system specific dependencies is provided with the new $ISALIST, $OSNAME and $OSREL dynamic string tokens.

For more information, see the Linker and Libraries Guide.

Alternate One-level Libthread

The standard Solaris threads implementation is a two-level model, in which user-level threads are multiplexed over possibly fewer lightweight processes, (LWPs). An LWP is the fundamental unit of execution that is dispatched to a processor by the operating system.

Solaris 8 software provides an alternate threads implementation, a one-level model, in which user-level threads are associated one-to-one with LWPs. This implementation is simpler than the standard implementation and may be beneficial to some multithreaded applications. It provides the same interfaces for POSIX threads and Solaris threads as for the standard implementation.

Existing multihreaded programs can be bound with the alternate libthread at run time using the LD_LIBRARY_PATH and LD_LIBRARY_PATH_64environment variable.

See the threads(3THR) man page for details of usage.

Updated DDI Interfaces for Cluster-aware Device Drivers

An overview introduces the concept of device classes and the necessary interface modifications and additions for device driver writers. The overview is found in Writing Device Drivers.

This feature was first available in the Solaris 7 3/99 release.

8-bit Visual Support

The 8-bit visual shared library provides a set of translation functions, enabling 8-bit visual applications to run on hardware that only provides support for 24-bit visual depth. The functions use the device driver's native 24-bit rendering function calls for applications requesting 8-bit visual support. This is done by translating 8-bit pseudocolor colormap pixel data into 24-bit truecolor colormap pixel data before rendering an image on the 24-bit hardware visual supported platform.

This feature was first available in the Solaris 7 8/99 release.