What is the correct way to specify the operating system you are targeting or using?
Is a program running on or under an operating system (OS)?
Is a machine running an OS or under an OS?
English Language & Usage Stack Exchange is a question and answer site for linguists, etymologists, and serious English language enthusiasts. It only takes a minute to sign up.Sign up to join this community
Machines run operating system software; or run operating systems. My laptop here runs Windows 7.
At least in British English, software can run on or under the OS.
My program "foo" runs under Windows 7 but fails completely under Windows 8.
I still have to test it on Windows Phone 7.
The first sentence might use under because it could be under conditions which include Windows 7, but using under here is normal usage [at least in Britain].
The second sentence could be taken to mean on a machine running Windows Phone 7, but since reference to the machine is understood, "on an OS" is fine.
A machine is running a certain operating system.
A program is running on a certain operating system.
References and examples:
From the Wikipedia article "Computer compatibility":
Software compatibility can also refer to ability for the software to run on a particular operating system.
From the article about Linux:
Cell phones and PDAs running Linux on open-source platforms became more common from 2007.
And thus, depending on who your audience is, you can say:
*the bracketed part is optional, but not necessary
It actually just means what on and under mean. The software program either runs under the OS at a lower-level or on the OS at a higher-level.
For example; Microsoft Office runs on Windows 7, because it is a high-level software program that requires the services of the OS to function. Where as, the device drivers for a video graphics card run under the OS, since the driver provides functionality to the OS at a lower-level.
When you say software is running under an OS it implies that software is connecting to services under the top layer used by the user. Where as, when you say software is running on an OS it implies the software is executing above the top-layer.
I don't think on or under really make much difference anymore, since operating systems today are so automated, plug-in play and consumer friendly. People no longer need to manage device drivers or services manually. So the differences have been lost over time.