שגיאת oops בליבת לינוקס

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש
צילום מסך של שורת פקודה בלינוקס בעת שגיאת oops

בליבת לינוקס oops הוא פלט שגיאה המופיע בעת חריגה מהתנהגותה המקובלת של הליבה, שגיאה שכזו עשויה להביא ליצירת קובץ יומן פעילות, המכיל את פרטי השגיאה.

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

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

אם הקוד לא הורץ מתוך תהליך אלא מתוך שגרת טיפול פסיקה, אין למערכת גם את האפשרות הפשוטה הזו להמשיך, והיא "נכנסת לפאניקה". המצב הזה נקרא kernel panic.

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

Kerneloops הם תוכנות המעבירות את הודעות ה-oops ומשמעותם אל מאגרי ה-oops ברשת. האתר Kerneloops.org מכיל סטטיסטיקות של שגיאות oops.

קישורים חיצוניים[עריכת קוד מקור | עריכה]