[quote name='Liquid 2']An operating system is an interface. You can't just run a program on hardware. You have to run it within the interface, and that's the operating system. The program manipulates the hardware, but it can't do that without a framework to run in, and that's the operating system.[/QUOTE]
you realize, in the grand scheme of things, that's what
every program does? think about it in terms of turing machines. the hardware is the
real universal turing machine, but the OS is a set of instructions (program) that when fed into the original UTM creates another UTM (e.g. something that can receive a set of instructions and create new turing machines) -- you can then write machine code that would cause the operating system to do what it's told, which is a
third UTM -- there are then compilers that interpret higher level languages which act as a
fourth UTM. each of these phases could be viewed as an interface for applying commands, but 2 - 4 are still
programs written by programmers. in those layers, only the hardware is not a program.
but back to my claim "that's what every program does". to use a simple program as an example, XP's built-in calculator, it's a set of instructions written for a UTM (the programming language's compiler, i dunno what they used, probably some C derivative) which was interpreted by another UTM (the OS) which was executed by the original UTM (the hardware). the calculator itself is a turing machine in the way you described, in that it accepts input and modifies it to create predetermined output. you give the calculator code telling it to add 2+2 but that's just the interface, as you'd like to claim, and the hardware is the only step in the totem pole that does anything other than interpret the input. so by your claim that as an interface it's not a program, none of the software involved in adding 2+2 on XP's calculator would be a program...
but just so my post isn't all heresy.. from wiki:
http://en.wikipedia.org/wiki/Computer_program
Functional categories
Computer programs may be categorized along functional lines. These functional categories are system software and application software. System software includes the operating system which couples the computer's hardware with the application software.[12] The purpose of the operating system is to provide an environment in which application software executes in a convenient and efficient manner.[12] In addition to the operating system, system software includes utility programs that help manage and tune the computer. If a computer program is not system software then it is application software. Application software includes middleware, which couples the system software with the user interface. Application software also includes utility programs that help users solve application problems, like the need for sorting.