ליבה (מערכות הפעלה) – הבדלי גרסאות

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