[Solaris] Review: Solaris Internals, 2d ed.
People Will Love It Because It's Here
Aug 30, 2006
Solaris Internals, 2d ed., is the result of a huge effort. The previous edition covered Solaris 2.5 to 2.7 and was released about the time Solaris 2.8 (now just '8') was first available. The guide therefore has obvious limits but remains very useful. For people outside of Sun, it is the only comprehensive look at Solaris 2.5-7 internals. Keep your copy if you are still supporting those versions.

Solaris 10 brings in a truckload of major changes. Solaris 9 brought in many as well, over a series of eight updates, and there are important achievements introduced with Solaris 8. Solaris 10, however, introduces Zones, Dtrace, Fault Management, the Services Management Facility (SMF), Process Rights, profound, ongoing changes in networking...it's an impressive list, degraded only by the fact that ZFS wasn't ready in time. Writing one book to cover all that is a monumental task.

To manage it, the primary authors relied on a community of contributors, who are introduced in the front matter and credited in the chapters they wrote or drafted. Since Solaris source code is now available on OpenSolaris.org, and these contributors often blog on their subject areas, the book has a living, online supplement.

But reading the book can therefore be an uneven experience. Naturally, each author addresses his subject according to his own thinking and to how the problems in his domain are usually discussed. The writing is also influenced by how the engineer thinks he should present his subject: high-level/whitepaper, nitty gritty, focus on the user interface, "just show 'em the code," etc. With 30+ contributors or so, there not going to be a common style.

The material on zones, for example, is mostly sys admin stuff. The discussion on Mulitple-Page Size Support (MPSS) is mostly a Sun BluePrint article Richard McDougall wrote a couple years ago. Casper Dik's section on Process Rights focusses heavily on set logic -- not a quick read unless you enjoy set operations. The section on virtual memory is a solid and useful block of internals information. It is well-described and covered in proportion to the importance of each aspect.

I don't get Appendix B, which is a thin how-to on adding a custom system call. Why would you do this? Also, none of the command-line illustrations, code greps, or anything that's in a grey box is numbered or captioned. You can't find one of them from an index. That's irritating enough to mention here. There was also some hint we'd see Dtrace used to illustrate observability of the internals; this coverage is very light and not used in a way that suggests Dtrace's real power.

I imagine the engineer's blogs will make up these differences over time, so these aren't much but nags. If you need to understand how Solaris works, there is no substitute for this book. It's good and I'm happy to have it.




Add a comment

Title
Body
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
Math Quiz 9 + 3 = (Helps stop blog spam)
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://radio.javaranch.com/michael/addTrackBack.action?entry=1156959858119