current position:Home>An algorithm for understanding the principle of operating system -- scheduling algorithm

An algorithm for understanding the principle of operating system -- scheduling algorithm

2022-01-27 00:15:34 Java Xiaohai

The third chapter : operating system -- Scheduling algorithm

Tips: Learning ideas of various scheduling algorithms

  • Algorithmic thought
  • Algorithm rules
  • This scheduling algorithm is used for job scheduling or process scheduling ?
  • Preemptive ? Non preemptive ?
  • Advantages and disadvantages
  • Whether it will lead to hunger

1、 First come, first served (FCFS)

1.1、 summary

  • Algorithmic thought : Mainly from “ fair ” From the perspective of ( Similar to the example of queuing up to buy things in our life ), Ask first CPU The process of is first assigned to CPU. When a process enters the ready queue , its PCB Will be linked to the end of the queue . When CPU Idle , It is assigned to the process at the head of the queue , And the running process is removed from the queue .
  • Algorithm rules : According to the assignment / process Order of arrival Carry out services
  • For job / Process scheduling : For job scheduling , Consider which homework arrives first Fallback queue ; When used for process scheduling , Consider which process arrives first Ready queue
  • Is it possible to seize ?: Non preemptive algorithm , That is, once CPU Assigned to a process , The process will use CPU Until released CPU until , That is, termination of the program or request I/O.FCFS Algorithm for time-sharing system ( Each user needs to get a certain amount of CPU Time ) It's particularly troublesome . Allow a process to use CPU Too long will be a serious error
  • Advantages and disadvantages
    • advantage : fair 、 The algorithm is simple to implement
    • shortcoming : Long work in line ( process ) The following short jobs need to wait a long time , The weighted turnaround time is very long , The user experience is not good for short assignments , Like the following P3 process , The turnaround time with right is 8s, But it just needs 1s You can run and complete , namely FCFS The algorithm is good for long jobs , Bad for short work (Eg: Line up to buy milk tea ...)
  • Whether it will lead to hunger ( A process / The operation is not served for a long time ): Can't

1.2、 give an example

Example : The time when each process reaches the ready queue 、 The required running time is shown in the table below . Use First come first serve scheduling algorithm , Calculate the waiting time of each process 、 Average waiting time 、 Turnaround time 、 Average turnaround time 、 Turnaround time with rights 、 Average weighted turnaround time .

process Arrival time The elapsed time
P1 0 7
P2 2 4
P3 4 1
P4 5 4

First come first serve scheduling algorithm : Schedule according to the order of arrival , In fact, the longer the waiting time, the more priority to get services .

therefore , The scheduling order is : P1→P2→P3→P4 , The scheduling sequence is as follows :P1 Run after arrival 7 After a while P2 Start scheduling ...

image.png

Calculation time of each process :

image.png

2、 Short job preferred (SJF)

2.1、 summary

  • Algorithmic thought : Pursue the minimum average waiting time , Minimum average turnaround time 、 Minimum average weighted turnaround time
  • Algorithm rules : Press ” The shortest assignment / Processes are served first ( So-called “ The shortest ”, It means that the service time is required to be the shortest )
  • For job / Process scheduling : It can be used for job scheduling , It can also be used for process scheduling . When used for process scheduling, it is called “ Short process priority (SPF, Shortest Process First) Algorithm ”
  • Is it possible to seize ?:SJF and SPF Is a non preemptive algorithm . But there are also preemptive versions -- The shortest remaining time first algorithm ( SRTN, Shortest Remaining Time Next )
  • Advantages and disadvantages
    • advantage :“ Shortest ” Average waiting time 、 Average turnaround time
    • shortcoming : Unfair . It's good for short work , It's not good for long work . Hunger may occur . in addition , Homework / The running time of the process is provided by the user , Not necessarily true , May not be able to achieve real short homework first
  • Whether it will lead to hunger ( A process / The operation is not served for a long time ): Meeting . If there is a steady stream of short assignments / The process is coming , May cause long work / The process has not been serviced for a long time , produce “ hunger ” The phenomenon . If you don't get service all the time , It is called a " Starve to death "

2.2、 give an example

Example : The time when each process reaches the ready queue 、 The required running time is shown in the table below . Use Non preemptive short job priority scheduling algorithm , Calculate the waiting time of each process 、 Average waiting time 、 Turnaround time 、 Average turnaround time 、 Turnaround time with rights 、 Average weighted turnaround time .

