แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่างการขัดจังหวะและการสำรวจในระบบปฏิบัติการ

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

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

แผนภูมิเปรียบเทียบ

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

ความหมายของการขัดจังหวะ

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

แม้ว่า CPU จะไม่ทราบว่าจะเกิดการขัดจังหวะเนื่องจากสามารถเกิดขึ้นได้ทุกเวลา แต่จะต้องตอบสนองต่อการขัดจังหวะเมื่อใดก็ตามที่เกิดขึ้น

เมื่อตัวจัดการขัดจังหวะการดำเนินการขัดจังหวะเสร็จสิ้น CPU จะกลับมาทำงานต่อ ตามการดำเนินการของงานที่หยุดเพื่อตอบสนองการขัดจังหวะ ซอฟต์แวร์ ฮาร์ดแวร์ ผู้ใช้ ข้อผิดพลาดบางอย่างในโปรแกรม และอื่น ๆ ยังสามารถสร้างการขัดจังหวะ การขัดจังหวะการจัดการลักษณะของ CPU นำไปสู่การ ทำงานหลายอย่าง เช่นผู้ใช้สามารถทำงานต่าง ๆ ได้หลายอย่างในเวลาเดียวกัน

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

ความหมายของการสำรวจ

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

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

อัลกอริทึมสำหรับการสำรวจ

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

ความแตกต่างที่สำคัญระหว่างการขัดจังหวะและการสำรวจในระบบปฏิบัติการ

  1. ในการขัดจังหวะอุปกรณ์จะแจ้งให้ CPU ทราบว่าจำเป็นต้องให้บริการในขณะที่ในการเรียกใช้ CPU ตรวจสอบซ้ำ ๆ ว่าอุปกรณ์นั้นต้องการการบริการหรือไม่
  2. การขัดจังหวะเป็น กลไก ฮาร์ดแวร์ ในขณะที่ CPU มีสายสัญญาณ ร้องขอการขัดจังหวะ ซึ่งสัญญาณที่เกิดการขัดจังหวะ ในทางกลับกัน Polling เป็น โปรโตคอล ที่คอยตรวจสอบ บิตควบคุม เพื่อแจ้งว่าอุปกรณ์มีบางสิ่งที่จะดำเนินการหรือไม่
  3. ตัวจัดการขัดจังหวะจัดการ การขัดจังหวะที่สร้างขึ้นโดยอุปกรณ์ ในทางกลับกันหน่วย ประมวลผลกลาง ให้บริการอุปกรณ์เมื่อพวกเขาต้องการ
  4. อินเทอร์รัปต์ส่งสัญญาณโดย บรรทัดคำขอ อินเตอร์รัปต์ อย่างไรก็ตามบิต Command-ready ระบุว่าอุปกรณ์ต้องการการบริการ
  5. ในการขัดจังหวะ CPU จะถูกรบกวนเมื่ออุปกรณ์ใด ๆ ขัดจังหวะ ในทางกลับกันในการทำโพล, CPU เสียรอบ CPU มากโดยการตรวจสอบบิตพร้อมคำสั่งของทุกอุปกรณ์ซ้ำ ๆ
  6. การขัดจังหวะสามารถเกิดขึ้นได้ ทันที ในขณะที่ CPU จะคอยทำการสำรวจอุปกรณ์ใน ช่วงเวลาปกติ
  7. การทำโพลจะไม่มีประสิทธิภาพเมื่อ CPU ทำการสำรวจอุปกรณ์และไม่ค่อยพบอุปกรณ์ใด ๆ ที่พร้อมให้บริการ ในทางตรงกันข้ามการขัดจังหวะจะไม่มีประสิทธิภาพเมื่ออุปกรณ์หยุดการประมวลผล CPU ซ้ำ ๆ

สรุป:

ทั้งการสำรวจและขัดจังหวะมีประสิทธิภาพในการเข้าร่วมอุปกรณ์ I / O แต่พวกเขาจะไม่มีประสิทธิภาพในเงื่อนไขบางอย่างตามที่กล่าวไว้ข้างต้น

Top