This is a very good explanation. However, I think it would have been helpful if the author had provided some comparisons with how other operating systems do these sorts of things, and why its designers made their particular choices for Unix. Or maybe that could be another article he could link to.