process Arrival time The elapsed time
P1 0 7
P2 2 4
P3 4 1
P4 5 4

Short assignments / Process priority scheduling algorithm : Select... For each scheduling The current time has arrived and the running time is the shortest The homework / process .

therefore , The scheduling order is : P1→P3→P2→P4

That is, at first there was only P1 arrive , therefore P1 Schedule first , Secondly, in P1 During the running time , Other threads have reached , Among them are P3 The shortest running time , therefore P3 The second is scheduled , Last P2 and P4 Due to P2 First arrive , therefore P2 The third is scheduled .

image.png

Calculation time of each process :

image.png

3、 Preemptive short work is preferred (SRTN)

3.1、 summary

Example : The time when each process reaches the ready queue 、 The required running time is shown in the table below . Use Preemptive short job priority scheduling algorithm , Calculate the waiting time of each process 、 Average waiting time 、 Turnaround time 、 Average turnaround time 、 Turnaround time with rights 、 Average weighted turnaround time .

The preemptive short job first algorithm is also called the shortest remaining time first algorithm SRTN

process Arrival time The elapsed time
P1 0 7
P2 2 4
P3 4 1
P4 5 4

The shortest remaining time first algorithm : Whenever a process joins the ready queue and changes, it needs to be scheduled , If the newly arrived process has time left 【 Remaining running time 】 Less time left than the currently running process , The new process preempts CPU, The currently running process returns to the ready queue . in addition , When a process is completed, it also needs to be scheduled according to the scheduling algorithm

It should be noted that , When a new process arrives, the ready queue changes , Check according to the above rules . following Pn(m) At present Pn The remaining time of the process is m. The situation at each moment is as follows :

  • 0 moment (P1 arrive ) : P1 (7)
  • 2 moment (P2 arrive ) : P1 (5)、P2 (4)
  • 4 moment (P3 arrive ):P1(5)、P2(2)、P3(1)
  • 5 moment (P3 Complete and P4 Just in time ) : P1 (5)、P2 (2)、P4 (4)
  • 7 moment (P2 complete ) : P1 (5)、P4 (4)
  • 11 moment (P4 complete ) : P1 (5)

The scheduling situation shown in the figure is as follows :

image.png

Calculation time of each process :

image.png

4、 Description of short job first algorithm

Pay attention to a few small details :

  1. If not specifically stated in the title , mentioned “ Short assignments / Process first algorithm ” The default is non preemptive
  2. Many books say “SJF Average waiting time of scheduling algorithm 、 Minimum average turnaround time ”
    1. Strictly speaking , This statement is wrong , Not rigorous . Previous examples show that , The average waiting time obtained by the shortest remaining time first algorithm 、 The average turnaround time is even less
    2. A condition should be added “ When all processes are running at the same time , use SJF Average waiting time of scheduling algorithm 、 Minimum average turnaround time ”;
    3. Or say “ When all processes arrive almost at the same time , use SJF Average waiting time of scheduling algorithm 、 Minimum average turnaround time ”;
    4. If the above preconditions are not added , You should say “ Preemptive short homework / Process priority scheduling algorithm ( The shortest remaining time is preferred ,SRNT Algorithm ) The average waiting time 、 Minimum average turnaround time ”
  3. Although strictly speaking ,SJF The average waiting time 、 The average turnaround time is not necessarily the least , But compared with other algorithms ( Such as FCFS),SJF You can still get less average waiting time 、 Average turnaround time
  4. If you encounter “SJF The average waiting time of the algorithm 、 Minimum average turnaround time ” The option to , It's best to judge whether there are obvious mistakes in other options , If there is no more appropriate option , Then you should also choose this option .

5、FCFS/SJF Thinking about algorithms

  • FCFS The algorithm is to select a job with the longest waiting time every time ( process ) At its service . But it doesn't take into account the running time of the job , This leads to the problem of being unfriendly to short assignments
  • SJF The algorithm is to select a job with the shortest execution time to serve it . But the waiting time of each job is completely ignored , Therefore, it leads to the problem of being unfriendly to long homework , It can even cause hunger
  • Can you design an algorithm , That is, considering the waiting time of each job , It can also take into account the running time ?==== High response priority algorithm

6、 High response priority algorithm (HRRN)

