Tuesday, January 17, 2012

Requirements for Hard Real-Time systems.

Minimal Latency during task-switching
Minimal jitter
Run-to-completion
Preemptive multitasking
Priority inheritence
Meet strict deadlines

You at any case meeting the customer deadline is Hard real time system. Mik san who get the and spends time in customer supports, and missing the customer deadline is soft real time system. How do you perform? What is the difference between you people?

Even customer support processing time also taken into consideration. And, finished within a finite time and deadline project is taken at any case. Sometimes, lower priority interrupts are even stopped just by reading the mail and postponing the response later. If the support is related to deadline project, that is taken into it.

Processing the interrupts (Customer support) with long time-slices and missing the deadline.

My OS is Hard Real-Time operating system? At any case, it will finish the higher priority tasks/higher priority interrupts.

Hard real time is Not about High speed or low latency time. It is about deterministic behavior of the kernel. Execution time of all components are constant. Nothing is variable. For example, definition of Task switching time.

----

In computer science, rate-monotonic scheduling is a scheduling algorithm used in real-time operating systems with a static-priority scheduling class. The static priorities are assigned on the basis of the cycle duration of the job: the shorter the cycle duration is, the higher is the job's priority.

These operating systems are generally preemptive and have deterministic guarantees with regard to response times. Rate monotonic analysis is used in conjunction with those systems to provide scheduling guarantees for a particular application.
----
Applicable to Rate monotonic Analysis.
----

Software vendor provides the way to specify the resource and real time restrictions as parameters.
Users guarantees the real time behavior of whole system using these parameters
----

So, hard real time systems are where RMA can be applied.
1) Run-to-completion
2) Priority Pre-emptive
4) Execution time(cycles) of all jobs are determined

Since the execution time(cycles) of each and every RTOS object(system calls, task switching time, interrupt processing) time is fixed, thus every job execution time is fixed. The Jitter caused by task scheduler and Interrupt processing are neglected(near to zero).

With these, apply the RMA using the parameters, number of tasks, total execution time of the job(Cj), period of the job(How long once it has to be executed) where before the next cycle it has to be completed.

-----

In this case, the scheduling algorithm is the method in which priorities are assigned. Most algorithms are classified as static priority, dynamic priority, or mixed priority. A static-priority algorithm assigns all priorities at design time, and those priorities remain constant for the lifetime of the task. A dynamic-priority algorithm assigns priorities at runtime, based on execution parameters of tasks, such as upcoming deadlines. A mixed-priority algorithm has both static and dynamic components. Needless to say, static-priority algorithms tend to be simpler than algorithms that must compute priorities on the fly.

The rate monotonic algorithm (RMA) is a procedure for assigning fixed priorities to tasks to maximize their "schedulability." A task set is considered schedulable if all tasks meet all deadlines all the time.  So, ITRON has static priority and RMA has to be used to achieve hard-real time.
-------------

No comments:

Post a Comment