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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/01/05 21:22
Read: times


 
#86315 - RTOS or Not
Responding to: ???'s previous message
Erik Malund said:
I have yet to see a URTOS where the response time to an interrupt was REAL not the URTOS "real" which I have seen billed as "real enough".

I agree, there is no such RTOS. However, it is important not to confuse real enough with fast enough. They are not the same.

I have many apps where a certain process has a microsecond or 5 to take place (using 100MHz 1 clockers) and have yet to see a URTOS that in no way and never interfer with interrupt response either wiht "handling" them or with disabling them because "task switching is more important".

I agree. Again this is simply because an RTOS is not fast enough for this type of application.

I will gladly use a URTOS in large apps where no "time related tasks" exsist, but billing a URTOS as a benefit for "time related tasks" is putting the cart in front of the horse.

It is not (only) large apps where there is a benefit but ones where there there are more than a few concurrent tasks to handle like the cordless phone box example I gave.

Now what is a true '51 based RTOS (no 'U')?

Forgive my ignorance but what is a URTOS? I am not familiar with the term. Do you mean Universal?

It is a main loop to take care of various things one by one over and over. Some things that are "time related tasks" will be taken care of in this wonderful mechanism known as an ISR and in a few cases it may be needed to add a software interrupt for something. That way there is no overhead at all handling the ISRs no disable the interrupts thus the "time related tasks" truly are handled in a event related way.

It is important to remember there are two basic types of RTOS. The preemptive type which has to save the state of every task on the stack and therefore takes a long time to switch tasks and the cooperative RTOS where each rasks runs to completion there is no stack overhead and hence has faster task switching.

What you have described is the well known foreground/background technique. This is a perfectly valid approach and in many situation is the best solution.

I do not say anybody must use an RTOS. Only that it is a tool to be used when appropriate.

Erik who will gladly use a RTOS when the app and processor make that the best choice.

Me too.

Ian



List of 49 messages in thread
TopicAuthorDate
Computed Call            01/01/70 00:00      
   Computed Call            01/01/70 00:00      
   simulate an LCALL @A+DPTR instruction?            01/01/70 00:00      
   Solution            01/01/70 00:00      
      Computed LCALL            01/01/70 00:00      
      Computed LCALL            01/01/70 00:00      
         Table offset            01/01/70 00:00      
            x2, not x3            01/01/70 00:00      
   what is the problem            01/01/70 00:00      
      My Problem            01/01/70 00:00      
         never heard of it            01/01/70 00:00      
            It is.......            01/01/70 00:00      
               RTOS            01/01/70 00:00      
                  8051 RTOs Limitations/Issues/Opportunity            01/01/70 00:00      
                     How?            01/01/70 00:00      
                        Decisions, decisions            01/01/70 00:00      
                           Small systems - task scheduling            01/01/70 00:00      
                              Worth it?            01/01/70 00:00      
                                 Scheduler            01/01/70 00:00      
                                    Scheduler            01/01/70 00:00      
                           running small in a big way            01/01/70 00:00      
                              Example            01/01/70 00:00      
                                 in very small chips            01/01/70 00:00      
                                    In all sorts of sizes of chips            01/01/70 00:00      
                                       time dependednt            01/01/70 00:00      
                                          RTOS or Not            01/01/70 00:00      
                                             opinion piece            01/01/70 00:00      
                                                fact piece            01/01/70 00:00      
                                                Opinion piece            01/01/70 00:00      
                                             suggestion piece            01/01/70 00:00      
                                             reasons            01/01/70 00:00      
                                    Polite discussion            01/01/70 00:00      
                                       Politeness            01/01/70 00:00      
                                          Thanks            01/01/70 00:00      
                                             Politeness            01/01/70 00:00      
                                                What are you Rabbiting on about?            01/01/70 00:00      
                                                   Close but no Cigar            01/01/70 00:00      
                                                      Rabbit food            01/01/70 00:00      
                                                         Plessey            01/01/70 00:00      
                                                      small world            01/01/70 00:00      
                                                         Smaller than you imagine!            01/01/70 00:00      
            I use the computed LCALL ...            01/01/70 00:00      
               go it            01/01/70 00:00      
                  Call tabs in-line            01/01/70 00:00      
                     abbreviated            01/01/70 00:00      
                        ... and further optimized...            01/01/70 00:00      
                     has been already disscussed            01/01/70 00:00      
   Scheduler of course            01/01/70 00:00      
      Scheduler            01/01/70 00:00      

Back to Subject List