Solaris Express Developer Edition What's New
Previous Next

New Features in Solaris Express 12/06

This section describes all features that are new or have been enhanced in the Solaris Express 12/06 release.

Session Initiation Protocol Library (libsip)

This networking enhancement is new in the Solaris Express 12/06 release.

Session Initiation Protocol (SIP) is an application layer protocol that can be used to initiate, modify, and terminate multimedia sessions such as Voice-over-IP (VoIP) and Instant Messaging (IM).

SIP library in Solaris provides a SIP stack, that conforms to RFC 3261, and a set of API to write SIP applications. Primary users of this library include developers who write SIP applications such as soft phones, proxy servers, redirect servers, etc.

The library supports all SIP headers in RFCs 3261, 3262, 3265, 3323, and 3325.

For more information about SIP, see the sip(7P) man page.

ZFS Command History (zpool history)

This system administration tools enhancement is new in the Solaris Express 12/06 release.

ZFS automatically logs successful zfs and zpool commands that modify pool state information. For example:

# zpool history
History for 'newpool':
2006-10-23.08:58:22 zpool create -f newpool c1t2d0
2006-10-23.08:59:02 zpool replace -f newpool c1t2d0 c1t3d0
2006-10-23.08:59:54 zpool attach -f newpool c1t3d0 c1t4d0

This feature enables you or Sun support personnel to identify the exact set of ZFS commands that was executed to troubleshoot an error scenario.

The features of the history log are as follows:

  • The log cannot be disabled.

  • The log is saved persistently on disk, which means the log is saved across system reboots.

  • The log is implemented as a ring buffer. The minimum size is 128 Kbytes. The maximum size is 32 Mbytes.

  • For smaller pools, the maximum size is capped at 1% of the pool size, where size is determined at pool creation time.

  • The log does not require any administration. This means that you do not need to tune the size of the log or change the location of the log.

Currently, the zpool history command does not record user-ID, hostname, or zone-name.

For more information about troubleshooting ZFS problems, see ZFS Administration Guide.

Changes and Improvements to Removable Media Management

This device management enhancement is new in the Solaris Express 12/06 release.

Starting with this release, better services and methods that provide removable media management have replaced previous features for managing removable media.

The following new features are available:

  • New removable media services are enabled and disabled by using SMF.

    online         12:17:54 svc:/system/hal:default
    online         12:17:56 svc:/system/filesystem/rmvolmgr:default
    online         12:17:26 svc:/system/dbus:default
  • Removable media is now mounted automatically in the /media directory. However, symbolic links to /media are provided from previous media mount points, /cdrom and /rmdisk, for compatibility purposes.

    For example, a compact flash memory card (/dev/dsk/c4d0p0:1) is mounted as follows:

    $ ls /media/NIKON

    For example, a USB memory stick (/dev/dsk/c3t0d0s0) is mounted as follows:

    $ ls /media/U3

    For example, a diskette (/dev/diskette0) is mounted as follows:

    $ ls /media/floppy
  • The default removable media volume manager, rmvolmgr, is responsible for following activities:

    • Mounting and unmounting volumes.

    • The root instance of rmvolmgr starts at system boot. However, you can configure your session's configuration files to start an instance of rmvolmgr when you log in. When run within a user session, rmvolmgr only mounts devices owned by the current user or session and does not conflict with the root instance.

    • When rmvolmgr exits, it unmounts all media that it mounted.

    • For compatibility purposes, rmvolmgr creates symbolic links under the /cdrom, /floppy, /rmdisk directories to the actual mount points under /media.

    • A special rmvolmgr run mode is available for CDE compatibility.

  • The hardware abstraction layer (HAL) daemon, hald, provides a view of the device attached to a system. This view is updated automatically as hardware configuration changes, by hot-plugging or other mechanisms.

    HAL represents a piece of hardware as a device object. A device object is identified by a unique device identifier (UDI) and carries a set of key-value pairs referred to as device properties. Some properties are derived from the actual hardware, some are merged from device information files (.fdi files) and some are related to the actual device configuration.

The following features are removed:

  • The vold daemon, the volfs file system, and the volfs service have been removed.

    svc:/system/filesystem/volfs
  • Logical device names for removable media under the /vol directory, such as /vol/dev/rdsk/... or /vol/dev/aliases/..., are no longer provided.

    To access removable media by its logical device name, the /dev device should be used. For example:

    /dev/rdsk/c0t6d0s2
  • Some vold device nicknames are no longer available. The following eject -l output identifies the available device nicknames for each device and in the example, the mounted media pathnames (/media/SOL_11_X86_4):

    $ eject -l
    /dev/dsk/c2t0d0s2    cdrom,cdrom0,cd,cd0,sr,sr0,SOL_11_X86_4,/media/SOL_11_X86_4
    /dev/diskette        floppy,floppy0,fd,fd0,diskette,diskette0,rdiskette,rdiskette0

    The comma-separated list shows the nicknames that can be used to eject each device.

  • Customizations that were made in vold.conf and rmmount.conf are no longer available because these configuration files no longer exist. For information about managing media customizations, see Customizing Removable Media Management.

  • Commands that begin with vol* commands except for volcheck and volrmmount.

Backward Compatibility

