What's New in Solaris Express 3/05 (Nevada Build 9)
By user12618941 on Mar 28, 2005
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) 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
" (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.
- 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.
- New "poolbind -e" option allows one to easily run a command, binding that command to the resource pool in question.