กลับไปหน้าบทความ

อ่าน 2 นาที

คิวอินพุต

ใน วิทยาการคอมพิวเตอร์ คิว อินพุต คือกลุ่มของกระบวนการใน หน่วยเก็บข้อมูล ที่รอการนำเข้าสู่ หน่วยความจำ เพื่อเรียกใช้โปรแกรม คิวอินพุตส่วนใหญ่ใช้ในการจัดตารางเวลาของระบบปฏิบัติการ...

คิวอินพุต

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

ในวิทยาการคอมพิวเตอร์คิวอินพุตคือกลุ่มของกระบวนการในหน่วยเก็บข้อมูลที่รอการนำเข้าสู่หน่วยความจำเพื่อเรียกใช้โปรแกรม คิวอินพุตส่วนใหญ่ใช้ในการจัดตารางเวลาของระบบปฏิบัติการ ซึ่งเป็นเทคนิคในการกระจายทรัพยากรระหว่างกระบวนการต่างๆ คิวอินพุตไม่เพียงแต่ใช้กับระบบปฏิบัติการ (OS) เท่านั้น แต่ยังสามารถนำไปใช้กับการจัดตารางเวลาภายในอุปกรณ์เครือข่ายได้อีกด้วย จุดประสงค์ของการจัดตารางเวลาคือเพื่อให้แน่ใจว่าทรัพยากรได้รับการกระจายอย่างยุติธรรมและมีประสิทธิภาพ ดังนั้นจึงช่วยปรับปรุงประสิทธิภาพของระบบ

โดยพื้นฐานแล้ว คิวคือกลุ่มของข้อมูลที่มีการเพิ่มเข้ามาจากตำแหน่งด้านหลังและถูกลบออกจากตำแหน่งด้านหน้า มีคิวหลายประเภท และวิธีการทำงานอาจแตกต่างกันอย่างสิ้นเชิง ระบบปฏิบัติการใช้คิวแบบมาก่อนได้ก่อน (First-Come, First-Served), เวลาที่เหลือสั้นที่สุด (Shortest remaining time) , การจัดตารางเวลาแบบลำดับความสำคัญคงที่แบบแทรกแซง (Fixed-priority pre-emptive scheduling) , การจัดตารางเวลาแบบ วนรอบ (Round-robin scheduling)และการจัดตารางเวลาคิวหลายระดับ (Multilevel queue scheduling) อุปกรณ์เครือข่ายใช้คิวแบบเข้าก่อนออกก่อน (First-In-First-Out), คิวแบบถ่วงน้ำหนักที่เป็นธรรม (Weighted fair queue), คิวลำดับความสำคัญ (Priority queue)และคิวแบบกำหนดเอง (Custom queue)

ระบบปฏิบัติการ

ในระบบปฏิบัติการ กระบวนการต่างๆ จะถูกโหลดเข้าไปในหน่วยความจำ และรอคิวที่จะถูกประมวลผลโดยหน่วยประมวลผลกลาง (CPU) การจัดตารางเวลาของ CPU จะจัดการสถานะของกระบวนการและตัดสินใจว่ากระบวนการใดจะถูกประมวลผลเป็นลำดับถัดไปโดยใช้คิวอินพุต

เข้าก่อนออกก่อน

กระบวนการแบบเข้าก่อนออกก่อน (First-in, First-out) จะถูกดึงออกจากคิวตามลำดับที่ใส่เข้าไปในคิว ด้วยวิธีนี้ ทุกกระบวนการจะได้รับการปฏิบัติอย่างเท่าเทียมกัน หากมีสองกระบวนการที่มีลำดับความสำคัญต่างกัน และกระบวนการที่มีลำดับความสำคัญต่ำกว่าเข้าคิวเป็นอันดับแรก กระบวนการนั้นจะถูกดำเนินการก่อน วิธีนี้อาจไม่เหมาะสมหากกระบวนการต่างๆ มีลำดับความสำคัญต่างกัน โดยเฉพาะอย่างยิ่งหากกระบวนการเหล่านั้นใช้เวลานาน

เวลาที่เหลือน้อยที่สุด

วิธีการจัดลำดับเวลาที่เหลือน้อยที่สุดพยายามคาดการณ์เวลาในการประมวลผลของงานพัฒนาต่างๆ และจัดลำดับงานเหล่านั้นในคิวจากเวลาในการประมวลผลน้อยที่สุดไปมากที่สุด วิธีนี้ประมาณและคาดการณ์โดยอาศัยบันทึกประวัติก่อนหน้า ในแง่ของประสิทธิภาพนั้นไม่คงที่ แต่ช่วยปรับปรุงเวลาการรอคอยของกระบวนการได้ดีกว่าวิธีการมาก่อนได้ก่อน (First-Come, First-Served)

