Font Size: a A A

The Research On Scheduling System Of Linux Operating System

Posted on:2012-06-08Degree:MasterType:Thesis
Country:ChinaCandidate:B ZhangFull Text:PDF
GTID:2218330338464973Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
The scheduling system of operating system has been a hot research topic for many years. As the technology develops, the multi-core processor has become the mainstream, and this brings new challenges to the research on task scheduling of operating system, especially to the research on the function of load balancing. Load balancing aims to distribute the tasks evenly among the several cores of a processor. This is very important for improving the performance of the whole system and reducing the average time of task execution.In this thesis, we focus on the topic of task scheduling and load balancing of Linux kernel due to its free access to the source code. Firstly, the definitions of task, or process, and thread in the kernel are introduced as well as the basic task scheduling algorithms. Then we probe the two main task schedulers used in Linux 2.6 kernel: O(1) scheduler and CFS scheduler. Based on this, we analyze the drawbacks of the current scheduler, especially its limitation in load balancing. At last, we bring forward measures to improve the load balancing system of Linux kernel.The current load balancer of Linux kernel is based on the number of tasks in the running queue of CPU and neglects the different types and characteristics of tasks. So we put forward a new load balancing algorithm based on multi-targets taking the usage of CPU, memory and I/O into account. Then we investigate how to decide which tasks can be immigrated and how to immigrate them. At last, we implement our algorithm by modifying some data structures and several functions in the kernel. As the experiment shows, our new load balancer is better to some extent.
Keywords/Search Tags:Linux, Multi-core, Task Scheduling, Load Balancing
PDF Full Text Request
Related items