Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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


List of 44 messages in thread
TopicAuthorDate
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      

Back to Subject List