The Design and Implementation of the FreeBSD OS
n0dez writes "Peter H. Salus has written a review of The Design and Implementation of the FreeBSD Operating System on UnixReview.
"If you need to understand just how a kernel works, you need this book. McKusick and Neville-Neil have done the community a favor, and this book deserves to be a best seller." This book is an update to The Design and Implementation of the 4.4BSD Operating System by Marshall Kirk McKusick."
*BSD really is dying!
I was considering getting the 4.4 version of this book so I'm glad I waited. I've been working through the Tanenbaum OS Book and it's a bit dry. I've been working through the 2.4 Linux Kernel as well. It's amazing the quality that goes into these open source offerings.
I just wish someone would make a linux distro that is more like OS X. It would bring Linux to the desktop faster and give grandma an interface she could easily understand.
a book on the design and implementtation of coffins. Surely this is far more useful.
I installed Mandrake 9.2 on an elderly womans machine and upgraded the KDE with a look and feel that looks just like osx. She was used to win98, so I put some shortcuts on the desktop in the exact way she had them before. The result? not a peep in 8 months, and she is using the machine more than ever. Classic quote: (she's 77..) "I don't know what you did, but everything seems to work better"
One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be an Amazing Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.
FreeBSD is the most endangered of them all, having lost 93% of its core developers. The sudden and unpleasant departures of long time FreeBSD developers Jordan Hubbard and Mike Smith only serve to underscore the point more clearly. There can no longer be any doubt: FreeBSD is dying.
Let's keep to the facts and look at the numbers.
OpenBSD leader Theo states that there are 7000 users of OpenBSD. How many users of NetBSD are there? Let's see. The number of OpenBSD versus NetBSD posts on Usenet is roughly in ratio of 5 to 1. Therefore there are about 7000/5 = 1400 NetBSD users. BSD/OS posts on Usenet are about half of the volume of NetBSD posts. Therefore there are about 700 users of BSD/OS. A recent article put FreeBSD at about 80 percent of the *BSD market. Therefore there are (7000+1400+700)*4 = 36400 FreeBSD users. This is consistent with the number of FreeBSD Usenet posts.
Due to the troubles of Walnut Creek, abysmal sales and so on, FreeBSD went out of business and was taken over by BSDI who sell another troubled OS. Now BSDI is also dead, its corpse turned over to yet another charnel house.
All major surveys show that *BSD has steadily declined in market share. *BSD is very sick and its long term survival prospects are very dim. If *BSD is to survive at all it will be among OS dilettante dabblers. *BSD continues to decay. Nothing short of a miracle could save it at this point in time. For all practical purposes, *BSD is dead.
Fact: *BSD is dying
Is this book mainly code, or is it mainly theory? I'd like to get a book that explains the guts, but I really don't want to spend days looking at page after page of code on paper.
However, no amount of hinting got me this as a birthday present.
However, my gf *did* get me a mess of other cool stuff- a new GeForce video card, a pile of video games for PC and PS2 (she's always telling me that i need to play more games....), some Lego...
No worries though.. I'm sure to pick this up myself anyways.
do() || do_not();
"I'm looking at running a modified linux kernel on x86, x86-64, PPC & Itanium"
Assuming your goal is to create a pretty desktop OS like OS X, why would you run it on Itanium? Itanium is designed specifically as a "RISC killer" for high-end RISC/UNIX shops (and it's failing miserably, I might add). To my understanding, OS X Server isn't even the same code-base as normal OS X. Supposedly it's more NeXTish. The point is that Apple's servers don't really run the same OS that their desktops and laptops do.
It always strikes me as funny when Linux people whine about the lack of a Linux distribution that works like OS X. Hmmm, maybe that's because Apple pays developers market wage to create their interface, rather than relying on community contributions by random, unaccountable people? Also, it seems that the Enlightenment WM is really supposed to mimmic OS X, so perhaps the lament should be "I wish there was a WM..." rather than "I wish there was a distro...". Besides, if you recognize that OS X is so much better, why don't you just buy a system with OS X? Do you not believe in paying for quality, or should everything just be handed to you on a silver platter?
Then again, that's the problem with the Linux community. Instead of contributing towards a common project and common goals, everyone goes off and totally duplicates the effort of everyone else. You end up with dozens of WMs, dozens of text editors, dozens of e-mail clients, a dozen web browsers, hundreds of OSs (that's what a distro is, after all) and not ONE of them approaches the quality of a commercial OS.
If free software is ever going to approach the quality of commercial software, people have to stop this assinine "I'll start my own ___" mentality and learn to work in productive teams. The Apache web server and OpenSSL should be examples of how to do things. There aren't 10 different common SSL implementations in Open Source.
Getting slightly back on topic, BSD should serve as a good example for how to do OSS right. Have large groups of developers working on an integrated project, i.e. a whole OS. Pick one default for everything, and don't duplicate effort all over the place. There are only really four free BSDs (Dragonfly, Free, Net, Open) and they share code heavily. The default installations have one sane selection for each task, and you can add more from ports if you really, really feel like it. Development is a lot more cohesive and as a result, the BSD releases tend to work a lot more reliably. Imagine that!
Someone is WRONG on the Internet!
The statistics sample from 2001 over a year was a cheap attempt to minimize Matt's contribution to the project. The reason why he has been mostly silent is probably one of the most prominent signs of his superior maturity. The fact that the official defense (mostly fronted by Greg, atm) he wasn't such a substantial committer is crap, for the most part. If one wanted to go by the stats, Jeff Robertson (sorry if I munged the spelling) would be one of the key committers, and his UMA system isn't even entirely ripe yet, it's just been committed within the sample timeframe. That suddenly phk is at the top of the list, is simple a result of his newest attempt to add another large chunk of bit rot to the project that he can later claim not to have time to maintain "unless someone is willing to pay for my time" (like the atm bits, the half-finished devd monster, et.al.) One can hardly get him to look at his malloc bits, that put his name in lights at some point in the long past.
Matt didn't contribute because he was convinced that that the smp development direction that was chosen (my impression at least from the archives and my fading memory) was overly complex, too complex for the number and talent level of the contributers involved, and that it would delay a release from the -current branch significantly. So he was right. I'll almost bet that that was a constant sore for John, who still hasn't gotten his long-promised, but little delivered re-entrant work done, but he always had time enough to object to any other commits that might help along the way. Strangely Julian and Matt could work together. One might attribute certain commits to both Matt and Julian (if that would matter anyway, since -core is interested in proving the opposite statistically).
If the issue here had anything to do with IPFW, then you all better get out your C-coder hats and take a little more time to fix that rotting pile of muck that has been the standard broken packet filter interface for FreeBSD long past its possible usefulness. A packet filter with no central maintainer which is subject to once yearly random feature bloat through some wild university project from Luigi. The brokenness that Luigi introduced (and the repository bloat through backing out and recommitting, ad absurdum) was probably no less a threat to security than anything Matt did. If the security officer was to be blatantly honest with himself, ipfw would be marked broken for either a full audit or full removal (just port obsd's pf or something that someone actually actively _cares_ about).
You've alienated Jordan, Mike, Bill Paul (for all I can see), Greenman, you constantly rag on Terry, even though he's seen and done more with FreeBSD than most of you, O'Brien is on the verge of quitting (since he, like I, am not convinced that GEOM is anything more than an ego trip that will never be completely maintained or usefully documented). There are certainly others, too, that have attempted to make technically correct contributions, but didn't fit into the sort of paranoid "glee club" that core would like to have around them. You guys lack the talent to steer the positive from Matt into the project and let the crap fall by the wayside. I'm not saying Matt's rants are the most intelligent thing he's done, but he's sat by the wayside and watch the superstars beat up the code to a point where it's less stable, slower, and more bloated than it ever was. I, for one, can understand his frustration (as I can with Mike's, Jordan's, and a few others), altho
I saw it in a "complete family tree of UNIX", which I'm furiously trying to locate. I also found http://www.macintouch.com/mxs.html which near the very top is talking about how the interface is heavily NeXT and not like traditional Mac OS, granted it's quite old information, but that tends to confirm what I gathered informally from other sources.
Note that both OS X and OS X server are heavily based on BSD, but it seems (again, from informal observation) that the consumer version is much more FreeBSDish and the server version is much more Machish.
I'll try to find some better info when I get home.
Someone is WRONG on the Internet!
The Itanium 2 is a success and ran by many academic institutions to handle their beafy simulations. It is the work of the slashdot AMD zealots that have skewed your views on the brand. Oh and when you consider the market for these processors they are doing extremely well considering they don't expect the volumes to be in the 10 millions like desktop chips.
To my understanding, OS X Server isn't even the same code-base as normal OS X. Supposedly it's more NeXTish.
.edu) and Unlimited-client for $1000 ($500 .edu). Client restrictions only affect simulataneous Mac and Win file sharing, so many shops just use the 10-client version.
OS X Server 1.0 came out over a year before the OS X Client. At the time of Server's original release it was basiclly a Mac-flavored version of NeXT OPENSTEP. Apple's client OS at the time was still classic Mac OS 9 (or was it 8.6?).
When Apple released Mac OS X 10.0, with the Aqua GUI and all of its refined NeXTisms, they replaced the original OS X Server with one based on 10.0. This trend has continued today with 10.3 and soon, 10.4.
The only differences between Server and Client today are the inclusion of more open source daemons and apps, optimized configurations, and some (really snazzy) closed source management tools. Remote admin can be done via a remote shell (BSD derrived), web interface, or from another Mac using the management apps. Server comes in two flavors: 10-client for $500 ($250
http://www.apple.com/server/macosx/
If you have an older Mac that doesn't support Mac OS X, or if you have an x86 PC (or if you have a semi-modern Mac but don't want to pay for an upgrade to 10.3 Client or Server), you can install Darwin, the open-source core of Mac OS X. It's basiclly Apple's NeXTish BSD distribution, but based on the Mach kernel and using NetInfo to manage configuration. You won't get the Aqua GUI (but you can use straight X11) nor the GUI admin tools, but everything else will be about the same.
Perhaps the coolest thing about Darwin is the fact it's opensource -- driver and utility coders love this, there aren't too many secrets when the core OS has open code.
So falling $13B short of expected sales and shipping less than 6,000 units in Q2 is considered a success? The only vendor to ship over 300 units was HP. Compare that to say, Apple who shipped 13,000 Xserves, which arguably are the biggest competitor to Itanic in the clustering market for universities and super-computer centers. If we look at the Opteron, that shipped 60,000 (of course it's usually not a direct one to one vs. Itanic, but you get the idea).
For over a decade of R&D and combine billions from Intel and HP, that has to be a major failure. Just the fact that they're adding 64bit extensions to Xeon shows you that Itanium is failing to gain the server market share that they planned on and now they have to plug the holes by beefing up their low-end server gear.
Now comes news from IDF that HP is adding more Opteron kits to it's lineup with 4 way boxes and blades. Hmmm, that doesn't sound like a company that has faith in Itanium to me, and they were the second largest investor!
There is of course the old saying "no one ever got fired for buying IBM", but I wonder if in a few years there won't be a rash of firings for "buying Intel" when Itanics platform support is still lagging terribly behind other architectures.
Someone is WRONG on the Internet!
You are surprised and killed by a Manticore! It quickly shreds your flesh and devours you.
Once I had a cat who had feline leukemia, and we tried to keep him alive, with numerous trips to the vet. But, in the end, the disease just overwhelmed him. He had such a hard time. If I had another cat with the same diagnosis, then I would just have it put away immediately. Not being dismissive, but just realistic.
You are a very kind to have nursed FreeBSD along and looked after it. At least this pathetic OS is being looked after. It is not out there frantically searching for a "home". No, it's found its final resting place.
If FreeBSD does have to be euthanized, this is not a cruel act - it will pass away immediately without suffering.
so, where's the edonkey/bittorrent/... link to a pdf version?
cheap labor conservatives - they want to keep you hungry enough to be thankful for minimum wage.
Here's a sample chapter about process management.
cpghost at Cordula's Web.
When the book came out in Germany, I got my pre-ordered copy. It's a great book, not for its choice of OS, but for its writing style.
;)
I have no problem with FreeBSD, or anti-BSD bias, I'm just trying to say that this is surely the best-written book about a recent operating system kernel available, and I'm enjoying reading it.
It certainly beats "Understanding the Linux kernel", again not for its choice of OS, but for its style. It explains more, and doesn't hassle you with platform dependent assembler code. After all, most of the OSs are written C, why bother in an "introductory" book?
Given how much fun I have reading this book, I'm not pleased with this quick, incomplete review I cannot make anything of. Do I learn anything about the book? I guess not. There are great reviews out there, like for "Embedding Linux", where you get a detailed list of things the reviewer notes about the book, and where he found issues with it, and what he liked. Man, this is for sure shorter than the Amazon sales pitch, and sadly enough, not very relevant as well. Sampling a few facts from a book is not a review!
Oh, buy this book! It's worth every penny! Since I'm not a reviewer I do not bother adding any evidence to this statement, as this are only my 2 cents.