ליבה (מערכות הפעלה)

הליבה מחברת את יישומי התוכנה לחומרת המחשב.

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

המשימות של מערכות הפעלה מבוצעות באופן שונה על ידי ליבות שונות, בהתאם לעיצוב ולמימוש שלהן. בעוד שליבות מונוליטיות (Monolithic Kernels) מריצות את כל הקוד של מערכת ההפעלה באותו מרחב כתובות על מנת לשפר את ביצועי המערכת, מיקרו-ליבות (Microkernels) מריצות את מרבית שירותי מערכת ההפעלה במרחב המשתמש כשרתים, במטרה לשפר את האמינות והתחזוקתיות של מערכת ההפעלה. קיים מגוון של אפשרויות בין שתי הדוגמאות הקיצוניות האלה.

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