Linux kernel Idle Tick Eater (أو ما سيكون Task_struct الحالي عندما تكون وحدة المعالجة المركزية 0 ٪)

StackOverflow https://stackoverflow.com/questions/2700451

  •  01-10-2019
  •  | 
  •  

سؤال

ما هي العملية التي سيتم توجيهها بواسطة المؤشر "الحالي" في Kernel Linux ، عندما يكون تحميل وحدة المعالجة المركزية 0 ٪ ولا توجد أي عملية جاهزة للتشغيل؟

النظر في الموقف دون أي توفير للطاقة. ما هو اسم هذه العملية؟ أعتقد أن المهمة مع PID 0 سيتم تشغيلها وسيكون الرمز

rep nop

أو

HLT
هل كانت مفيدة؟

المحلول

Current سيكون PID 0 ، العملية swapper أو العملية الأخيرة ، والتي تسمى حظر syscall؟

http://oreilly.com/catalog/linuxkernel/chapter/ch10.html

لاحظ أنه إذا كانت قائمة Runqueue فارغة (لا توجد عملية قابلة للتشغيل باستثناء Swapper) ، فلا يتم إدخال الدورة والنقطة التالية إلى init_task. علاوة على ذلك ، إذا كانت جميع العمليات في قائمة Runqueue لها أولوية أقل من أو تساوي أولوية Prev ، فلن تحدث مفتاح العملية وسيستمر تنفيذ العملية القديمة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top