ההבדל בין פסק ופטכודת

Anonim

פסיקה לעומת מלכודת

בכל מחשב, במהלך ביצועו הרגיל של תוכנית, יכולים להיות אירועים שיכולים לגרום למעבד להפסיק זמנית. אירועים כמו אלה נקראים interrupts. הפרעות יכולות להיגרם על ידי תקלות בתוכנה או בחומרה. Interrupts חומרה נקראים (פשוט) interrupts, בעוד interrupts תוכנה נקראים חריגים או מלכודות. חריגה היא פסיקה תוכנה שנוצרה באופן אוטומטי, בעוד מלכודת היא פסיקה של תוכנה שיוזמה על ידי המתכנת. לאחר הפסקות (תוכנה או חומרה) עולה, השליטה מועברת לשגרה מיוחדת שנקראת ISR (Interrupt Service Routing), אשר יכולה לטפל בתנאים המועלים על ידי ההפרעה.

-> ->

מה זה פסיקה?

המונח 'פסיקה' שמור בדרך כלל לפסיקות חומרה . הן הפרעות של בקרת תוכניות הנגרמות על ידי אירועי חומרה חיצוניים. כאן, חיצוני פירושו חיצוני למעבד . הפרעות בחומרה בדרך כלל מגיעות ממקורות רבים ושונים כגון שבב קוצב זמן, מכשירים היקפיים (מקלדות, עכבר וכו '), יציאות קלט / פלט (טורי, מקבילי וכו'), כונני דיסקים, שעון CMOS, כרטיסי הרחבה כרטיס, כרטיס וידאו, וכו '). פירוש הדבר שקטעי חומרה כמעט לעולם אינם מתרחשים עקב אירוע הקשור לתוכנית הביצוע. לדוגמה, אירוע כמו לוחץ על המקלדת על ידי המשתמש, או תזמון שעון עצר פנימי יכול להעלות סוג זה של פסיקה ויכול להודיע ​​למעבד כי מכשיר מסוים צריך קצת תשומת לב. במצב כזה המעבד יפסיק מה שהוא עושה (i משהה את התוכנית הנוכחית), מספק את השירות הנדרש על ידי המכשיר יחזור התוכנית הרגילה. כאשר הפרעות בחומרה מתרחשות והמעבד מפעיל את ה- ISR, הפרעות חומרה אחרות מושבתות (לדוגמה, במכונות 80 × 86). אם אתה צריך הפרעות חומרה אחרות להתרחש בזמן ISR פועל, אתה צריך לעשות זאת במפורש על ידי ניקוי דגל פסיקה (עם sti הוראה). במכונות 80 × 86, ניקוי דגל הפסיקה ישפיע רק על הפרעות בחומרה.

-> ->

מהי מלכודת?

מלכודת יכולה להיות מזוהה כהעברה של שליטה, אשר יוזמת על ידי המתכנת. המונח מלכודת משמש לסירוגין עם המונח חריגה (אשר מופסקת באופן אוטומטי תוכנה). אבל יש הטוענים כי מלכודת היא פשוט שיגרת שיחת. אז הם נופלים לקטגוריה של interrupts תוכנה המופעלים. לדוגמה, במכונות 80 × 86, מתכנת יכול להשתמש בהוראה int כדי ליזום מלכודת. בגלל מלכודת היא תמיד ללא תנאי השליטה תמיד יועברו לשגרת הקשורים למלכודת. ההוראה המדויקת, המפעילה את השגרה לטיפול במלכודת, מזוהה בקלות, מכיוון שמדובר בהוראה מפורשת לציון מלכודת.

-> ->

מה ההבדל בין פסיקה לבין מלכודת?

interrupts הם הפרעות בחומרה, בעוד מלכודות הן תוכנה המופעלות interrupts. התרחשויות של הפרעות בחומרה בדרך כלל להשבית interrupts חומרה אחרים, אבל זה לא נכון עבור מלכודות. אם עליך לבטל את הפרעות החומרה עד להצגת מלכודת, עליך לנקות את דגל הפסיקה במפורש. ובדרך כלל את דגל פסיקה על המחשב משפיע (חומרה) interrupts בניגוד מלכודות. משמעות הדבר היא כי ניקוי דגל זה לא ימנע מלכודות. שלא כמו מלכודות, interrupts צריך לשמר את המצב הקודם של המעבד.