האם עיצוב הליבה של לינוקס מיושן?

האם עיצוב הליבה של לינוקס מיושן?

לינוקס עשתה צעדים גדולים לאורך השנים והתקדמה הרבה מעבר למקום שהיה בה כשהתחילה. אך אחד מעורכי הדין האדומים תמה לאחרונה אם לינוקס סובלת מעיצוב גרעינים מיושן. הוא שאל את שאלתו ב- subreddit של לינוקס וקיבל תשובות מעניינות.

Ronis_BR התחיל את השרשור בתגובות הבאות:

אני משתמש בלינוקס מאז 2004. אני יודע הרבה כיצד להשתמש במערכת, אבל אני לא מבין יותר מדי מה נמצא מתחת למכסה המנוע של הגרעין. למעשה, הידע שלי נעצר כיצד להרכיב את הגרעין שלי.

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

האם ניתן לציין באילו נקודות העיצוב של ליבת לינוקס מתקדם יותר בהשוואה לעיצוב של גרעיני Windows, macOS, FreeBSD? (שימו לב אני מתכוון לעיצוב, לא לאחד מהם עדיף. לדוגמא, ל- HURD יש עיצוב נהדר, אבל די פשוט לומר שלינוס היא הרבה יותר מתקדמת כיום).

עוד ב- Reddit

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

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

המתח בתכנון הגרעין הוא בין "אבטחה / יציבות" ל"ביצועים ". מיקרו-לילות מקדמות אבטחה במחיר ביצועים. אם יש לך מיקרו-קרנל מינימלי זעיר, שבו הליבה מאפשרת לדבר עם חומרה, ניהול זיכרון, IPC ומעט אחר, יהיה לו משטח API קטן יחסית המקשה על ההתקפה. ואם יש לך מנהל התקן מערכת קבצים באגי / מנהל התקן גרפי / וכו ', הנהג יכול לקרוס מבלי להוריד את הליבה וכנראה שניתן יהיה להפעיל אותו מחדש ללא נזק. יציבות מעולה! אבטחה מעולה! כל הדברים הטובים.

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

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

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

ps Windows NT מעולם לא היה מיקרו-קרנל טהור, אך הוא היה מיקרו-קורנל במשך זמן רב. ל- NT 3.x היו מנהלי התקנים גרפיים כתהליך משתמש, ולמען האמת NT 3.x היה סופר יציב. NT 4.0 העביר מנהלי התקנים גרפיים לליבה; זה היה פחות יציב אבל הרבה יותר ביצועי. זה היה מהלך פופולרי בדרך כלל. "

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

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

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

הדבר נבדל מ"מיקרו-קרנל "בו אלמנטים הליבה והמנהליגים השונים פועלים כמשימות נפרדות עם רווחי כתובת נפרדים.

כאמור, ליבת Windows היא בעצם מונוליטית, אך מנהלי ההתקן עדיין מפותחים בנפרד. macOS משתמשת במעין גרעין היברידי המשתמש בליבה של מיקרו-קרנל, אך עדיין יש כמעט הכל ב"משימה "אחת, למרות שכמעט כל מנהלי ההתקנים פותחו / סופקו על ידי אפל."

רשלנות : "אנשים מתווכחים על זה עוד לפני 2004. הוויכוח על טננבאום-טורוואלדס בשנת 1999 1992 הוא דוגמה גדולה לוויכוחים בין מיקרו-גרעין לתכנונים של גרעינים מונוליטיים.

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

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

TEchnicolourSocks : “יש רק דרך נכונה אחת לעיצוב גרעינים וזו הדרך של TempleOS.

כתוב ב- HolyC, ללא רשת, טבעת -0 בלבד. כפי שאלוהים התכוון. "

Scandalousmambo : "האופי של פיתוח מערכת מורכבת כמו ליבת לינוקס פירושו שהיא תמיד תהיה" מיושנת "על פי אנשים שהיו בכיסאות גבוהים בעת שתוכנן לראשונה.

מערכת הפעלה זו מייצגת ככל הנראה עשרות מיליוני שעות עבודה של אדם.

האם ניתן להחליפו? בטוח. האם זה? לא."

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

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

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

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

