מה ההבדל בין trap לבין interrupt?

choo

Active member
trap נוצר מה-CPU, פסיקה - לרוב מהתקן חומרה

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

GuestOfHonor

New member
אני מכיר פירוש אחר לtrap

אותי לימדו ש trap היא פקודת מכונה non-privileged שגורמת למערכת ההפעלה לעבור מ user mode ל kernel mode. זה מה שקורה כל פעם שקוראים ל system call, לדוגמא.
 

vinney

Well-known member
כן, זה גם מה שאני זוכר במעומעם

trap זה תקשורת בין מערכת ההפעלה לאפליקציה, interrupt - בין חומרה לתוכנה. לפחות ככה אני מכיר את זה
 
למעלה