ארזים

סלוגן חזק ומגניב



מערכות הפעלה


מספר קורס: 0368-2162.
מרצה: אמיר אברבוך.
מתרגל: נצר זיידנברג.
אתר הקורס: קישור.

פרטים חשובים:

  • יהיו 3 ש"ב, אותם ניתן להגיש בקבוצות בכל גודל שלא יעלה על א. הם יהוו 40% מהציון והמבחן יהווה 70% מהציון. הציון לא יעבור את 100 כמובן.
  • אין הורדת נקודות על איכות הקוד (אלא אם כן המצב באמת קשה...)
  • תרגיל לא עובד (מכל סיבה שהיא) => נכשל בתרגיל!




ידע קודם נדרש

עיין בערך המורחב מערכות הפעלה - דרישות ידע (עדיין בשלבי עריכה).


הרצאות ותרגולים


הרצאה 1 - 6.11.08

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

הרצאה 2 - 13.11.08 - עם נצר!


מצגת שיעור 1 (Introduction II)
מצגת שיעור 2 (OS development cycles)

הרצאה 3 - 20.11.08 - עם נצר!


מצגת השיעור 1 (The Unix Process)
מצגת השיעור 2 (Multi-process-Multi Threaded) [עד שקף 43]

הרצאה 4 - 27.11.08


מצגת השיעור (Processess: general description) [עד שקף 35]

הרצאה 5 - 4.12.08


מצגת השיעור 1 (Process synchronization, I) [עד שקף 32]
מצגת השיעור 2 (Process synchronization, II) [עד שקף 5]
מצגת השיעור 3 (Bakery algorithm) [עד שקף 4]

הרצאה 6 - 11.12.08


מצגת השיעור 1 (Bakery algorithm)
מצגת השיעור 2 (Process synchronization, II) [החל משקף 6 על שקף 18]
מצגת השיעור 3 (Process synchronization, I) [החל משקף 32 עד שקף 47]
מצגת השיעור 4 (CPU Scheduling) [עד שקף 13]

הרצאה 7 - 18.12.08


מצגת השיעור 1 (CPU Scheduling) [מהתחלה עד שקף 29]
מצגת השיעור 2 (Scheduling Processes in Linux)

הרצאה 8 - 25.12.08


מצגת השיעור 1 (Memory Management) [מהתחלה עד שקף 38]
מצגת השיעור 2 (Virtual Memory) [מהתחלה עד שקף 14]

הרצאה 9 - 1.1.09


מצגת השיעור 1 (Computation of demand paging)
מצגת השיעור 2 (Virtual Memory) [שקפים 15-16, משקף 25 עד שקף 36]
מצגת השיעור 2.1 (More on Virtual Memory) [שקף 12 בלבד]
מצגת השיעור 3 (Unix File System) [עד שקף 34]

הרצאה 10 - 8.1.09


מצגת השיעור 1 (Grid)
מצגת השיעור 2 (What does the kernel do when)

הרצאה 11 - 15.1.09


מצגת השיעור (Windows - Part I) [עד שקף 47]

הרצאה 12 - 22.1.09


מצגת השיעור (Windows - Part II) [חלקים נבחרים]

הרצאה 13 - 29.1.09


מצגת השיעור 1 (OS Libraries)
מצגת השיעור 2 (NSPR API Overview)

סיכום ההרצאות


להלן סיכום כל החומר, שהוכן יחד עם ענבל דולב המדהימה!
הסיכום מעודכן לתאריך 09.02.08.

הורדת הסיכום (גרסת וורד)

הורדת הסיכום (גרסת PDF)




תרגול 1 - 6.11.08

הדבר העיקרי שעשינו זה להבין מה זה מודול ללינוקס, להבין שזה מה שנעשה בקורס, וראינו תבנית בסיסית של איך לעשות את זה.
קישורים: סיכום תרגול, מצגת התרגול (Exercise 1)

תרגול 2 - 13.11.08

בתרגול עברנו על המדריך של Beej!
החלקים הרלוונטים לקורס (עליהם עברנו):
  • מה הוא שקע? (socket)
  • מבנים וניהול נתונים
  • קריאות מערכות
  • רקע לשרת לקוח (דוגמת קוד מלאה)
קישורים: נווטס מהתרגול

תרגול 3 - 20.11.08

בתרגול דיברנו עם איך להגיש תרגילים ועברנו על התרגיל הראשון להגשה.
כמו כן, ראינו איך ליצור daemon, ואיך להשתמש ב- UDS (מאוד דומה לתקשורת רשת)
קישורים: מצגת התרגול (Submission guidelines), התרגיל הראשון (Explanation)

תרגול 4 - 27.11.08

בתרגול עברנו למדנו לתכנת תרדים ומוטקסים!
  • יצירת תרד באמצעות הפונקציה pthread_create
  • המתנה לסיום התרד באמצעות pthread_join (מקבילה ל- wait עבור תהליכים שנוצרו באמצעות fork) ולא באמצעות sleep!
  • קימפול קוד שמשתמש בתרדים
  • עבודה עם מוטקס
חשוב לזכור - ברוב הקודים אין בדיקות תקינות לקריאות הפונקציות, דבר הוא רע! הסיבה היא כדי שהקודים יכנסו בשקופית.
סיכום התרגול נמצא בסיכום ההרצאות.
קישורים: מצגת התרגול (POSIX Threads)

תרגול 5 - 4.12.08

לא התקיים תרגול, נצר היה חולה. רפואה שלמה לנצר!

תרגול 6 - 11.12.08

נצר ענה על שאלות לגבי התרגיל, ועבר על מצגת התרגול.
סיכום התרגול נמצא בסיכום ההרצאות.
קישורים: מצגת התרגול (Stat and file system interface), התרגיל השני (Exercise 2)

תרגול 7 - 18.12.08

בתרגול ראינו את הזוועות (לטענת נצר) שנעשו בתרגיל הראשון.
כמו כן היו במצגת מספר התייחסויות לתרגיל השני.
קישורים: מצגת התרגול (The horrors)

תרגול 8 - 25.12.08

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

תרגול 9 - 1.1.09

בתרגול דיברנו על מערכות קבצים בלינוקס.
כמו כן, למדנו כיצד להתקין VMWare.
סיכום התרגול נמצא בסיכום ההרצאות.
קישורים: מצגת התרגול (First class in kernel), התרגיל השלישי (Exercise 3), מצגת התרגול 2 (Unix File System) [החל משקף 34].

תרגול 10 - 8.1.09

בתרגול דיברנו על הדברים הרעים שעשינו בתרגיל השני וקיבלו טיפים לחיים טובים יותר.
קישורים: מצגת התרגול (The basics)

תרגול 11 - 15.1.09

קישורים: מצגת התרגול (Digging into ext2)

תרגול 12 - 22.1.09

קישורים: מצגת התרגול (The Linux File System Modules)

תרגול 13 - 29.1.09

קישורים: מצגת התרגול (File system 3)















אינך מחובר כעת.
התחבר עכשיו!


ארזים 2007-2016 © כל הזכויות שמורות. מלבד זכות השתיקה, היא שמורה למרקו. הבהרה משפטית.
WWW.BOLTWIRE.COM