אם התחלת גרעין חדש לחלוטין היום, רוב הסיכויים שהוא לא ייכתב בפרויקטים של פרויקטים של Singularity ו- Midori של מיקרוסופט בחנו את היתכנותם של גרעיני קוד # / מנוהלים.

מערכת ההפעלה הידועה ביותר שאינה מחקרית ללא ליבת C היא ככל הנראה Haiku שכתובה ב- C ++. "

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

אם זה היה קורה, היינו מפעילים מיקרו-קרנלים בטוחים ב 100% שנכתבו בהאסקל. חברות אבטחה לא היו קיימות. תהיה לי הכלאה חד קרן / פוני שפועלת על אור השמש. "

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

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

ל- MINIX, למשל, עיצוב יציב וכמה תכונות מדהימות, אך יש לו מעט מאוד תמיכה בחומרה, כך שכמעט אף אחד לא מתפתח לפלטפורמה. "

עוד ב- Reddit

DistroWatch סוקר את 4MLinux 21.0

לינוקס מציעה סוגים רבים ושונים של הפצות. חלקם מקובצים עם יותר תוכנות, וחלקם עם פחות. 4MLinux מיועד לאלה שמעדיפים הפצה קלה. לסופר ב- DistroWatch יש סקירה מלאה של 4MLinux 21.0.

ג'ושוע אלן הולם מדווח ב- DistroWatch:

4MLinux הוא הפצה קלה של לינוקס שנועדה לספק ארבעה תחומי מפתח פונקציונליים. רק עם התוכנה הקיימת ב- ISO, 4MLinux מספקת מגוון רחב של יישומים לביצוע תחזוקת המערכת; השמעת סוגים רבים של קבצי מולטימדיה; הצעת מיני-שרת לספק שרת אינטרנט בסיסי; ויש לו מבחר הגון של משחקים, שההפצה ממקמת בקטגוריה שהיא מכנה מסתורין. ארבע פונקציות אלה מספקות את בסיס שם ההפצה. ארבעה דברים שמתחילים ב- "M", אז 4MLinux.

אתחול 4MLinux מכונן הבזק הוא תהליך מהיר. נכנסתי במהירות ובאופן אוטומטי כשורש ויכולתי להתחיל לעבוד בסביבת שולחן העבודה. בשולחן העבודה, 4MLinux משתמש ב- JVM בשילוב עם משגר Wbar בחלקו העליון של המסך המספק קיצורי דרך לתוכניות מרכזיות. בנוסף יש IDesk לניהול שולחן העבודה, ו- Conky לספק מידע בסיסי על סטטוס המערכת. ניתן לכבות את Wbar, IDesk ו- Conky, אך המערכת כבר קלה מאוד כאשר הם במצב ברירת המחדל שלהם.

מחוץ לקופסה, 4MLinux מגיע עם מבחר הגון של תוכנה. בתפריט היישום JVM קיימים קיצורי דרך למסוף, יישומי אינטרנט, תחזוקה, מולטימדיה, מיניזרבר ומסתורין. תפריט המשנה האינטרנטי מכיל קישורים לגלישה באינטרנט, HexChat ל- IRC, Sylpheed לדואר אלקטרוני, שידור ל- Bittorrent, uGet להורדה, כלי לשיתוף קבצים באמצעות Bluetooth, GNOME PPP לחיבורי אינטרנט בחיוג, ואפשרות להפעיל ולכבות את טור.

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

עוד ב- DistroWatch

LinuxInsider סוקר את המהדורה האולטימטיבית 5.4

המהדורה האולטימטיבית, לעומת זאת, נמצאת בקצה הנגדי של הספקטרום מ- 4MLinux. UE הוא בהחלט תענוג מקסימליסטי מכיוון שהוא ארוז בתוכנות. לסופר ב- LinuxInsider יש סקירה מלאה של Ultimate Edition 5.4.

ג'ק מ 'ג'רמן מדווח עבור LinuxInsider:

לא התלהבתי מהחוויות הראשוניות שלי בהיכרות עם היכרות עם Ultimate Edition 5.4. מצאתי רשימה מעצבנת של דברים שגויים בזה.

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

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

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

עוד ב- LinuxInsider

התגעגעת לסבב? עיין בדף הבית של עין על פתיחה כדי להתעדכן בחדשות האחרונות אודות קוד פתוח ו- Linux .