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)
Desktop
- New “Never Print Banner” option in the Solaris Print Manager.
Hardware support
- 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.
Security
- 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!
Performance
- rand_r(3c), rand(3c) and pthread_once(3c) are faster.
malloc(3c) and free(3c) are slightly faster.
Developer Support
- The libc atomic_ops(3c) have been expanded.
See atomic_cas(3c), atomic_bits(3c), atomic_swap(3c)
and membar_ops(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
tunables.
Networking
- 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
first-byte latency.
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
IP address. - 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.
Other
- New "poolbind -e" option allows one to easily run a command,
binding that command to the resource pool in question.