Now, with Embedded Linux system widely used in embedded products, real-time control and other fields, enhancing real-time of embedded Linux kernel has become particularly important, and the core of embedded Linux kernel is task-scheduling, optimization of task- scheduling and the fundamental improvement of real-time is scheduling algorithm,research on real-time scheduling algorithm is an important research direction of real-time field . Now ,most of the scheduling algorithms which many scholars have been trying them best to improve are based on priority, and a lot of new algorithms had been proposed, but these scheduling algorithms is not ideal to maintaine system stability and keep real-time of the system. To add "free time/slack" related properties to task control blocks has become a new idea in the area of task scheduling algorithm, and it will lead to wider concern and attention.In addition,Linux systems can only be for a particular type of task scheduling, this scheduling pattern is no longer applicable.This paper focuses on the improvement of task scheduling algorithm so as to improve system stability and real-time.This paper's studies are as follows:(1) Describing the development of embedded Linux operating system, and analysing the importance and popularity of the embedded Linux used in embedded products, real-time control area and so on.At last,summarizing the reasons why Linux system is not strong at real-time.(2) After studying,found that the core of Linux has only a single real-time scheduling pattern, cannot carry out more than one task-scheduling algorithms.By porting the General Scheduling Framework for Linux real-time systems to meet the time constraints of real-time tasks and optimizing the general scheduling framework ,can help linux operating system perform a wide variety of scheduling algorithm more flexible.(3) Analysing the task scheduling algorithm of embedded Linux,consideraing the deficiencies of algorithm to meet the system's real-time and stability, a modified LLF algorithm is proposed:first adding "slack" related properties in the task control block, each task is assigned a priority by its slack and a value ,thereby a dual priority system ia formed. When the slack of tasks are similar or equal, the value of them are compared,then the task which has a bigger value is run.(4) After achieving optimized general scheduling framework, designing and implementing the improved scheduling algorithm, test the number of task switching, the number of deadline missed, real-time and reliability of system which is in the normal and overloading system situations,finally use the experimental test results to prove the correctness and feasibility of the proposed algorithm and effectiveness of the framework. |