Font Size: a A A

The Research And Implementation Of Event Driven Scheduling Kernel

Posted on:2016-06-02Degree:MasterType:Thesis
Country:ChinaCandidate:L ZhouFull Text:PDF
GTID:2308330467498859Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Embedded operating system is used in some applications that require the cost,size, power consumption and many other special requirements, an embeddedoperating system can be adjuested according to application needs, so it will be moreflexible.Nowadays,the requirements of the real-time performance of real-timeoperating system of the applications in these fields are more and more strict.Therefore,the improvement of the response rate of the system has become the focus of researchin the field of embedded operating system. This paper researches the embeddedoperating system scheduling kernel based on event driven scheduling, realizes anevent-driven scheduling kernel.Firstly,this paper introduces the different between task-prority schedulingmechanism and event-prority scheduling mechanism based on researching some ofthe existing real-time embedded operating system, such as uC/OS-II and QF. Then weintroduce the advantages of event-priortity kernel and design idea of event-drivenscheduling kerner,it lays the theoretical foundation for event-driven scheduling kernel.Through the analysis and design, event-driven scheduling kernel usesevent-priority, single-stack, the subscriber-publisher model, non-reentrant task, staticevent pool. Then we design directory structure, data structure and event schedulingprocess.We have realized event control block class, event control block helper class, eventpool class and event pool helper class. Besides, we have realized event ready groupand event ready table, using these data strutcture we realize event-priorityscheduling and querying the highest priority event in O(1).In event-driven kernel, alltasks are RTC(Run To Compeletion), they run in the system stack, thus we can realizesingle-stack desgin.Users can manage event control block and event pool by usingevent helper class and event pool helper class, tasks in the system can regist event,process event and publish event, and they do not know each other, the kernel willschedule event, thus realizing the subscriper-publisher mode. In the task, we set a flag to mark if the task is running, if it is so, it will return, thus realizing the non-reentranttask mode.Finally, we take some tests in Win32platform and Arduino platform. In the testwe conclude that the event-driven scheduling kernel can run correctly. After test, wecalculate the memory occupied by task of event-driven kernel and task-event kernel inWin32platform.This paper describes the research of the event-driven scheduling mechnism kernal.Besides, we have implemented a simple kernal to verify the feasibility of this research.In this test, we can conclude that event-driven scheduling kernel’s tasks can save65.23%memory in average, in the prictical application, the memory saving rate willchange with the different execution order of tasks and specific tasks.Through thecomparision between event-driven scheduling kernel and task-driven schedulingkernel, we can see that event-driven scheduling kernel can save more memory and itis more efficient. On the other hand programmer can use little synchronizationmechanism by using event-driven scheduling kernel, so it can reduce the difficulty ofthe mult-thread programming. This paper verifies the correctness, feasibility,efficiency of event-driven embedded system scheduling kernel. This paper hasimportant reference value of improving the utilization of system resources andmaking the multi-thread programming easier.
Keywords/Search Tags:real-time operating system, QK, task-priority, event-driven, event-priority
PDF Full Text Request
Related items