עברו שנים מאז שגלשתי בפורומים בפרש, אבל בזמן האחרון התחלתי להסתכל קצת על כמה מההודועות, ועלה לי רעיון לגבי פרוייקט שיכול להיות די נחמד.
בשנים האחרונות, התחלתי להתעניין יותר ויותר בפיתוח מערכות הפעלה, בעיקר פעיל בפרוייקט בשם FreeBSD, למי שמכיר.
לפני כשנה, פגשתי מרצה מאוניברסיטה הארוורד, שהציג לי פרוייקט שהם פיתחו באוניברסיטה: OS161. מדובר במערכת הפעלה, שכל המטרה שלה היא שהתלמידים ילמדו, בצורה מעשית, איך מערכת הפעלה עובדת בעצם.
הפרוייקט עצמו פותח בהוורוארד, ע"י מס' מתכנתים, ביניהם David Holland, שהוא אחד המפתחים של NetBSD, ותחת פיקוח של Margot Seltzer, שקשורה לפרוייקטיםBerkeleyDB ו-Log Structured Filesystem. היא גם אשתו של Keith Bostic, אחד המפתחים של 4.4 BSD.
בד"כ זהו אמור להיות קורס, של סמסטר אחד, עם 4 פרוייקטים מעשיים.המערכת הפעלה, כפי שנתן להוריד אותה באינטרנט, לא מאפשרת לעשות המון: אין אמצעי סינכרון, אין אפשרות להריץ תוכנות, אין ניהול זיכרון ווירטואלי, ואין יישום של מערכת קבצים כלשהי.
בפרוייקט הראשון, על המשתמש ליישם אמצעי סנכרון, כמו מנעול, ולהשתמש בהם כדי לפתור מס' בעיות סנכרון.
בפרוייקט השני, על המשתמש ליישם תמיכה בתוכנות, כולל כתיבת fork ו-execv. בנוסף, המשתמש מיישם קריאות מערכת כמו open/close/read/write/lseek/dup2, שבעזרתן נתן להריץ את הshell שכלול ב-OS161.
בפרוייקט השלישי, על המשתמש ליישם מערכת של ניהול זכרון ווירטואלי. המשימה לא פשוטה, ודורשת מחשבה רבה. אבל, בסופו של המטלה, במקרה והצלחתם ליישם כך, יש תחושת הישג מרשימה.
במהלך הפרוייקט השלישי, המשתמש מתעסק בתרגום כתובות, Copy On Write,TLB Management, Malloc, Coremap.
בפרוייקט הרביעי, והאחרון, השתמש מיישם מערכת קבצים. מי שבאמת רוצה, יכול ליישם גם כן Buffer Cache, כדי לראות עד כמה שכבה פשוטה יכולה לשפר ביצועים.
מה שכיף, זה שבתוך המערכת הפעלה, תכלו למצוא מלא תוכנות שבודקות את היישומים שלכם. למשל, אין צורך לשאול מישהו האם היישום שלך עובד, פשוט תריץ את ה-Test Cases, ותבדקו בעצמכם.
יתרון נוסף זה שאין צורך להסתבך יותר מדי כדי להריץ את המערכת הפעלה: היא רצה על סימולטור של MIPS R3000 64BIT ובעל מהדר GCC שמותאם לעבוד איתו, מה שמאפשר debugging בעזרת GDB בצורה פשוטה, והידור של תוכנות כך שירוצו במערכת הפעלה שלכם.
אין לי מושג בעצם כמה פעיל הפורום הזה היום. אם יש התעניינות, אני יכול לארגן את התוכן ולהציג לכם יותר פרטים. אולי אפילו כמה סרטונים שמציגים את המערכת הפעלה.
אני למדתי המון מכל החוויה הזאת, וזה נחשב לאחד הקורסים הנחשקים ב-Harvard. אני בוודאות יכול להגיד שאין דרך יותר כיפית ומאתגרת ללמוד מערכות הפעלה. זה קשה, לא משנה כמה נסיון יש לכם, יהיו רגעים שתוותרו, אבל בסופו של דבר, זה שווה את זה.
בתגובה להודעה מספר 1 שנכתבה על ידי scripter שמתחילה ב "מערכות הפעלה - האם יש מתעניינים?"
שלום שלום לאחר כמה שנים טובות .
המרצה שהיה לי בקורס מערכות הפעלה סיפר על זה בהרצאה הראשונה.
אותי אישית זה מעניין אך לא מעניין מספיק כדי לעשות את ההשקעה הזאת (במיוחד אם לא מקבלים על זה נ"ז ).