The following features provide backward compatibility with previous Solaris removable media features:

  • Removable media mount points have moved to the /media directory, which is used to mount removable media, such as CD-ROMs and USB devices. Symbolic links to /media from previous media mounts points, such as /cdrom and /rmdisk, are provided for compatibility purposes.

  • The rmformat command is still available. The output of this command is identical to what it looks in previous Solaris releases with vold disabled.

    For example:

    # rmformat
    Looking for devices...
         1. Logical Node: /dev/rdsk/c0t6d0s2
            Physical Node: /pci@1f,4000/scsi@3/sd@6,0
            Connected Device: TOSHIBA  DVD-ROM SD-M1401 1009
            Device Type: DVD Reader
            Bus: SCSI
            Size: 2.9 GB
            Label: <None>
            Access permissions: <Unknown>
  • The eject command is available but has been enhanced. For more information, see Ejecting Removable Media.

Mounting and Unmounting Removable Media

Most commands that begin with vol* are removed in this release. A modified version of rmmount and a new rmumount command are available to mount and unmount removable media.

These commands can be used to mount by device name, label, or mount point. For example, to mount an iPod:

% rmmount ipod

For example, to unmount the file systems on a DVD:

# rmumount cdrom
cdrom /dev/dsk/c0t6d0s5 unmounted
cdrom /dev/dsk/c0t6d0s0 unmounted

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

Mounting and Unmounting Diskettes

You can use the existing volcheck command to manually poll diskettes and mount them if a new diskette is detected.

If you manually reformat diskette after it is connected to the system, HAL is not automatically notified. Continue to use the volcheck command to notify the system and attempt to automount a new file system on a diskette.

Ejecting Removable Media

As in previous Solaris releases, use the eject command to unmount and eject removable media. However, the following eject options are available:

-f

Forces the device to eject even if the device is busy.

-l

Displays paths and nicknames of devices that can be ejected.

-t

A CD-ROM tray close command is provided to the device. Not all devices support this option.

For example, to eject by its volume label:

% eject mypictures

As in previous Solaris releases, you might need to issue the volcheck command before using the eject command to eject a diskette.

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

Customizing Removable Media Management

For most customizations that were available in the vold.conf and rmmount.conf files, you will need to either use Desktop Volume manager preferences or modify the .fdi files.

  • For rmmount.conf actions, you will need to use either Desktop Volume Manager actions, gconf, or HAL callouts.

  • Previously, rmmount.conf actions could be run as root on behalf of ordinary users. Now, this is done by installing callout executables in the /usr/lib/hal directory.

Disabling Removable Media Features

You can disable some or all removable media features in this release:

  • To prevent volumes from mounting outside of user sessions, disable the rmvolmgr service. For example:

    # svcadm disable rmvolmgr
  • To prevent any volume management, disable the dbus, hal, and rmvolmgr services.

    # svcadm disable rmvolmgr
    # svcadm disable dbus
    # svcadm disable hal

    Disabling these services means that you would have to mount all media manually by using the mount command.

SPARC: Process Count Scalability

This system resources enhancement is new in the Solaris Express 12/06 release.

The process count scalability feature improves the process count scalability of the Solaris OS. Currently, all UltraSPARC systems support a maximum of 8192 contexts. When the number of processes exceeds 8192, then the kernel steals contexts to keep the processes running. Stealing a context from a process involves the following tasks:

  • Cross-calling all CPUs that the process ran on

  • Invalidating the context for CPUs that are running threads of the process

  • Flushing the context from the TLBs of all CPUs that are running threads of the process

This procedure is very expensive and gets worse as the number of processes rise beyond 8K. The process count scalability feature completely redesigns context management. The contexts are managed on a per-MMU basis rather than a global basis which enables efficient TLB flushing and greatly improves the scalability of context management.

The process count scalability feature also improves throughput on workloads that consist of more than 8K active processes, or create and destroy processes at a high rate, and is most beneficial on systems with many CPUs.

Packet Filter Hooks

This networking enhancement is new in the Solaris Express 12/06 release.

The packet filter hooks feature includes the following significant functionalities:

  • Improved performance in comparison with the STREAMS module approach

  • Capability to intercept packets between zones

The packet filter hooks feature is part of a new API that is internal to the kernel. Developers can use the API to work with IP inside the kernel or to intercept packets.

x86: Fault Management For Next Generation AMD Opteron Processors

The fault management feature introduces error-handling and fault-management support for CPUs and memory in systems that use AMD (TM) Opteron and Athlon 64 Rev F processors. These processors are used in the “M2” products from Sun such as the Sun Fire X2200 M2 and Ultra 20 M2. Previous Solaris releases provided fault management support for Opteron and Athlon 64 revisions B through E.

Fault management support is enabled by default. The fault management service detects correctable CPU and memory errors, the resulting telemetry is analyzed by diagnosis engines, and errors and faults are corrected whenever possible. When errors cannot be corrected by the system, the extended telemetry provides greater assistance to the system administrator.

For more information see http://www.opensolaris.org/os/community/fm/.

Name service switch enhancements

This release contains upward compatible changes to the name service switch (nss) and to the Name Switch Cache Daemon - nscd(1M)- in order to deliver new functionality including the following:

  • Better caching in nscd(1M) and management of connections within the updated framework.

  • Name service lookups that are access controlled at the naming service on a per-user basis. The updated switch framework adds support for this style of lookups using SASL/GSS/Kerberos in a manner that is compatible with the authentication model used in Microsoft Active Directory.

  • A framework for the future addition of putXbyY interfaces.

Previous Next