doc

Preemptive Scheduling Strategy in Embedded Operating Systems

  • 2013-09-29
  • 41KB
  • Points it Requires : 2

              Preemptive Scheduling Strategy in Embedded Operating Systems Preemptive Scheduling Strategy in Embedded Operating Systems Abstract Most embedded operating systems use preemptive scheduling. This article mainly describes the scheduling strategy and principle of embedded operating systems that use preemptive scheduling for task scheduling. Keywords Preemptive Multitasking Interrupt By reading the source code of a sequential program line by line, it is not difficult to tell what specific operations the program will ask the processor to perform, and the order of these operations. In fact, if all the inputs to a sequential program are known, it is not only possible to accurately predict the series of machine codes executed by the processor, but also to calculate the final output value or system behavior of the system. In this way, no matter how fast or slow the program runs, a unique result can be obtained. However, sequential operation programs are rare in reality. For example, the main() function in the C program of an embedded system, although it looks sequential, this seemingly sequential program will eventually be interrupted by the system\'s hardware interrupt at a certain moment. When a peripheral device interrupt occurs, the corresponding interrupt service program will run, replacing the current main() function. This process can be called preemption. Preemption means that the main() function will execute at a slower speed than expected. This is because its execution speed is directly related to the number of system interrupts, the execution time of the interrupt program, and the operation time used to save and restore the processor state. In essence, most of the processor cycles are occupied by interrupt service routines. Unless there is a time limit on the interrupt service routine, these interrupts themselves will not change the output of other parts of the system, they just slow down the execution of the program. Since most interrupt service routines handle interrupts from system devices, their execution will inevitably bring about a change in the system state. This change in state will eventually change the system behavior in the subsequent instruction main sequence, and the instruction main sequence must respond appropriately to avoid the impact of the state change. At this time, it is not only difficult to predict the operations that the processor will perform, but also difficult to know when and in what order to perform these operations. Most processors support nested interrupts. An interrupt service routine that interrupts the execution of the program sequence can be interrupted by another interrupt service routine with a higher priority. When the high-priority interrupt service routine...             

unfold

You Might Like

Uploader
flexbuilder
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×