การขัดจังหวะ (Interrupt) คือสัญญาณที่ส่งออกมาจากฮาร์ดแวร์หรือซอฟต์แวร์เมื่อกระบวนการหรือเหตุการณ์ใดเหตุการณ์หนึ่งต้องการความสนใจอย่างเร่งด่วน มันจะแจ้งเตือนโปรเซสเซอร์ถึงกระบวนการที่มีลำดับความสำคัญสูงซึ่งจำเป็นต้องขัดจังหวะกระบวนการทำงานปัจจุบัน
การขัดจังหวะ ที่ทำให้การทำงานปกติของโปรแกรมหยุดชะงักมีสอง ประเภทหลัก ได้แก่:
การขัดจังหวะภายนอก การขัดจังหวะภายใน การขัดจังหวะภายนอก สัญญาณขัดจังหวะภายนอกมาจากอุปกรณ์อินพุต-เอาต์พุต (I/O)
ตัวอย่างบางส่วนที่ทำให้เกิดการขัดจังหวะจากภายนอก:
อุปกรณ์ I/O ที่ร้องขอการถ่ายโอนข้อมูล อุปกรณ์ I/O เสร็จสิ้นการถ่ายโอนข้อมูลแล้ว เมื่อโปรแกรมทำงานในลูปไม่สิ้นสุดและเกินขีดจำกัดเวลา จะเกิดการขัดจังหวะภายนอกขึ้น ซึ่งเรียกว่าการขัดจังหวะหมดเวลา (Timeout Interrupt) ในระหว่างการถ่ายโอนสถานะทั้งหมดของ CPU ไปยังหน่วยความจำที่ไม่ทำลายข้อมูลภายในไม่กี่มิลลิวินาทีก่อนที่ไฟฟ้าจะดับลง จะเกิดการขัดจังหวะจากภายนอกขึ้น ข้อดีของการใช้ตัวขัดจังหวะภายนอก
ความยืดหยุ่นที่เพิ่มขึ้น: การขัดจังหวะภายนอกช่วยให้ระบบสามารถตอบสนองต่อเหตุการณ์ภายนอก เช่น การป้อนข้อมูลจากผู้ใช้หรือเซ็นเซอร์ภายนอกได้แบบเรียลไทม์ ซึ่งจะช่วยเพิ่มความยืดหยุ่นของระบบได้อย่างมาก เนื่องจากไม่ได้จำกัดอยู่แค่รอบการทำงานที่ตายตัวความสามารถในการตอบสนองต่อเหตุการณ์ภายนอก: การขัดจังหวะจากภายนอกเป็นกลไกที่ช่วยให้ระบบสามารถตอบสนองต่อเหตุการณ์ภายนอกที่อาจเกิดขึ้นได้ตลอดเวลา これにより ระบบจึงสามารถดำเนินการต่างๆ เพื่อตอบสนองต่อการเปลี่ยนแปลงในสภาพแวดล้อม เช่น การป้อนข้อมูลจากผู้ใช้หรือข้อมูลที่เข้ามา โดยไม่จำเป็นต้องมีการตรวจสอบอย่างต่อเนื่องประสิทธิภาพและประสิทธิผลที่ดียิ่งขึ้น: การอนุญาตให้ระบบตอบสนองต่อเหตุการณ์ภายนอกแบบเรียลไทม์ การขัดจังหวะจากภายนอกสามารถปรับปรุงประสิทธิภาพและประสิทธิผลของระบบได้อย่างมาก เนื่องจากระบบจะไม่ถูกจำกัดด้วยการตรวจสอบการเปลี่ยนแปลงอย่างต่อเนื่องการประยุกต์ใช้การขัดจังหวะภายนอก
อุปกรณ์ป้อนข้อมูล: การขัดจังหวะภายนอกมักใช้ในอุปกรณ์ป้อนข้อมูล เช่น คีย์บอร์ด เมาส์ และทัชแพด เพื่อตอบสนองต่อการป้อนข้อมูลของผู้ใช้แบบเรียลไทม์ระบบเก็บรวบรวมข้อมูล: สามารถใช้การขัดจังหวะภายนอกในระบบเก็บรวบรวมข้อมูลเพื่อตอบสนองต่อข้อมูลที่เข้ามาและประมวลผลแบบเรียลไทม์ได้วิทยาการหุ่นยนต์: สามารถใช้การขัดจังหวะภายนอกในระบบหุ่นยนต์เพื่อตอบสนองต่อเหตุการณ์ภายนอก เช่น ข้อมูลจากเซ็นเซอร์หรือคำสั่งจากผู้ใช้ระบบเรียลไทม์: การขัดจังหวะภายนอกมักใช้ในระบบเรียลไทม์ เช่น ระบบควบคุมกระบวนการผลิตและอุปกรณ์ทางการแพทย์ เพื่อเป็นกลไกในการตอบสนองต่อเหตุการณ์ภายนอกแบบเรียลไทม์การขัดจังหวะภายใน การขัดจังหวะภายใน หรือที่เรียกว่ากับดัก เกิด ขึ้นจากการใช้คำสั่งที่ไม่ถูกต้อง
ตัวอย่างบางส่วนที่ทำให้เกิดการขัดจังหวะภายใน:
ข้อมูลการลงทะเบียนล้นเกิน พยายามหารด้วยศูนย์ รหัสการดำเนินการไม่ถูกต้อง สแต็กโอเวอร์โฟลว์ การละเมิดการคุ้มครอง สภาวะเหล่านี้มักเกิดขึ้นเนื่องจากการยุติการประมวลผลคำสั่งก่อนกำหนด
ข้อดีของการขัดจังหวะภายใน
ความง่ายในการใช้งาน: โดยทั่วไปแล้ว การขัดจังหวะภายในนั้นง่ายต่อการใช้งานมากกว่าการขัดจังหวะภายนอก เนื่องจากถูกกระตุ้นโดยเหตุการณ์ภายใน เช่น การโอเวอร์โฟลว์ของตัวจับเวลา มากกว่าเหตุการณ์ภายนอกประสิทธิภาพที่ดียิ่งขึ้น: ด้วยการใช้การขัดจังหวะภายใน ระบบสามารถทำงานได้ที่ระดับประสิทธิภาพที่สูงขึ้น เนื่องจากไม่ถูกจำกัดด้วยความจำเป็นในการตอบสนองต่อเหตุการณ์ภายนอกเวลาตอบสนองที่สม่ำเสมอ: การขัดจังหวะภายในให้เวลาตอบสนองที่สม่ำเสมอ เนื่องจากถูกกระตุ้นโดยเหตุการณ์ภายใน ซึ่งสามารถคาดการณ์ได้และสม่ำเสมอการประยุกต์ใช้การขัดจังหวะภายใน
ระบบที่ใช้ตัวจับเวลา: การขัดจังหวะภายในมักใช้ในระบบที่ใช้ตัวจับเวลาเพื่อกระตุ้นเหตุการณ์เป็นระยะ เช่น การรักษาเวลา การจัดตารางเวลา และการสลับงานระบบเรียลไทม์: สามารถใช้การขัดจังหวะภายในในระบบเรียลไทม์เพื่อให้การตอบสนองต่อเหตุการณ์ภายในได้อย่างสม่ำเสมอและทันท่วงทีระบบฝังตัว: การขัดจังหวะภายในมักใช้ในระบบฝังตัว เช่น ไมโครคอนโทรลเลอร์ เพื่อจัดการเหตุการณ์ภายใน เช่น การโอเวอร์โฟลว์ของตัวจับเวลา โดยไม่จำเป็นต้องอาศัยเหตุการณ์ภายนอกระบบมัลติทาสกิ้ง: ระบบมัลติทาสกิ้งใช้การขัดจังหวะภายในเพื่อสลับระหว่างงาน จัดการการจัดตารางเวลางาน และให้การตอบสนองแบบเรียลไทม์ต่อเหตุการณ์ภายในความแตกต่างระหว่างการขัดจังหวะภายนอกกับการขัดจังหวะภายใน