6.1、 summary

  • Algorithmic thought : We should consider the operation comprehensively / The waiting time of the process and the time required for service

  • Algorithm rules : Each job is calculated at each scheduling / Process response ratio , Select the job with the highest response ratio / The process serves it 【 Response ratio >=1】

    Response ratio =( Waiting time + Service time required )/ Service time required

  • For job / Process scheduling : It can be used for job scheduling , It can also be used for process scheduling .

  • Is it possible to seize ?: Non preemptive algorithm . Therefore, only the currently running jobs / When the process voluntarily abandons the processor , Just need to schedule , To calculate the response ratio

  • Advantages and disadvantages

    • Considering the waiting time and running time ( Service time required )
    • When the waiting time is the same , Short service time is preferred (SJF The advantages of )
    • When the service time is required to be the same , Long waiting time is preferred (FCFS The advantages of )
    • For long assignments , As the waiting time gets longer and longer , The response ratio will also be larger and larger , So as to avoid the problem of long homework hunger
  • Whether it will lead to hunger ( A process / The operation is not served for a long time ): Can't

6.2、 give an example

Example : The time when each process reaches the ready queue 、 The required running time is shown in the table below . Use high response ratio priority scheduling algorithm , Calculate the waiting time of each process 、 Average waiting time 、 Turnaround time 、 Average turnaround time 、 Turnaround time with rights 、 Average weighted turnaround time .

High response priority algorithm : Non preemptive scheduling algorithm , Only the currently running process voluntarily gives up CPU when ( normal / Abnormal completion , Or active blocking ), Just need to schedule , Calculate the of all ready processes when scheduling Response ratio , Select the processor on the process with the highest response ratio .

image.png

The scheduling situation shown in the figure is as follows :

image.png

Sum up : Comparison of three algorithms

image.png

notes : These algorithms are mainly concerned with fairness to users 、 Average turnaround time 、 Average waiting time and other indicators to evaluate the overall performance of the system , But I don't care “ response time ”, Nor does it distinguish between the urgency of the task , So for users , Interaction is terrible .** Therefore, these three algorithms are generally suitable for early batch processing systems ,** Of course ,FCFS Algorithms are often used in combination with other algorithms , It also plays a very important role now . The scheduling algorithm suitable for interactive system will be introduced in the next section ...

7、 Time slice rotation scheduling algorithm RR

7.1、 summary

  • Algorithmic thought : To be fair 、 Serve each process in turn , Let each process get a response within a certain time interval
  • Algorithm rules : According to the order in which each process reaches the ready queue , Let each process execute a time slice in turn ( Such as 100ms). If the process is not completed in a time slice , Then deprive the processor , Put the process back into Ready queue, end of queue The end of the line .
  • For job / Process scheduling : Used for process scheduling ( Only after the job is put into memory and the corresponding process is established , To be allocated processor time slices )
  • Is it possible to seize ?: If process fails to finish running in time slice , Will be forcibly deprived of the right to use the processor , Therefore, time slice rotation scheduling algorithm belongs to preemptive algorithm . By clock The device sends a clock interrupt to notify CPU The time slice has come
  • Advantages and disadvantages
    • advantage : fair ; Fast response , For time-sharing operating system ;
    • shortcoming : shortcoming : Due to the high frequency of process switching , So there's some overhead ; Regardless of the urgency of the task .
  • Whether it will lead to hunger ( A process / The operation is not served for a long time ): Can't .

7.2、 give an example

Time slice rotation scheduling algorithm : It was born with the birth of time-sharing system , Let the processes in the ready queue execute a time slice in turn ( Each time you select the process at the head of the ready queue )

Example : The time when each process reaches the ready queue 、 The required running time is shown in the table below . Use the time slice rotation scheduling algorithm , The analysis time slice sizes are 2、5 Process operation at .

image.png