การจัดตารางเวลาแบบลำดับความสำคัญคงที่แบบแทรกแซง

วิธีการจัดตารางการทำงานแบบลำดับความสำคัญคงที่และแทรกแซงได้ จะกำหนดลำดับความสำคัญที่แตกต่างกันให้กับกระบวนการต่างๆ โดยพิจารณาจากเวลาในการประมวลผล และจัดเรียงกระบวนการเหล่านั้นลงในคิวตามลำดับความสำคัญ CPU จะให้บริการกระบวนการที่มีลำดับความสำคัญสูงไปยังกระบวนการที่มีลำดับความสำคัญต่ำ และกระบวนการที่มีลำดับความสำคัญเท่ากันจะได้รับการประมวลผลแบบมาก่อนได้ก่อน (First-Come, First-Served) CPU จะหยุดให้บริการกระบวนการที่มีลำดับความสำคัญต่ำชั่วคราวเมื่อมีกระบวนการที่มีลำดับความสำคัญสูงกว่าเข้ามาในคิว

การจัดตารางแบบหมุนเวียน

วิธีการจัดตารางงานแบบ Round-robin จะจัดสรรเวลาเท่ากันให้กับแต่ละกระบวนการและวนรอบการทำงาน วิธีนี้อาศัยการกำหนดเวลาที่เหมาะสมให้กับแต่ละกระบวนการเป็นหลัก หากกำหนดเวลาสั้นเกินไปจะทำให้กระบวนการแตกกระจาย และหากกำหนดเวลานานเกินไปจะทำให้เวลาในการรอการประมวลผลแต่ละกระบวนการเพิ่มขึ้น การเลือกเวลาที่เหมาะสมจึงเป็นหัวใจสำคัญของวิธีการนี้

การจัดตารางคิวหลายระดับ

วิธีการจัดตารางงานแบบคิวหลายระดับใช้คิวหลายคิว โดยแต่ละคิวอาจมีอัลกอริธึมการจัดตารางงานของตนเอง การจัดตารางงานแบบคิวหลายระดับมีความซับซ้อนกว่าวิธีการอื่นๆ แต่ให้ความยืดหยุ่นแก่ระบบปฏิบัติการในการตอบสนองความต้องการเวลาตอบสนองที่แตกต่างกันในสถานการณ์ที่ซับซ้อน

การสร้างเครือข่าย

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

ระบบเข้าก่อนออกก่อน (FIFO)

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

ระบบคิวยุติธรรมแบบถ่วงน้ำหนัก (WFQ)

คิวแบบถ่วงน้ำหนัก (Weighted fair queue) ใช้หลักการ min-max-fair-share ในการกระจายแพ็กเก็ต โดย min fair-share หมายความว่าระบบปฏิบัติการเครือข่ายจะจัดสรรทรัพยากรขั้นต่ำอย่างเท่าเทียมกันสำหรับแพ็กเก็ตแต่ละประเภท ส่วน max fair-share หมายความว่าระบบปฏิบัติการเครือข่ายจะจัดสรรทรัพยากรมากขึ้นสำหรับแพ็กเก็ตที่ต้องการถ่ายโอนข้อมูลจำนวนมากในขณะนั้น แต่จะดึงทรัพยากรกลับคืนหลังจากถ่ายโอนเสร็จสิ้นแล้ว คำว่า “ถ่วงน้ำหนัก” (Weighted) หมายความว่าตัวจัดตารางเวลา (scheduler) จะกำหนดน้ำหนักให้กับแพ็กเก็ตแต่ละประเภท โดยจะพิจารณาจากน้ำหนักนั้นว่าจะใส่แพ็กเก็ตลงในคิวและให้บริการอย่างไร โดยปกติแล้ว น้ำหนักของแต่ละแพ็กเก็ตจะขึ้นอยู่กับฟิลด์ IP Precedence จากส่วนหัว IP ของแต่ละแพ็กเก็ต

การจัดสรรอย่างเป็นธรรม = (ความจุของทรัพยากร – ทรัพยากรที่จัดสรรไปแล้ว) / จำนวนแพ็กเก็ต

คิวลำดับความสำคัญ (PQ)

