อัลกอริทึมการจัดตารางเวลาใน Windows XP


2

มีใครบ้างที่ตอนนี้มีการใช้อัลกอริทึมการตั้งเวลาใน windows xp? มีความเป็นไปได้ที่จะติดตั้ง / ใช้อัลกอริทึม ULE หรือไม่? ฉันคิดว่าไม่

ขอขอบคุณ.

คำตอบ:


2

AFAIK คุณไม่สามารถเปลี่ยน (เช่นติดตั้ง) อัลกอริทึมการตั้งเวลาต่าง ๆ ของ windows มันนำมาใช้เมื่อมีการออกแบบ และฉันยังอ่านบางแห่งที่ระบบปฏิบัติการที่ใช้ Windows NT ใช้คิวคำติชมหลายระดับเป็นอัลโกกำหนดเวลา

คิวข้อเสนอแนะหลายระดับเป็นอัลกอริทึมการตั้งเวลา มีวัตถุประสงค์เพื่อให้เป็นไปตามข้อกำหนดการออกแบบต่อไปนี้สำหรับระบบมัลติโหมด:

  1. ให้ความพึงพอใจกับงานสั้น ๆ
  2. กำหนดค่าตามความชอบให้กับกระบวนการที่ผูกไว้กับ I / O
  3. กำหนดลักษณะของกระบวนการได้อย่างรวดเร็วและกำหนดเวลาของกระบวนการให้สอดคล้องกัน

มีการใช้คิว FIFO หลายอันและการดำเนินการดังต่อไปนี้:

  1. กระบวนการใหม่จะถูกวางตำแหน่งที่ส่วนท้ายของคิว FIFO ระดับบนสุด
  2. ในบางขั้นตอนกระบวนการมาถึงส่วนหัวของคิวและกำหนด CPU
  3. หากกระบวนการเสร็จสมบูรณ์ก็จะออกจากระบบ
  4. หากกระบวนการยกเลิกการควบคุมอีกครั้งโดยสมัครใจระบบจะออกจากเครือข่ายการจัดคิวและเมื่อกระบวนการพร้อมอีกครั้งกระบวนการจะเข้าสู่ระบบในระดับคิวเดียวกัน
  5. หากกระบวนการใช้เวลาควอนตัมทั้งหมดจะถูกจองล่วงหน้าและวางไว้ที่ส่วนท้ายของคิวระดับล่างถัดไป
  6. สิ่งนี้จะดำเนินต่อไปจนกว่ากระบวนการจะเสร็จสมบูรณ์หรือไปถึงคิวระดับฐาน

    • ที่คิวระดับฐานกระบวนการที่หมุนเวียนในรูปแบบโรบินรอบจนกว่าพวกเขาจะเสร็จสมบูรณ์และออกจากระบบ
    • เป็นทางเลือกถ้ากระบวนการบล็อกสำหรับ I / O มันคือ 'เลื่อนระดับ' หนึ่งระดับและวางที่ท้ายคิวถัดไปที่สูงที่สุด สิ่งนี้อนุญาตให้ I / O กระบวนการที่ถูกผูกไว้ได้รับการสนับสนุนโดยตัวจัดตารางเวลาและอนุญาตให้กระบวนการ 'หนี' คิวระดับฐาน

ในคิวข้อเสนอแนะหลายระดับกระบวนการจะได้รับโอกาสเพียงครั้งเดียวที่จะดำเนินการให้เสร็จสมบูรณ์ในระดับคิวที่กำหนดก่อนที่จะถูกบังคับลงไปที่คิวระดับต่ำกว่า


นั่นไม่ใช่คำอธิบายที่ถูกต้องของตัวกำหนดตารางเวลาตระกูล Windows NT ในขั้นตอนที่ 1 เปลี่ยน "คิว FIFO ระดับบนสุด" เป็น "คิวสำหรับลำดับความสำคัญปัจจุบัน" สำหรับขั้นตอนที่ 6 เปลี่ยน "คิวระดับฐาน" เป็น "คิวสำหรับลำดับความสำคัญพื้นฐาน" (ซึ่งโดยปกติจะไม่ใช่คิวระดับต่ำสุดในระบบ) นอกจากนี้การส่งเสริมการขายสำหรับการเติม I / O ให้สมบูรณ์นั้นมีจำนวนระดับที่แตกต่างกันไปขึ้นอยู่กับอุปกรณ์ I / O และเปลี่ยน "กระบวนการ" เป็น "ด้าย" ตลอด มีมากขึ้น; ดูหนังสือWindows Internals
เจมี่ Hanrahan

เมื่อฉันใช้ XP มันมีลักษณะการทำงานของ round robin (โดยไม่ต้องมีคิวติชมหลายระดับ): งานที่ใช้ cpu เข้มข้นเพียงงานเดียวจะทำให้ระบบเสียหาย ฉันคิดว่าฉันอ่านที่ไหนสักแห่งที่พวกเขาเพิ่มคิวข้อเสนอแนะหลายระดับด้วย SMP และมีเคอร์เนลสองแบบที่แตกต่างกันขึ้นอยู่กับว่าคุณมีมัลติคอร์หรือไม่ สิ่งนี้จะอธิบายได้ว่าทำไมไมโครซอฟท์บอกเราว่าเราต้องการระบบแกนกลางเพื่อการทำงานแบบมัลติทาสกิ้งที่ดีขึ้น (จำเป็นต้องได้รับประสิทธิภาพขั้นพื้นฐานที่เราคุ้นเคยในยูนิกซ์) ฉันคิดว่าตัวจัดตารางเวลาที่ดีกว่านี้เปิดใช้งานได้แม้ในแกนเดียว
ctrl-alt-delor

@ Richard หมายเลขมันเป็นหลายระดับ (ระดับความสำคัญ 32 ระดับ) ตั้งแต่ NT 3.1
เจมี่ Hanrahan

ประสิทธิภาพก็ยังแย่เมื่อกระบวนการพยายามที่จะทำให้ cpu (สมมติว่าหนึ่ง cpu-core หรือหนึ่ง hog ต่อ core)
ctrl-alt-delor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.