1. המכללת האקדמית יהודה ושומרון באריאל מדעי המחשב קורס: מערכות הפעלה מספר הקורס : 2-7020510-1 סמסטר ב' מועד א' תשס
ח המרצה: ד
ר גורביץ אירינה משך הבחינה: שלוש שעות חומר עזר: רק דף העזר המצורף בתום הבחינה יש למסור את מחברת הבחינה וטופס זה מצורפים יחדיו. יש לענות בקצרה על שאלות הבאות : מה המשמעות של מצב מושהה פעיל של תהליך ? לאלה מצבים (ובאלו נסיבות) יכול לעבור התהליך ממצב זה ? זיכרון מחולק על פי מחיצות הבאות (partition) : 100K, 500K, 200K, 300K, 600K (משמאל לימין). איך כל אחד מהאלגוריתמים הבאים : First-Fit, Best_Fit and Next-Fit ממקם את התהליכים בעלי גדלים הבאים : 212K, 417K, 112K, 426K. איזה מהאלגוריתמים הוא היעיל ביותר ? הסבר מה זה פסיקה ? מה השפעתן הפסיקות על ביצוע מערכת ? (15 נקודות) להלן קבוצת התהליכים אשר כולם מגיעים כל אחד בזמן אחר בסדר הבא: , P2, P3, P4, P5 P1 (משמאל לימין) עם המשך של CPU-burst במילישניות עבור כל אחד ודרגת העדיפות (priority – 1 הכי גבוהה): processBurst timeArrival timepriorityP1303P2611P3222P4444P5561 יש לענות על שלוש שאלות הבאות יש לשרטט את שלושה תרשימי ה- Grantt charts המדגימים את ביצועם התהליכים הנ
ל על פי שלושה אלגוריתמי התזמון הבאים: SRTF, העדיפות ה- non-preemptive, RR ((q=2. מה הזמן ה-turnaround של כל אחד מהתהליכים לכל אחד מהאלגוריתמים מה- א'. מה הזמן ההמתנה (waiting time) של כל אחד מהתהליכים לכל אחד מהאלגוריתמים מה- א'. לאיזה אלגוריתם זמן ההמתנה הממוצע הוא הקצר ביותר ? (20 נקודות) 3. להלן פתרון של הבעיה
5 פילוסופים
כאשר שניים מהם שמאליים (philosopher_l) ושלושה מהם ימניים (philosopher_r): program dining philosophes; var fork: array[0..4] of semaphore (:=1); i: integer; procedure philosopher_l (i: integer); begin repeat think; wait(fork[(i+1) mod 5); wait(fork[i]); eat; signal(fork[i]); signal(fork[(i+1) mod 5); forever; end; procedure philosopher_r (i: integer); begin repeat think; wait(fork[i]); wait(fork[(i+1) mod 5); eat; signal(fork[(i+1) mod 5); signal(fork[i]); forever; end; begin parbegin philosopher_l(0); philosopher_l(1); philosopher_r(2); philosopher_r(3); philosopher_r(4); parend; end. האם בהרצת התכנית הנ
ל יכול להיווצר ה-deadlock. (15 נקודות) 4. נתון תצלום הבא של המערכת : Available r1 r2 r3 r4 2 3 1 0 current allocation max demand still needs process r1 r2 r3 r4 r1 r2 r3 r4 r1 r2 r3 r4 p1 2 1 0 2 2 4 1 2 p2 2 0 2 0 1 4 3 0 p3 0 0 0 0 0 1 0 1 p4 4 0 0 0 4 0 0 1 p5 3 3 3 4 3 4 4 4 א. יש לחשב את הצרכים של כל אחד מהתהליכים ולהציג אותם כמטריצה ה-still needs. ב. האם מצבה הנוכחית של המערכת הוא בטוח (safe) או לא בטוח (not safe) ? מדוע (נמק)? ג. האם המערכת נמצאת כרגע במצב ה- deadlock ? נמק. ד. בתנאי שתהליך p2 דורש (1, 2, 1, 0) – משמאל לימין – האם הדרישה זו יכולה להיענות מידית באופן בטוח. נמק. ה. בתנאי שתהליך p3 דורש (0, 1, 1, 0) – משמאל לימין – האם הדרישה תיענה מידית? נמק. (20 נקודות) 5. נתונה תכנית הבאה #include