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

מה זה גרעין?
לכל מערכת הפעלה יש קרנל. חלונות, macOS, iOS, דְמוּי אָדָם, Chrome OS, ולינוקס לכל אחת מהן יש מערכת ברמה נמוכה שאחראית לממשק כל היישומים עם החומרה הפיזית של המחשב. ללא הקרנל, אף אחד מהיישומים שלך לא יוכל לעשות שימוש במחשב הפיזי; אפליקציות כמו Firefox, Chrome, LibreOffice או Outlook לא יעבדו. הקרנל אחראי גם לאפשר לתהליכים להחליף מידע באמצעות מה שנקרא Inter-Process Communication.
ישנם (באופן כללי) שלושה סוגים של גרעינים:
-
גרעינים מונוליטיים: גרעינים אלה מקיפים את מעבד, זיכרון, IPC, מנהלי התקנים, ניהול מערכת קבצים וקריאות לשרת המערכת. זה גם אחראי על מסירת זיכרון מערכת פנוי ליישומים. סוגים אלה של גרעינים בדרך כלל טובים יותר בגישה לחומרה ובריבוי משימות.
- מיקרוגרעינים: מיקרוקרנלים נוקטים בגישה מינימליסטית ומנהלים רק את המעבד, הזיכרון וה-IPC.
- גרעינים היברידיים: לגרעיניות היברידיות יש את היכולת להחליט מה הן רוצות להפעיל במצב משתמש או הליבה. למרות שזה מספק את הטוב משני העולמות, זה דורש הרבה יותר מיצרני החומרה כדי ליצור דרייברים המשמשים לממשק בין קוד פועל לחומרה.
לינוקס משתמשת במקור פתוח, ליבה מונוליתית, בעוד ש-macOS ו-Windows משתמשות ב-Hybrid Kernels. ליבת לינוקס נוצרה בשנת 1991 על ידי Linus Torvalds. עד היום, Torvalds ממשיך להיות המפתח המוביל בקרנל הלינוקס, בעוד מפתחים מכל העולם תורמים לליבת הלינוקס. למעשה, ההערכה היא שכמעט 10,000 מפתחים, מיותר מ-1,000 חברות, תרמו לגרעין הלינוקס מאז החל המעקב ב-2005.
איפה הגרעין?
אם אתה פותח חלון מסוף ומוציא את הפקודה ls /boot, תראה קובץ בשם vmlinuz-VERSION(כאשר VERSION הוא שם הגרסה או המספר). קובץ vmlinuz הוא ליבת לינוקס הניתנת לאתחול בפועל, וה- ז מציין שהקרנל דחוס - אז במקום vmlinux יש לנו vmlinuz.

בתוך ספריית /boot נמצאים קבצי ליבה חשובים אחרים, כגון initrd.img-VERSION, system.map-VERSION ו-config-VERSION (כאשר VERSION הוא שם או מספר גרסה). קבצים אחרים אלה משרתים את המטרות הבאות:
- initrd: משמש כדיסק RAM קטן המחלץ ומבצע את קובץ הליבה בפועל.
- מפת מערכת: משמש לניהול זיכרון, לפני טעינת הליבה.
- תצורה: מורה לקרנל אילו אפשרויות ומודולים לטעון.
מודולים
ללא מודולים, הליבה לא תעשה שימוש רב. מודולים מפעילים ביעילות את מנהלי ההתקן הדרושים לתקשורת עם החומרה מבלי לצרוך את כל זיכרון המערכת שלך. מודולים גם מוסיפים פונקציונליות לקרנל, כגון תקשורת עם ציוד היקפי, ניהול מערכות קבצים, אבטחה וכו'. רשום, הוסף והסר מודולים לקרנל באמצעות הפקודות הבאות:
- lsmod מפרט את כל מודולי הליבה הטעונים כעת.
- insmod טוען מודול ליבה לתוך הקרנל הפועל.
- rmmod פורק מודול מהקרנל הפועל.
בעזרת כמה פקודות פשוטות, ליבת לינוקס יכולה להיות גמישה למדי.
הגרעין הנוכחי

ליבת לינוקס מתעדכנת לעתים קרובות, אך לא כל ההפצות של לינוקס יכללו את הגרעין העדכני ביותר.
אתה חופשי להוריד גרסאות שונות של ליבת לינוקס מ kernel.org ותרכיב אותו בעצמך. הקומפילציה של ליבת לינוקס היא משימה שעדיף להשאיר לאלה שיודעים באמת מה הם עושים. ליבה שהידור לא תקין יכול להפוך את המערכת לבלתי ניתנת לאתחול. אז, אלא אם כן אתה מוכן לצלול לתוך המשימה המאתגרת של קומפילציה של קוד ברמה זו, השתמש בקרנל ברירת המחדל שנשלח ומעדכן את ההפצה לבחירתך.
שאלות נפוצות
-
איזו פונקציונליות של Hypervisor מובנית בליבת לינוקס?
מכונה וירטואלית מבוססת ליבה (KVM) היא חלק מובנה בלינוקס שהופך את לינוקס לתוכנת היפרוויזר שיוצרת ומפעילה מכונות וירטואליות. KVM היא טכנולוגיית וירטואליזציה בקוד פתוח המאפשרת למארח לינוקס הראשי להפעיל מכונות וירטואליות, שהן סביבות וירטואליות הידועות גם כאורחים.
-
באיזו שפה כתוב ליבת לינוקס?
ליבת לינוקס כתובה בשפת התכנות C. C משמש לצרכי תכנות רבים למטרות כלליות. C מחלק את התוכנית למודולים שונים, וכל מודול יכול להיכתב בנפרד או ביחד.
-
איך אני בודק את גרסת ליבת לינוקס?
כדי לגלות איזו גרסת ליבת לינוקס אתה מפעיל, הכנס hostnameectl לתוך שורת הפקודה. השורה הבאה אחרונה תקרא ליבה: לינוקס ומחרוזת מספרים. המספר הראשון הוא גרסת הליבה הראשית, המספר השני הוא גרסת המהדורה העיקרית, והמספר השלישי הוא רמת הגרסה המשנית.