SerenityOS – מערכת ההפעלה הבאה – שלא תהיה

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

מה שמעניין פה, זה שבנו ממשק דמוי Windows 98, 2000 על בסיס קרנל פוסיקס (כמעט) תקני – אבל הכל עם twist מודרני. למשל, כל ה־man pages כתובים ב־markdown. כל קבצי ה־sys של המערכת (כן גם שם יש sysfs) מחזירים json. מה שיותר מעניין אותי – זה שחלק גדול מהמערכת מפותח לייב- זה אומר, אנשים מצלמים את עצמם מקודדים ומוסיפים פיצ’רים או מתקנים באגים (בעיקר אנדראס עושה את זה, אבל גם לינוקס וגם פיליפ יש להם ערוצים).

חלק מהדברים שמעניין אותי במערכת הזאת:

  • ליבה חדשה, שנכתבה מאפס. לא עוד מעא מערכת הפעלה שהיא מחזור של כלי GNU מעל לינוקס, עם ממשק משתמש חדש.
  • הקוד כולו כתוב ב־C++‎ מודרני. כמה מודרני? C++17 וכמה נגיעות של 20. בגדול – משתמשים ב־toolchain שמשמתש ב־gcc הכי חדש. חלק ממערכת הבנייה של מערכת הפעלה עושה bootstrap ל־cross compiler.
  • המערכת בגדול, לא משתמשת בשום ספרייה חיצונית – 0 הכל home baked. אין 3rd parties והכל ב־mono repo.
  • מימוש מחדש של libc (מצחיק, ממומש בחלקו ב־C++‎).
  • הקרנל תומך במערכת אינטל 32ביט וגם 64, כולל תמיכה ב־SMP. התחילו לעבוד על תמיכה ב־ARM64 (כן, רספברי פאי!)
  • מימוש מודרני ל־stl – וממש מורחב. ה־core libraries כוללים תמיכה ב־json או דברים בסיסיים בימינו כמו קידוד base64. כן, וגם.. גם sockets ו־https. (זה כולל מימוש של TLS, לא כל ה־ciphers, אבל – תמיד אפשר לעשות pr ולממש את זה).
  • ספריות הפיתוח זמינות גם ללינוקס, בעזרת רכיב שנקרא lagom.
  • מסוף ומעטפת לא רעים (המעטפת גם מתקמפלת ללינוקס).
  • שרת גרפי בסיסי – תומך בקומפזיציה, אבל ללא האצת חומרה עוד. הוא מרגיש מאוד איטי…
  • toolkit שממומש ב־C++‎ שמאוד מזכיר את Qt. אבל ללא MOC (בנוי מעל AK ולא STL… אז בעצם לא שונה בהרבה מ־Qt).
  • מערכת מולטימדיה שכוללת תמיכה ב־flac, mp3 וגם התחלה של VP9 (חדש מהחודש האחרון!).
  • תוכנה למציאת זליגת זכרון דמויית valgrind.
  • תוכנת ציור שיכולה להתחרות ב־Paint.NET… ומתחילה לאט לאט להוסיף יכולות שיש ל־Photosop/Krita/GIMP.
  • סביבת פיתוח… עורך טקסט… עורך markdown
  • משחקים מקוריים (סוליטייר וכאלו… לא משהו משוגע)
  • מערכת ports ממש חזקה.
  • ובטח עוד….
  • (וגם דפדפן ומנוע JavaScript שכתובים מאפס… אליהם ארחיב בקרוב).

הינה סקירה של מערכת ההפעלה: https://www.youtube.com/watch?v=_QAsHkEKvN0

למה הסיומת של הכותרת הזאת? כי כל המערכת הפעלה עובדת בעיקר ב־ qemu. חסר לה מלא דרייברים… והיא מפותחת בשביל הכיף וקיימת עבור מפתחים בלבד ולא משתמשים – נכון לכרגע. למרות ההתקדמות המדהימה של המיזם הזה, אני לא חושב שהיא תעבוד על מחשב נורמאלי בזמן הקרוב. אני ארחיב על זה גם בפוסט עתידי.

Share Button