Hey, welcome back to the course. 1
So, let's start our section to, the RTOS Introduction. 2
This section actually consists of six lectures. 3
OK 4
The Key take away of this section are, so ,you'll come to know about what exactly is Real time application, 5
you will come to know about Real time operating system, 6
then we will discuss some of the key differences between RTOS and GPOS in terms of Task Scheduling, 7
Latency, Priority Inversion etc. Then, we will cover, what exactly is multitasking which is essential in the domain 8
of real time operating system. 9
All right. So now, let's begin with our first lecture. 10
So, that is understanding what is Real Time Application. First 11
Let's see, what are the truths and myths related to the word of real time computing. 12
The myth is the Real time computing is equivalent to fast computing. 13
But, the truth is the Real time computing is equivalent to Predictable computing. 14
The myth about Real time computing is, Real-Time computing means higher performance. 15
The truth is in real time computing timeliness is more important than performance. 16
So, what exactly mean by the word Real time which is often used in the context of Real time application 17
or Real time operating system. 18
So, word Real time signifies that, the application or the operating system deals with guarantees, not with raw 19
speed. 20
So, whenever we say something is Real time, then, the timeliness is more important, 21
that is, it promises to meet its deadline for a given timeline instead of just talking about raw speed. 22
Application developers who think they need a Real time system for better performance of their application 23
can actually get the performance they require by simply upgrading their hardware with the faster processors, 24
RAM, high speed buses etc. 25
That doesn't make a System Real time. A Real time system deals with guarantees, 26
not with promises. 27
So, if an application with limited hardware, if it is able to meet a timeliness execution. Then, that system or 28
application can be called as a real time. So, a real time system is one in which the correctness of the 29
computations not only depends upon the logical correctness of the computation, but also upon the time 30
at which the result is produced. 31
If the timing constraints are not met, system failure is said to have occurred. 32
For example, take a look into this graph. Here 33
This line indicates that it is a non real time application and this line indicates a real time application. 34
So, I have just plotted a graph of execution iterations versus response time. 35
Here we can see, during multiple iterations 36
the execution time or the response time of a real time application is almost constant. 37
So, it is roughly taking around say 2.5 seconds for every duration. 38
So, it's response time is fairly constant between multiple execution iterations. 39
But take a look into the non-real time application. 40
So, it's response time is varying. For the first iteration it took around 4 seconds, then for the next 41
iteration 42
it's response time was around 1.5 seconds and for the next iteration it took something around 43
2.5 44
So, the non-real time application a doesn't meet the timeliness behavior. So, you cannot trust this application 45
isn't it? 46
Because its response time is keep on varying between multiple iterations. 47
So, a non real time application will show these kind of behavior. That its response time will always varying 48
as time passes. So, but a non real time application promises a fairly constant response time, 49
no matter in which constraint a you execute that applications. 50
For example, one way of looking at this is a for non real time application here. 51
You can speculate that the system load was high. So, it took more time. 52
Here we can speculate that a system load 53
may be less. So that's why, the non Real time application got executed in less time. 54
And here you can predict that the system load was again high. So that's why, this application took more 55
time. 56
But a real time application no matter what the system load is. So, it will always take the same response 57
time between multiple execution iterations. 58
So, that's the meaning of real time, which is used in the context of a real time application or real 59
time operating system. 60
So, What are real time applications? 61
In short they are called RTAs. So, real time applications are not fast executing applications. 62
They need not be fast. 63
OK? But they have to meet the strict given response time deadline. 64
RTAs are time deterministic applications, that means, their response time to events is almost constant. 65
That could be small deviation in real time applications response time, 66
in terms of milliseconds or seconds which will fall into the category of soft real-time applications. 67
Hard real time functions must complete within a given time limit. 68
Failure to do so will result in absolute failure of the whole system. 69
So, For example, the air bag triggering mechanics in a car is an example of a Hard real time function. 70
The airbag must be deployed within a given time limit of an impact. A response falling outside of this 71
time limit can result in the driver sustaining injuries that could otherwise have been avoided. 72
Soft real time requirements are those that state time deadline, but breaching the deadline would not render 73
the system useless. 74
So, there could be a small deviation in terms of milliseconds or seconds, 75
In terms of response time of a Soft real time requirements. So, they are not as strict as Hard real time 76
systems. 77
So, some more examples of real time applications are Missile guidance and control system. 78
This is indeed a Hard real time system because, timeliness and response time is always strict 79
and the deviation in the response time can cause chaos. So, all the control system requirements 80
are usually Hard real time systems. And Anti Lock Breaking system in a car which is truly a Hard real 81
time scenario and Airbag deployment in a four wheeler also can be considered as a Hard real time applications. 82
Because the timeliness the response time from detecting a crash to the deployment of an airbag is very 83
very important. 84
So, airbag deployment can be considered as a hard real time application. 85
Whereas the VOIP, that is Voice Over Internet can be considered as a Soft real time. Because, during 86
communication even there could be always a delay while transmitting packets, because there a Hard real time scenario 87
cannot be maintained. 88
And there could be a dropping of a couple of packets. 89
So, all these missing deadlines and dropping of packets cannot be perceived by the user, 90
sometimes the user will not able to notice it. 91
So, VOIP can be considered as a Soft real time systems. Other than this Aircraft Control, ATMs, Robotics, MRI 92
and there are hundred thousands of other applications where real time applications play an 93
important role. 94
All right. 95
Hope you get a good Intro in understanding what is a real time application. In the next lecture let's 96
understand, What is real time operating system. 97
See you in the next lecture.