The time slice size is 2 ( notes : The following brackets indicate the processes in the ready queue at the current time 、 The remaining running time of the process )

  • 0 moment (P1(5)):0 All the time P1 Arrival ready queue , Give Way P1 The upper processor runs for a time slice
  • 2 moment (P2(4)→P1(3)):2 moment P2 Arrival ready queue ,P1 Run a time slice , Deprived of the processor , Put it back at the end of the team . here P2 At the head of the line , So let P2 On the processor .( Be careful : 2 moment ,P1 Remove the processor , New processes at the same time P2 arrive , If you encounter this situation in the title , By default, the newly arrived process enters the ready queue first )
  • 4 moment (P1(3)→P3(1)→P2(2)):4 moment ,P3 arrive , Put it at the end of the ready team first , Then ,P2 The next processor is also inserted at the end of the team
  • 5 moment (P3(1)→P2(2)→P4(6)):5 moment ,P4 Arrive at the end of the ready line ( Be careful : because P1 I haven't run out of time yet , Therefore, it is not scheduled for the time being . in addition , here P1 It's running , Not in ready queue )
  • 6 moment (P3(1)→P2(2)→P4(6)→P1(1)): 6 moment ,P1 I ran out of time , Remove the processor , Put it back to the end of the ready team , Scheduling happens
  • 7 moment (P2(2)→P4(6)→P1(1)): although P3 I haven't run out of time , But because of P3 Just run 1 A unit of time , After running, it will actively give up the processor , Therefore, scheduling will also occur . Team leader process P2 On the processor .
  • 9 moment (P4(6)→P1(1): process P2 I ran out of time , And just finished running , Scheduling happens ,P4 On the processor
  • 11 moment (P1(1)→P4(4)): P4 I ran out of time , Return to the ready queue .P1 On the processor
  • 12 moment (P4(4)) : P1 Run out , Actively abandon the processor , At this time, only... Is left in the ready queue P4,P4 On the processor
  • 14 moment () : The ready queue is empty , So let P4 Then run a time slice .
  • 16 moment : All processes have finished running

image.png

The time slice size is 5 ( notes : The following brackets indicate the processes in the ready queue at the current time 、 The remaining running time of the process )

  • 0 moment (P1(5)) : Only P1 arrive ,P1 On the processor .
  • 2 moment (P2(4)) : P2 arrive , but P1 The time slice is not over yet , Therefore, it is not scheduled for the time being
  • 4 moment (P2(4) →P3(1) : P3 arrive , but P1 The time slice is not over yet , Therefore, it is not scheduled for the time being
  • 5 moment (P2(4)→P3(1)→P4(6) ) : P4 arrive , meanwhile ,P1 End of run . Scheduling happens ,P2 On the processor .
  • 9 moment (P3(1)→P4(6)) : P2 End of run , Although the time slice is not used up , But will voluntarily give up the processor . Scheduling happens .
  • 10 moment (P4(6)) : P3 End of run , Although the time slice is not used up , But will voluntarily give up the processor . Scheduling happens .
  • 15 moment ( ) : P4 I ran out of time , But the ready queue is empty , So it will make P4 Continue to execute a time slice .
  • 16 moment ( ) : P4 Run out , Actively abandon the processor . All processes are running .

image.png

7.3、 Algorithm evaluation

If you follow the first come first serve scheduling algorithm ..., Then the time slice is 5 The situation and first come first serve FCFS The result of the algorithm is the same

image.png

If the time slice is too large , So that each process can be completed in a time slice , Then the time slice rotation scheduling algorithm degenerates into a first come first serve scheduling algorithm , And it will increase the process response time . So the time slice can't be too big . such as : There are 10 Two processes are executing concurrently , If the time slice is 1 second , Then a process may need to wait for a response 9 second .. in other words , If the user sends a debugging command through the keyboard outside the time slice of his own process , You may have to wait 9 Seconds to be responded by the system

On the other hand , Process scheduling 、 Switching has a time cost ( preservation 、 Restore the operating environment ), So if the time slice is too small , It will cause the process to switch too frequently 【 Generally speaking , The time slice should be designed so that the cost of switching process does not exceed 1%】, The system will spend a lot of time dealing with process switching , This results in a reduction in the proportion of time actually used for process execution . The visible time slice cannot be too small .

8、 Priority scheduling algorithm

8.1、 summary

  • Algorithmic thought : With the development of computers , Especially the emergence of real-time operating system , More and more application scenarios need to determine the processing order according to the urgency of the task

  • Algorithm rules : When scheduling, select the job with the highest priority / process

  • For job / Process scheduling : It can be used for job scheduling , It can also be used for process scheduling . even to the extent that , It will also be used for what will be learned later I/O Scheduling

  • Is it possible to seize ?: Preemptive 、 Both non preemptive . The difference in doing questions is : Non preemptive scheduling can be performed only when the process voluntarily abandons the processor , And the preemptive type still needs When the ready queue changes , Check whether preemption will occur .

  • Advantages and disadvantages

    • advantage : Prioritize urgency 、 How important , Suitable for real-time operating system . It can be flexibly adjusted for various operations / The degree of preference of the process .
    • shortcoming : If a steady stream of high priority processes come , It can lead to hunger
  • Whether it will lead to hunger ( A process / The operation is not served for a long time )

8.2、 give an example

Non preemptive priority scheduling algorithm

Example : The time when each process reaches the ready queue 、 Required run time 、 Process priority number, such as ” As shown in the following table . Use Non preemptive priority scheduling algorithm , Analyze the operation of the process .( notes : The greater the number of priorities , The higher the priority )

Non preemptive priority scheduling algorithm : Select the process that has arrived and has the highest priority each time . Scheduling occurs when the current process voluntarily abandons the processor .

notes : The following brackets indicate the processes currently in the ready queue

  • 0 moment (P1) : Only P1 arrive ,P1 On the processor .
  • 7 moment (P2、 P3、P4) : P1 When the operation is completed, the processor is actively abandoned , The rest of the process has reached ,P3 The highest priority ,P3 On the processor .
  • 8 moment ( P2、P4) : P3 complete ,P2、P4 Same priority , because P2 First arrive , therefore P2 Priority upper processor
  • 12 moment ( P4) : P2 complete , There are only... Left in the ready queue P4,P4. On the processor .
  • 16 moment ( ) : P4 complete , All processes are over

image.png

Preemptive priority scheduling algorithm

Example : The time when each process reaches the ready queue 、 Required run time 、 Process priority number, such as ” As shown in the following table . Use Preemptive priority scheduling algorithm , Analyze the operation of the process .( notes : The greater the number of priorities , The higher the priority )

Preemptive priority scheduling algorithm : Select the process that has arrived and has the highest priority each time . Scheduling occurs when the current process voluntarily abandons the processor . in addition , When the ready queue changes, you also need to check whether preemption will occur .

notes : The following brackets indicate the processes currently in the ready queue

  • 0 moment (P1) : Only P1 arrive ,P1 On the processor .
  • 2 moment (P2) : P2 Arrival ready queue , Priority ratio P1 Higher , In preemption .P1 Go back to the ready queue ,P2 On the processor .
  • 4 moment (P1、 P3) : P3 arrive , Priority ratio P2 Higher ,P2 Go back to the ready queue ,P3 Preempt processor .
  • 5 moment (P1、 P2、P4) : P3 complete , Active release processor , meanwhile ,P4 Also arrived , because P2 Than P4 Enter the ready queue first , So choose P2 On the processor
  • 7 moment (P1、 P4) : P2 complete , There are only... Left in the ready queue P1、P4,P4 On the processor .
  • 11 moment (P1 ) : P4 complete ,P1 On the processor

image.png

8.3、 Complementary algorithm

There is not necessarily only one ready queue , Can be organized according to different priorities . in addition , You can also arrange the processes with high priority closer to the head of the queue

According to whether the priority can be changed dynamically , Priority can be divided into static priority and dynamic priority .

  • Static priority : When creating a process, determine , It's been the same after .
  • Dynamic priority : There is an initial value when creating a process , Then the priority will be adjusted dynamically according to the situation .

reflection

  1. How to reasonably set the priority of various processes ?
    1. Usually : System processes take precedence over user processes , The foreground process takes precedence over the background process , The operating system prefers I/O Type process ( Or called I/O Busy processes ) notes : And I/O Type process is relative to computational process ( Or called CPU Busy processes )
    2. 【I/O Equipment and CPU Can work in parallel . If you give priority to :I/O If busy processes run first , The more likely it is to make :I/O Put the equipment into operation as soon as possible , Then the resource utilization 、 The system throughput will be improved 】
  2. If dynamic priority is used , When should we adjust ?
    1. From the pursuit of fairness 、 From the perspective of improving resource utilization
    2. If a process waits in the ready queue for a long time , You can appropriately raise its priority
    3. If a process occupies the processor for a long time , Then its priority can be appropriately reduced
    4. If you find a process going on frequently I/0 operation , Then its priority can be appropriately raised

9、 Multilevel feedback queue scheduling algorithm 【 a key 】

9.1、 The above three algorithms are evaluated

  • FCFS The advantage of the algorithm is fairness
  • SJF The advantage of the algorithm is that it can handle short jobs as soon as possible , Wait on average / The turnaround time and other parameters are excellent
  • Time slice rotation scheduling algorithm can make each process get timely response
  • Priority scheduling algorithm can flexibly adjust the opportunities of various processes to be served
  • Can you make a trade-off between other algorithms ? Get a balanced algorithm with excellent comprehensive performance ?
  • Multilevel feedback queue scheduling algorithm

9.2、 Multilevel feedback queue scheduling algorithm

9.2.1、 summary

  • Algorithmic thought : Tradeoffs with other scheduling algorithms

  • Algorithm rules

    • Set the multi-level ready queue , Queue priority at all levels ranges from high to low , Time slice from small to large
    • When a new process arrives, it enters the... First 1 Level queue , Press FCFS The principle is to wait in line for the allocated time slice , If the time slice process is not finished , Then the process enters the end of the next level queue .
    • If you are already in the lowest queue , Then put it back to the end of the queue
    1. Only the first one k When the level queue is empty , For k+1 Process allocation time slice of level team leader
  • For job / Process scheduling : Used for process scheduling .

  • Is it possible to seize ? Preemptive algorithm . stay k The process of level queue is running , If a higher queue (1~k-1 level ) Entered a new process , Because the new process is in a higher priority queue , Therefore, the new process will preempt the processor , Put the original running process back k At the end of the queue .

  • Advantages and disadvantages

    • Relatively fair to all types of processes (FCFS The advantages of ) ;
    • Each newly arrived process can be responded to quickly (RR The advantages of );
    • Short processes can be completed in less time (SPF The advantages of ) ;
    • It is not necessary to estimate the running time of the process ( Avoid user fraud ) ;
    • It can flexibly adjust the degree of preference for various processes , such as CPU Intensive processes 、I/O Intensive processes ( expand : Can cause I/O And the blocked process is put back into the original queue , such I/O Type processes can maintain a higher priority )
  • Whether it will lead to hunger ( A process / The operation is not served for a long time ): Meeting

9.2.2、 Algorithm principle

Multi level feedback queue scheduling ( multilevel fedback queue schduling ) The algorithm adopts multi ready queue structure , As shown in the figure . Multiple ready queues are organized like this : The priority of each ready queue decreases in order , The length of the time slice increases in order . That is, the priority of the ready process in the queue with a small ordinal number is higher than that in the queue with a large ordinal number , But it gets CPU The time slice is shorter than the latter . For each ready queue with a certain priority, the processes in the queue are arranged in order .

image.png

When the process enters the ready queue from the waiting state , First enter the queue with a small number of people ; When a process is assigned to a processor , Just give it a time slice corresponding to the ready queue ; When the time slice runs out , It was forced to release the processor , And go to the next level ( The ordinal number increases 1, The corresponding time slice also increases 1 times ) In the ready queue of : Although the time for its re execution has been delayed a little , But the next time you get the processor , The time slice has doubled ; When in the largest ordinal ready queue , The time slice can be infinite , That is, once the processor is allocated, it will run all the time .

When CPU Idle , First, look up from the ready queue with the lowest sequence number , Take the first element of the queue to run , If the ready queue is empty , Select the process to run from the next ready queue with increasing font size . And so on , The process in the ready queue with the largest sequence number only when all queues on it are empty , To have a chance to be dispatched .

thus it can be seen , This algorithm can first process those processes with shorter time in a smaller time slice , And allocate larger time slices to processes that take longer , In order to prevent the long process from being interrupted frequently and affecting the efficiency of the processor .

Multilevel feedback queue scheduling is more general CPU Scheduling algorithm , But it is also a more complex algorithm .

9.2.3、 give an example

image.png

10、 Scheduling algorithm summary

image.png

notes : Compared with the early batch operating system , Because the cost of computers has been greatly reduced , So then came the interactive operating system ( Including time-sharing operating system 、 Real time operating system, etc ) Pay more attention to the response time of the system 、 Fairness 、 Balance and other indicators . These algorithms can also better meet the needs of interactive system . Therefore, these three algorithms are suitable for interactive systems .( such as UNIX The multi-level feedback queue scheduling algorithm is used )


 

copyright notice
author[Java Xiaohai],Please bring the original link to reprint, thank you.
https://en.cdmana.com/2022/01/202201270015239178.html

Random recommended