1
00:00:00,790 --> 00:00:01,950
Hello, welcome back.

2
00:00:01,960 --> 00:00:08,260
And this lesson, we going to give an introduction to real time operating systems, so.

3
00:00:09,280 --> 00:00:10,810
What is an operating system?

4
00:00:11,980 --> 00:00:19,180
Basically, an operating system is resource manager, it's money, just resources for the various part

5
00:00:19,180 --> 00:00:19,920
of the system.

6
00:00:20,880 --> 00:00:27,810
We see it's a real time operating system when this resource manager can guarantee deadlines.

7
00:00:29,010 --> 00:00:36,660
For instance, let's say I have a program and the program is supposed to take a number of actions,

8
00:00:36,660 --> 00:00:42,780
a program for an autonomous vehicle, it's supposed to take an action such as turn.

9
00:00:43,290 --> 00:00:50,550
But before it takes such an action, it first needs to read the data from its leader saying so and check

10
00:00:50,550 --> 00:00:51,410
the status of it.

11
00:00:51,420 --> 00:00:54,510
After that, he has to read from it radars.

12
00:00:54,510 --> 00:00:57,690
And so and then he has it has to be read from its camera.

13
00:00:58,020 --> 00:01:03,720
And then based on the data values of these various sensors, a particular action will be taken.

14
00:01:05,130 --> 00:01:10,260
If we are to design this in a real time operating system and we want all of it to occur.

15
00:01:12,000 --> 00:01:18,300
To OK and meet a particular deadline, what we would do is we would place them in their own tasks.

16
00:01:19,740 --> 00:01:26,420
Such as it's arranged over here, over here we have task one, and this task is just take action.

17
00:01:26,430 --> 00:01:30,600
It's just says take action and then come back to the top, take action.

18
00:01:30,900 --> 00:01:33,260
And this task is just for reading to lead us.

19
00:01:33,480 --> 00:01:38,780
I started this other one is for reading their reader studies and this one is for reading the Congress.

20
00:01:38,780 --> 00:01:40,860
That is, these are all separate tasks.

21
00:01:41,310 --> 00:01:45,390
A Real-Time operating system allows us to arrange a program like this.

22
00:01:45,870 --> 00:01:55,590
Otherwise we would have to keep all of this in, let's say, one one task and then we could run it sequentially.

23
00:01:56,340 --> 00:02:01,920
In a way, we would talk more about it later, would describe the differences between Real-Time operating

24
00:02:01,920 --> 00:02:05,220
system and the other way that we write our code.

25
00:02:06,150 --> 00:02:12,780
But where you need to remember is a real time operating system as a resource manager that guarantees

26
00:02:12,780 --> 00:02:13,530
deadlines.

27
00:02:13,850 --> 00:02:17,760
OK, so now let's take a look at some performance metrics.

28
00:02:17,760 --> 00:02:20,980
We said it guarantees deadlines, what we mean by that sort.

29
00:02:21,060 --> 00:02:26,480
So deadline simply means deriving the right result within a set of time constraints.

30
00:02:26,760 --> 00:02:27,690
That is the deadline.

31
00:02:28,320 --> 00:02:35,160
And another way to to check the performance of the real time operating system is to check its reliability.

32
00:02:35,490 --> 00:02:40,760
And reliability means running in a predictable way with a guaranteed response.

33
00:02:41,550 --> 00:02:47,040
So if you want to check the performance of a Real-Time operating system, first, ask yourself, does

34
00:02:47,040 --> 00:02:49,930
it meet the deadline set is a reliable.

35
00:02:50,550 --> 00:02:54,360
Does it always run in a predictable way with a guaranteed response?

36
00:02:55,390 --> 00:03:02,160
If these two metrics are parsed, then you would see, OK, having a Real-Time operating system here.

37
00:03:02,440 --> 00:03:07,650
Of course, the other metrics, but these are the the two two of the most important ones.

38
00:03:07,840 --> 00:03:08,290
Right.

39
00:03:10,260 --> 00:03:16,770
Now, let's take a look at another popular term we'd come across known as the kernel, so we we have

40
00:03:16,770 --> 00:03:19,390
already defined what a real time operating system is.

41
00:03:19,410 --> 00:03:20,490
Now, what is Akino?

42
00:03:20,940 --> 00:03:27,930
Akino is the core of the Real-Time operating system, and the kernel has control over every aspect of

43
00:03:27,930 --> 00:03:29,550
the realtime operating system.

44
00:03:29,550 --> 00:03:37,290
And it's it's responsible for booting into the right communication, synchronization and thread scheduling.

45
00:03:37,710 --> 00:03:42,230
So Real-Time Operating Systems have something known as the threat scheduler.

46
00:03:43,140 --> 00:03:47,850
Or the task switcher, this would switch the currently running task.

47
00:03:49,110 --> 00:03:54,750
From the process of bringing a new one, these components are part of what we call the colonel.

48
00:03:55,900 --> 00:04:01,420
So the kennel is like the call, if you want to remember what a kennel is, you can simply describe

49
00:04:01,420 --> 00:04:07,410
it as the core of the operating system, in our case, the core of the Real-Time operating system.

50
00:04:07,750 --> 00:04:13,270
And over here, we've stated for examples of some of its responsibilities.

51
00:04:13,900 --> 00:04:14,370
Right.

52
00:04:18,620 --> 00:04:25,670
And the next lesson we should talk about a very important concept in real time operating systems known

53
00:04:25,670 --> 00:04:29,640
as context switching, so I'll see you in the next lesson.
