If a kernel is to provide facilities for building an operating system and we wish to know what these facilities should be, then it is relevant to ask what an operating system is or does. Two views are commonly held: (1) an operating system defines an ``abstract machine'' by providing facilities, or resources, which are more convenient than those provided by the ``bare'' hardware; and (2) an operating system allocates (hardware) resources in such a way as to most effectively utilize them. Of course these views are, respectively, the bird's-eye and the worm's eye views of what is a single entity with multiple goals. Nevertheless, the important observation for our purposes is the emphasis, placed in both views, on the central role of resources -- both physical and abstract.