??? 02/21/05 14:32 Read: times |
#88063 - m,y opinion Responding to: ???'s previous message |
Eric, since I don't know a lot about them, I would be very interested in hearing more about your and others opinions on RTOS's (or Un-s as you call them) and Mutli-tasking operating systems (which nobody seems to call anything these days).
In many cases outside the '51 world an OS can be a godsend. For instance DOS (a non-multitasking OS) provided a platform that allowed all kinds of things to seamlessly run on the same computer one at a time. Now a '51 microcontroller system is not supposed to run more than ONE thing. As to many things, just look to the bottom of your screen: how many apps do you have open. Even with all the "bitching" about it which Windows user want to go back to DOS. Windows (a multitasking OS) provided a platform that allowed all kinds of things to run on the same computer simultaneously. Now for "other places" and the '51 re OS 1) a (U)RTOS has no place in a control system a) an OS is great for a computing system 2) a (U)RTOS has no place in a small system (such as a '51 system) b) an OS is great for a system with sufficient size 3)a (U)RTOS that shares interrupt handling with the app is likely buggy c) an OS that does all interrupt handling (device drivers) can be a very efficient way to reach the goal ad 1) and a) Real time by Webster is NOW, by the URTOS people it is "Real enough" as in "guarenteed within 1.8 ms. ad 2) and b) Any operating system will consume resources. Using a "general" operating system will waste resources, which, in the case or 2) can be a disaster (economically) and in the case of b) is no big deal. ad 3) and c) I can not even count the cases where "why does my URTOS based app fall apart when I disable interrupts? has been asked. Now DO NOTE that the OSes that REALLY work are not called "Real time". If you just glance at the discussions of "real time Linux" you will see the magnitude of the tradeoff between "REAL real time" and "real enough time" which basically has ended in two camps "real time Linux is good enough" and "real time Linux will never happen" Now for "multitasking" and its relation to (UR)RTOS. A microcontroller system has no business multitasking, its sole purpose is the task on hand. Now if someone decide to abuse good design practices and bend fold and mutilate a '51 into acting as a microcontroller then all bets are off. Multitasking was originally invented to overcome the inefficiencies of "wait I/O" (a call to "get a record" does not return till the record is fetched). Before multitasking days we had "start I/O" and "is I/O complete" and "give me the completed I/O" call which allowed us to do other things while I/O took place. This technique is extremely appropiate for small microcontroller systems. I would call these OTRWW (Other task running while waiting). Such as sytem allow immediate action when a "task" is complete rather than the multitasking idea "you get your turn" approach which can be disastrous in a control system. A "real" RTOS would be entirely priority based and such a ssytem would occupy way too many resources if attempted on a '51. Would I ever use a RTOS on a '51? In the unlikey event someone had a '51 RTOS that was priority based and the RTOS took "no" resources and did all I/O based on device drivers and simplified the project design and the project was developent cost rather than equipment cost based - then maybe. However what I have seen of URTOSs for the '51 have all been "To use a RTOS we need to compromise because of the resources" and a "design" rather than a "make" is not based on unnecessary design compromises. Erik |
Topic | Author | Date |
please expalin RTOS, UnRTOS, MTOS... | 01/01/70 00:00 | |
Os's | 01/01/70 00:00 | |
thanks ...and now for Erik... | 01/01/70 00:00 | |
MicroC O/S II works fine | 01/01/70 00:00 | |
Threads? | 01/01/70 00:00 | |
Threads, Real Time and Multitasking | 01/01/70 00:00 | |
Just for clarification | 01/01/70 00:00 | |
Multiprocessing | 01/01/70 00:00 | |
Multiprocessing | 01/01/70 00:00 | |
Further clarification | 01/01/70 00:00 | |
Threads | 01/01/70 00:00 | |
Windoze | 01/01/70 00:00 | |
More Windoze | 01/01/70 00:00 | |
Ah... | 01/01/70 00:00 | |
Basic Info | 01/01/70 00:00 | |
extract from the above with translation | 01/01/70 00:00 | |
Completed | 01/01/70 00:00 | |
who are we | 01/01/70 00:00 | |
Tics![]() | 01/01/70 00:00 | |
the rest | 01/01/70 00:00 | |
But wait..there's more! | 01/01/70 00:00 | |
Real Time Info | 01/01/70 00:00 | |
hard/soft | 01/01/70 00:00 | |
Real Time Info | 01/01/70 00:00 | |
m,y opinion | 01/01/70 00:00 | |
why so late | 01/01/70 00:00 | |
one more thing | 01/01/70 00:00 | |
Architecture Independent | 01/01/70 00:00 | |
just to clarify | 01/01/70 00:00 | |
No. | 01/01/70 00:00 | |
RTOS on a 51?? | 01/01/70 00:00 | |
not the thing but the word | 01/01/70 00:00 | |
A Distinction (with a difference) | 01/01/70 00:00 | |
Tasks or Applications? | 01/01/70 00:00 | |
Multi Tasking | 01/01/70 00:00 | |
a dot matrix printer must be one task | 01/01/70 00:00 | |
One task or three | 01/01/70 00:00 | |
pray explain | 01/01/70 00:00 | |
Tasks and Functions | 01/01/70 00:00 | |
we are getting closer | 01/01/70 00:00 | |
Not that far apart | 01/01/70 00:00 | |
I doubt we are | 01/01/70 00:00 | |
discussed | 01/01/70 00:00 | |
TTCS | 01/01/70 00:00 |