I got chastised for not blogging often enough! I’ll try to do more in the coming month.
For now, Solaris Express 3/2005 is just around the corner (I believe it will come out
tomorrow, 3/29/2005); here’s a rundown on what’s new.
Notable New Features in Solaris “Nevada”, Build 9 (03/2005)
- New “Never Print Banner” option in the Solaris Print Manager.
- MPxIO (Solaris’s Multipath I/O feature) compatibility problems with
IBM FAStT900 and FAStT600 arrays have been corrected.
- A significant bug, 5042195 “Only part of disk is usable by fdisk or
format on Solaris X86” has been fixed.
- CD-ROM/DVD DMA is now always enabled; this had in the past caused
problems with some CDROM and DVD drives. However, the performance
benefit is significant. CD/DVD DMA can still be switched off via the
configuration assistant. This is also known to cause problems
with encrypted DVDs; to fix, disable DMA; this should be fixed when
snv_11 comes out.
- A new command, embedded_su(1M) allows an application
to prompt for credentials and
execute commands as the super user or another user using su(1M) as
a backend. This makes it easy (easier) to develop non setuid GUIs
which invoke privileged actions. Cool!
- rand_r(3c), rand(3c) and pthread_once(3c) are faster.
malloc(3c) and free(3c) are slightly faster.
- The libc atomic_ops(3c) have been expanded.
See atomic_cas(3c), atomic_bits(3c), atomic_swap(3c)
These are great for writing tricky code which maintains portability across ISAs.
Thanks to Jonathan for pointing out that
I forgot to mention this.
- The kernel gets a suite of handy atomic data manipulation routines,
similar to those provided by atomic_ops(3c) (including all the new
routines highlighted above). See atomic_ops(9F),
atomic_bits(9F), etc. (but note a bug in the man pages: kernel code
must #include <sys/atomic.h>, not <atomic.h>).
- plockstat(1m) and lockstat(1m) pick up some new options. plockstat
gains “-e ” (limit elapsed tracing time), “-n ” (limit
entries printed in output), and “-v” (print a message to indicate
that tracing has started). Both commands acquire a “-x ”
option, which enables further tuning by setting various DTrace
- The Network Layer 7 Cache (NL7C) revises the kernel NCA (Network Cache
and Accelerator) by moving NCA’s HTTP layer and object
cache into the kernel’s socket layer. Previously, NCA provided a
completely separate TCP/IP stack inside the kernel, in order
to provide the highest possible performance for web servers which
were NCA-enabled. With the development of the FireEngine TCP/IP
stack in Solaris 10, this extra TCP/IP stack can now be expunged.
NL7C also further improves upon NCA performance by providing lower
Prefetch for sendfilev(3ext) is also added. Applications
which already use the NCA apis are supported without modification.
NL7C provides a framework for accelerating other L7 protocols in the future.
- dhcpsvc.conf(4) and the dhcpmgr(1M) gui have a new “Owner IP” option.
This allows you to optionally specify which IP address “owns” the
dhcp network records a Solaris DHCP server manages. This is used
by the server to determine which dhcp_network(4) records it is
allowed to allocate. This feature is especially useful in cases where
the DHCP server needs to be moved temporarily to a different system
or address, and also in cases where the server may not have a stable
- TCP and UDP ephemeral port selection is now randomized; this uses a
high quality random number source in the kernel, raising the difficulty
level of forging a valid RST.
- New "poolbind -e" option allows one to easily run a command,
binding that command to the resource pool in question.