שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2015 - אותות

בחרו סיגנל (signal) אשר אי-אפשר להתעלם ממנו (באמצעות IGN_SIG):

א. SIGINT

ב. SIGKILL

ג. SIGSEGV

ד. SIGALRM
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד 822015סמסטר א
אותותליבהתהליכים
חישבו איזה סיגנל נועד לספק למערכת ההפעלה דרך "בטוחה" ובלתי ניתנת לחסימה לסיים תהליך בכל מצב.
התשובה הנכונה היא ב. SIGKILL.

הסיגנל SIGKILL (סיגנל מספר 9) הוא אחד משני סיגנלים מיוחדים (השני הוא SIGSTOP) שלא ניתן ליירט (catch), לחסום (block) או להתעלם מהם (ignore) על ידי תהליך. הטיפול בסיגנלים אלו נעשה ישירות על ידי הליבה (kernel) כדי להבטיח שתמיד תהיה דרך לסיים או לעצור תהליך, גם אם הוא תקוע או מתנהג בצורה זדונית.

שאר הסיגנלים המוצעים ניתנים לטיפול על ידי התהליך:
  • SIGINT: סיגנל הפסיקה (interrupt), בדרך כלל נשלח על ידי Ctrl+C. ניתן ליירט אותו כדי לבצע פעולות ניקוי לפני סיום, או להתעלם ממנו לחלוטין.
  • SIGSEGV: סיגנל שגיאת סגמנטציה (segmentation fault). למרות שהוא בדרך כלל גורם לקריסת התהליך, ניתן ליירט אותו (למשל, כדי לשמור מידע דיבאגינג) או להתעלם ממנו (אם כי התהליך ככל הנראה יקרוס מיד לאחר מכן בגלל המצב הלא-תקין).
  • SIGALRM: סיגנל "שעון מעורר" שנשלח לאחר פקיעת זמן שהוגדר. ניתן ליירט אותו כדי לבצע פעולות מחזוריות או להתעלם ממנו.
שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2015 | prepd