I would tackle this question by outlining exaclty what the source of the problem is. This requires you to get some techincal jargon out of the way first. If the programs do not like the operating system they will not run. Now put that in the back of your mind for a moment and consider what people require.
People essentially require the computer output generated by programs.
A persons demand for an operating system is only derived via a persons demand for the program. Kenny wants to send a letter to his boss. Kenny needs a word processor but to run a word processor he needs an operating system. This is known as derived demand. Microsoft has successfully created this situation.