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

ผู้เขียน: Laura McKinney
วันที่สร้าง: 2 เมษายน 2021
วันที่อัปเดต: 9 พฤษภาคม 2024
Anonim
TWedge Tutorial #3: Data Collection with Multiple Devices
วิดีโอ: TWedge Tutorial #3: Data Collection with Multiple Devices

เนื้อหา


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

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

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

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

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


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

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

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

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


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

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

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

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

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

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

สรุป:

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