ความแตกต่างระหว่างการเรียกของระบบและการขัดจังหวะ

ความแตกต่างระหว่างการเรียกของระบบและการขัดจังหวะ
ความแตกต่างระหว่างการเรียกของระบบและการขัดจังหวะ

วีดีโอ: ความแตกต่างระหว่างการเรียกของระบบและการขัดจังหวะ

วีดีโอ: ความแตกต่างระหว่างการเรียกของระบบและการขัดจังหวะ
วีดีโอ: รู้จัก Photoshop CS5 2024, พฤศจิกายน
Anonim

การโทรของระบบเทียบกับการขัดจังหวะ

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

การเรียกระบบคืออะไร

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

การขัดจังหวะคืออะไร

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

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

การเรียกระบบและการขัดจังหวะแตกต่างกันอย่างไร

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