คิวลำดับความสำคัญถูกแบ่งออกเป็น 4 คิวย่อยที่มีลำดับความสำคัญแตกต่างกัน ข้อมูลในแต่ละคิวจะได้รับการประมวลผลก็ต่อเมื่อคิวที่มีลำดับความสำคัญสูงกว่าว่างลงเท่านั้น หากมีข้อมูลเข้ามาในคิวที่มีลำดับความสำคัญสูงกว่าที่ว่างอยู่ ในขณะที่ระบบปฏิบัติการเครือข่ายกำลังถ่ายโอนข้อมูลของคิวที่มีลำดับความสำคัญต่ำกว่า ระบบปฏิบัติการเครือข่ายจะเก็บข้อมูลของคิวที่มีลำดับความสำคัญต่ำกว่าไว้ และประมวลผลข้อมูลในคิวที่มีลำดับความสำคัญสูงกว่าก่อน ระบบปฏิบัติการเครือข่ายไม่สนใจว่าคิวที่มีลำดับความสำคัญต่ำกว่าจะต้องรอนานแค่ไหน เพราะมันจะประมวลผลแต่ละคิวจากลำดับความสำคัญสูงสุดไปยังลำดับความสำคัญต่ำสุดก่อนเสมอ ภายในแต่ละคิว แพ็กเก็ตจะถูกส่งต่อตามหลักการเข้าก่อนออกก่อน (First-In-First-Out)

คิวแบบกำหนดเอง (CQ)

คิวแบบกำหนดเองแบ่งออกเป็น 17 คิวย่อย คิวแรกคือคิว 0 ซึ่งสงวนไว้สำหรับระบบปฏิบัติการเครือข่ายเพื่อส่งแพ็กเก็ตระบบ ส่วนอีก 16 คิวที่เหลือใช้สำหรับแพ็กเก็ตที่ผู้ใช้กำหนด ผู้ใช้สามารถกำหนดแพ็กเก็ตสำคัญต่างๆ และกำหนดให้กับแต่ละคิวได้ แต่ละคิวมีขนาดจำกัด และจะทิ้งแพ็กเก็ตที่เข้ามาทั้งหมดหากถึงขีดจำกัดนั้น การให้บริการแต่ละคิวจะขึ้นอยู่กับจำนวนแพ็กเก็ตที่ส่งเข้ามา หากถึงขีดจำกัดแล้ว ระบบปฏิบัติการเครือข่ายจะเก็บแพ็กเก็ตของคิวปัจจุบันไว้และให้บริการคิวถัดไปจนกว่าคิวนั้นจะว่างหรือถึงขีดจำกัดแพ็กเก็ต หากคิวใดคิวหนึ่งว่าง ระบบปฏิบัติการเครือข่ายจะข้ามคิวนั้นและให้บริการคิวถัดไป

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Input_queue&oldid=1310175822 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ คิวอินพุต

ใน วิทยาการคอมพิวเตอร์ คิว อินพุต คือกลุ่มของกระบวนการใน หน่วยเก็บข้อมูล ที่รอการนำเข้าสู่ หน่วยความจำ เพื่อเรียกใช้โปรแกรม คิวอินพุตส่วนใหญ่ใช้ในการจัดตารางเวลาของระบบปฏิบัติการ...

ระบบปฏิบัติการ

ในระบบปฏิบัติการ กระบวนการต่างๆ จะถูกโหลดเข้าไปในหน่วยความจำ และรอคิวที่จะถูกประมวลผลโดย หน่วยประมวลผลกลาง (CPU) การจัดตารางเวลาของ CPU จะจัดการสถานะของกระบวนการและตัดสินใจว่ากระบวนการใดจะถูกประมวลผลเป็นลำดับถัดไปโดยใช้คิวอินพุต

เข้าก่อนออกก่อน

กระบวนการแบบเข้าก่อนออกก่อน (First-in, First-out) จะถูกดึงออกจากคิวตามลำดับที่ใส่เข้าไปในคิว ด้วยวิธีนี้ ทุกกระบวนการจะได้รับการปฏิบัติอย่างเท่าเทียมกัน หากมีสองกระบวนการที่มีลำดับความสำคัญต่างกัน และกระบวนการที่มีลำดับความสำคัญต่ำกว่าเข้าคิวเป็นอันดับแรก...

เวลาที่เหลือน้อยที่สุด

วิธีการจัดลำดับเวลาที่เหลือน้อยที่สุดพยายามคาดการณ์เวลาในการประมวลผลของงานพัฒนาต่างๆ และจัดลำดับงานเหล่านั้นในคิวจากเวลาในการประมวลผลน้อยที่สุดไปมากที่สุด วิธีนี้ประมาณและคาดการณ์โดยอาศัยบันทึกประวัติก่อนหน้า ในแง่ของประสิทธิภาพนั้นไม่คงที่...