My favorite is to use the GUI to display lots of command lines! Yeah, we had the old Fkey multi-console thing, and as far as I know, it still works, but I never use it.
Yes, both have their place. If you ever get the chance, go and run the IRIX Indigo Magic Interactive Desktop. SGI absolutely nailed the mixed GUI / command line model in the 90's, largely perfecting it in IRIX 6.5. Those guys got this discussion, and implemented it very nicely all around.
Re: DOS command shell. Yeah, it's crappy. I don't know it was deliberate, just crappy.
I guess I dont see a need for DOS/Linux or a OS for a microcontroller.
You may be right that there is not a need for an OS on a microcontroller, but it's fun try to write one anyhow. Some aspects of an OS may be useful for microcontrollers, such as the ability to load programs from a file system. This might be good for an application that has to do different things at different times, and all the functions can't be crammed into 32KB of RAM. Or there might be cases where the software on a microcontroller need to be modified, and it cannot be connected to a development system. It's useful to have software utilities onboard that can may the microcontroller a stand-alone development system.
Yes I understand the fun of doing it and I have played with Spinix but never used it more then to play. I know for a fact windows has dumbed me down from the old DOS or CP/M days.
I had a big long post, but I'll boil to down to: some people deeply resent the way certain operating systems force them to do things. Even if the point of an OS is to force every program and user on the system to interact in certain ways.
Comments
Yes, both have their place. If you ever get the chance, go and run the IRIX Indigo Magic Interactive Desktop. SGI absolutely nailed the mixed GUI / command line model in the 90's, largely perfecting it in IRIX 6.5. Those guys got this discussion, and implemented it very nicely all around.
Re: DOS command shell. Yeah, it's crappy. I don't know it was deliberate, just crappy.
Now we can buy SoCs for that are very small, very cheap, and quite capable of running operating systems.
That might be very useful if you want a file system or networking and so on.
With multiple cores you can also do that real-time stuff on one core whilst doing the "big code " stuff on another.