Operating systems are currently viewed ostensively. As a result they mean different things to different people. The ostensive character makes it is hard to understand OSes formally. An intensional view can enable better formal work, and also offer constructive support for some important problems, e.g. OS architecture. This paper argues for an intensional view of operating systems. It proposes to overcome the current ostensive view by defining an OS based on formal models of computation, and also introduces some principles. Together these are used to develop a framework of algorithms of single processor OS structure using an approach similar to function level programming.