The cost/benefit tradeoff goes something like this:
With an OS you pay a big price in effort (and possibly fees) to get the framework up, then each job that needs to be done can be put in a task with a relatively small effort -- AND -- you don't have to worry nearly as much about interaction (until you use up that last clock cycle and your world falls apart).
With no OS you pay a small price in effort to get the framework (if any) up, then each job that needs to be done has to be referenced in the main body of code for a medium amount of effort, with lots of interaction between parts (but the interaction is easy to see).
So if you're doing a small application you shouldn't use an OS unless it somehow comes for free (i.e. you've got a nearly identical board to one that has a running OS on it, and you don't have to pay fees). If you're doing a really large application then you should use an OS practically no matter what (i.e. anything that's not life critical like a jetliner fly-by-wire system).
--
Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.