Recently, on comp.object, there's been a pretty interesting conversation on operating systems written in object-oriented languages. (The previous sentence should give you all the clues you need as to how happenin' of a dude I am.) Several examples were named: the AS400 OS, Jaluna, and Alan Kay's Dynabook OS. While there are examples, you'll notice that none of these are prominent; I can't imagine that any of them has more than .01% of the total OS market. I think the question then is not why aren't there operating systems written using OO technology, but why aren't they more widely used? I came up with three reasons.
First, abstraction wouldn't work with an OS. When you're writing an OS (which I've never done), you're writing at a very low, hardware oriented level. At that level, an abstraction like an object probably wouldn't be helpful; if you're writing a driver, it's easy to just interface with the device directly than it is to inherit from some monolithic driver class, override its virtual methods, and then implement the object. Also, I think if the abstraction were helpful, it'd be too slow for the user, due to the necessary overhead of creating and manipulating objects.
Second, almost all successful OSes (those with more than 1% of the market) are based on old code bases: either Unix (30+ years old)or Windows (~20). In both cases, object oriented design wasn't around when development initiated and hasn't been included in any of the refinements since, due to how large of a change it'd be. So, to write an object oriented OS, you'd either have to refactor one of these enormous code bases to support objects (yowch) or start from scratch (double yowch).
Third, no one has given Linus Torvalds a copy of Visio yet. Ha ha ha, I kill me.