预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux内核2.6.24的CFS调度器分析 Introduction TheCompletelyFairScheduler(CFS)isaprocessschedulerfirstintroducedintheLinuxkernelversion2.6.23.ItisdesignedtoprovidefairallocationofCPUresourcestoallprocessesinthesystem,regardlessoftheirpriorityortype.ThisisachievedbyusingasophisticatedalgorithmthatcontinuouslycalculatestherelativesharesofCPUtimeforeachprocess.Inthispaper,wewillanalyzeandexplaintheCFSschedulerintheLinuxkernelversion2.6.24. CFSSchedulerOverview TheCFSschedulerhastwomaindatastructures:thered-blacktreeandtherunqueue.Thered-blacktreeisusedtokeeptrackoftheactivetasks,withthemostCPU-hungrytasksatthetopofthetree.Therunqueue,ontheotherhand,isusedtokeeptrackofthetasksreadytorunontheCPU. Inaddition,theCFSschedulerusesatime-basedschedulingapproachinsteadofthetraditionalpriority-basedapproach.Thismeansthattheschedulerpreferstoscheduletasksbasedontheirruntimeinsteadoftheirpriority.Theschedulermaintainsavirtualruntimecounterforeachtask,whichrepresentstheamountoftimethetaskhasspentontheCPUrelativetoitsshareoftheCPUresources. TheCFSschedulerworksbyconstantlymonitoringthevirtualruntimeofeachtaskandthenscalingthevirtualruntimerelativetothetotalnumberoftasksrunningontheCPU.ThismeansthattasksthathaveusedarelativelysmallamountoftheirshareofCPUresourceswillbegivenahigherpriorityoverthosetasksthathaveusedalargeramountofCPUresources. TheCFSschedulerhasamechanismknownastheminimumtimeslice,whichensuresthatnotaskcanrunindefinitelyontheCPU.Onceataskhasexhausteditstimeslice,itismovedtotheendoftherunqueue,andthenexttaskinlineisscheduledtorunontheCPU. InordertoensurethattheCFSschedulerisasfairaspossible,theschedulerusestwoseparatemetricstomeasurefairness:thetimethateachtaskhasspentwaitingintherunqueueandthetimethateachtaskhasspentrunningontheCPU.Byusingthesemetrics,theschedulerisabletoensurethatalltasksaregivenanequalopportunitytorunontheCPU,regardlessoftheirpriorityortype. AdvantagesandDisadvantages TheCFSschedulerhasseveraladvantagesovertraditionalpriority-basedschedulers.Firstly,theCFSsched