1
00:00:00,710 --> 00:00:01,830
Hello, welcome back.

2
00:00:01,850 --> 00:00:04,790
In this lesson, we should talk about if we are to cedula.

3
00:00:07,070 --> 00:00:14,570
The scheduling algorithm is the software routine that decides which ready state task to transition into

4
00:00:14,570 --> 00:00:15,620
their running state.

5
00:00:18,320 --> 00:00:25,940
The free auto scheduler would ensure tasks that share the same priority are selected to enter the running

6
00:00:25,940 --> 00:00:26,510
state.

7
00:00:26,540 --> 00:00:34,410
In turn, this is known as the Round-Robin scheduling the Round-Robin scheduling algorithm in Free Arktos.

8
00:00:34,430 --> 00:00:42,470
There's no guarantee time is shared equally between the tasks of equal priority only that ready state

9
00:00:42,470 --> 00:00:49,000
tasks of equal priority will enter the run in state one by one or one after the other.

10
00:00:50,700 --> 00:00:56,040
So let's take a look at some of the terminologies that free Arktos would use in its documentation,

11
00:00:56,040 --> 00:01:00,080
as well as in its quote, we have this here called fixed priority.

12
00:01:00,690 --> 00:01:08,820
This type of shigella does not change the priority assigned to the tasks being scheduled, but also

13
00:01:08,820 --> 00:01:13,650
does not prevent the tasks from changing their own priorities.

14
00:01:14,610 --> 00:01:21,300
It does not prevent the task from changing their own priority as well as priority of other tasks by

15
00:01:21,300 --> 00:01:24,060
the scheduler does not change the priority assigned.

16
00:01:24,420 --> 00:01:30,570
And we have what is known as the preemptive scheduler like this scheduler would immediately preempt

17
00:01:30,570 --> 00:01:38,100
the running state task if a task that has a higher priority than the running state task enters their

18
00:01:38,100 --> 00:01:38,700
ready state.

19
00:01:39,000 --> 00:01:45,030
So there could be a task run and run and run, and then a higher priority task enters the ready states

20
00:01:45,180 --> 00:01:46,140
automatically.

21
00:01:46,140 --> 00:01:54,240
This higher priority task will take the Processo and when we see preempt its means, just move in the

22
00:01:54,540 --> 00:01:54,960
just.

23
00:01:55,900 --> 00:02:04,090
Moving the task out of the running states without the task asking for it, so the task would just be

24
00:02:04,090 --> 00:02:04,740
pushed out.

25
00:02:05,850 --> 00:02:12,300
Essentially from there, from the Iranian state into the red state, to allow a task of a higher priority

26
00:02:12,300 --> 00:02:13,940
task to run, OK.

27
00:02:17,300 --> 00:02:23,670
So time slicing, we also have the time slicing, we've spoken about fixed priority, preemptive.

28
00:02:23,870 --> 00:02:31,640
Now we have time slicing this shigella shares processing time between tasks of equal priority, even

29
00:02:31,640 --> 00:02:36,350
if the tasks do not explicitly yield or enter the blocked state.

30
00:02:38,530 --> 00:02:46,060
The scheduling algorithm described us using time slicing to select a new task to enter the running states

31
00:02:46,060 --> 00:02:52,390
at the end of each time slice if there are other registered tasks that have the same priority as the

32
00:02:52,390 --> 00:02:53,120
running task.

33
00:02:53,500 --> 00:03:01,390
So this could mean you have a task, a task A, B and C, they all have the same priority in a time

34
00:03:01,390 --> 00:03:02,310
slicing mode.

35
00:03:02,320 --> 00:03:09,850
If our time slice is set at five milliseconds, Task E would run for five milliseconds and then the

36
00:03:09,850 --> 00:03:15,250
process will be given to Task B to run for five milliseconds and then the process would then be given

37
00:03:15,250 --> 00:03:18,100
to Task C to run for five milliseconds.

38
00:03:18,250 --> 00:03:22,450
After that, it would be given back to Task A to run for five milliseconds.

39
00:03:22,600 --> 00:03:23,740
Is the time slicing.

40
00:03:24,310 --> 00:03:32,710
OK, so we can configure these these scheduler characteristics in our free Archos config that h we can

41
00:03:32,710 --> 00:03:38,950
set preemptions one to use preemption, we can set a time slice into one to use time slicing and of

42
00:03:38,950 --> 00:03:40,510
course we shall see how to do this.

43
00:03:40,510 --> 00:03:44,680
Practically this all there is for this lesson and I'll see you in the next lesson.

44
00:03:44,690 --> 00:03:45,400
Have a nice day.
