Professional Documents
Culture Documents
מערכות הפעלה
10-4080022-20
10-4080022-21
מועד ב'
ד"ר אליאב מנשה
תשפ״ב סמסטר ב'
מחשבון ,דף נוסחאות A4אחד כתוב משני הצדדים. חומר עזר -
הוראות לנבחן
.1כתבו בכתב יד ברור ומסודר.
.2פרטו כל שלב בפתרון.
.3נדרש להגיש גם את טופס הבחינה וגם את המחברת שקיבלתם.
.4במידה ויש מקום לפתרון יש לכתוב אותו בטופס הבחינה.
1
(15נקודות) נתון ה Resource Allocation Graph -הבא: .1
( 15נקודות) במערכת מחשב עם CPUאחד ישנם 3תהליכים עם מאפייני הריצה הבאים: .2
תהליך Aרץ במשך 3מילישניות ,לאחר מכן יוצא ל I/O -למשך 4מילישניות ,לאחר מכן
רץ 2מילישניות ואז מבצע .terminate
תהליך Bרץ במשך 1מילישניות ,לאחר מכן יוצא ל I/O -למשך 3מילישניות ,לאחר מכן
רץ 2מילישניות ואז מבצע .terminate
תהליך Cרץ במשך 2מילישניות ,לאחר מכן יוצא ל I/O -למשך 4מילישניות ,לאחר מכן
רץ 1מילישניות ואז מבצע .terminate
תהליך Aנכנס למערכת בזמן .0תהליך Bנכנס למערכת בזמן .1תהליך Cנכנס למערכת בזמן .2
הנח שאם שני תהליכים צריכים להיכנס לתור בו זמנית ,אז קודם יכנס לתור התהליך החדש ורק
אחריו יכנס התהליך שכבר קיים במערכת .הנח כי הזמן בפועל שלוקח לתהליך הוא בדיוק הזמן
הרשום בשאלה ,ללא קשר למה שקורה במקביל במערכת (התעלם מזמן ה.)context switch -
( 5נק׳) מהו הaverage waiting time -במערכת כאשר משתמשים באלגוריתם ?FCFS א.
( 10נק׳) מהו ה ,average waiting time -במקרה שהמערכת משתמשת במנגנון MLFQ ב.
schedulerעם שלוש רמות העובדות עם quantum timeשל 2 ,1ו.)preemptive( 4 -
2
: נק) התבונן בקטע קוד הבא15( .3
: ומאותחלים באופן הבא,N-1 עד0- מוגדרים כמערכים בוליאניים מT,B משתני האלגוריתם
wait(i){
if((T[i] == false) && (B[i] == true)){
value--
}
if (value<0){
T[i] = true
}else{
B[i] = false
}
}
signal(i){
value++
B[i] = true
if (value <= 0){
int j=0
for(j=0;T[j]==false;j++){
}
T[j] = false
B[j] = false
}
}
//CS
signal(i)
3
( 5נק) הסבר איזו בעיה הקוד הזה פותר אם בכלל? א.
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
( 10נק) יוסי שינה את ערך ה value -באתחול מ 3 -ל ,1 -חבר שלו דני טוען שהקוד ב.
לאחר העדכון של יוסי אינו עונה על כל הדרישות עבור פתרון תקין של קטע קוד קריטי
עבור Nתהליכים הרצים במקביל ,האם דני צודק או לא? הסבר
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
4
( 10נק׳) להלן שני תהליכים ( )processesהרצים במקביל: .4
Process 1:
{)for (i=0 ; i<5 ; i++
;y=y+1
}
Process 2:
{)for(j=0 ; j<10 ; j++
;y=y+5
}
הניחו כי במערכת מעבד יחיד ,וכי משתנה yמשתנה משותף לשני התהליכים והוא מאותחל ל .0
במידה והפעולה “ ”;y=y+1הינה פעולה אטומית וכל שאר הפעולות בקוד הן לא פעולות אטומיות,
מהם הערכים הסופיים ש – yיכול לקבל? (הערה :בתשובה יש להתייחס לערך האפשרי
המינימלי והמקסימלי)
ערך מקסימלי___________________ :
ערך מינימלי____________________ :
( 5נק) בקשות קריאה מהדיסק מגיעות ל disk driver -עבור :cylinders .5
( 76 ,12 ,80 ,4 ,40 ,44 ,20על-פי סדר משמאל לימין) .בדיסק 120צילינדרים ()0-119
והראש נמצא כרגע מעל צילינדר 70ונע לכיוון .cylinder 0מהו המרחק (מספר הצילינדרים)
שתצטרך הזרוע לעבור ,בהנחה שהאלגוריתם בו עושים שימוש הוא ?C-Look
תשובה_______________:
5
( 10נק׳) מערכת pagingמשתמשת ב frameבגודל של ) .4KB (4096להלן הpage- .6
tablesו TLBsשל תהליך במערכת:
תרגמו את הכתובת הלוגית 3300לכתובת פיזית וחשבו את כמות הגישות לזיכרון (.)RAM
( 5נק׳) נתונה סדרת הקריאות הבאה ל – PAGESשל תהליך מסוים (משמאל לימין): .7
1,5,4,2,0,1,3,2,3,4,3,5,1,2,5
במקרה שלתהליך זה מוקצים ,FRAMES 4כמה PAGE FAULTSיהיו אם ההחלפות
מתבצעות על-פי האלגוריתם ?LRU
תשובה_______________:
( 5נק׳) איזה מהטיעונים הבאים לגבי שחלוף ( )Swappingוכיווץ ( )Compactionבזיכרון .8
ממשי נכון?
אין טעם לתמוך ,באותה מערכת ,הן בכיווץ והן בשחלוף. א.
כדאי לבצע את ההעתקה לצורך כיווץ ע"י יחידת בקר עצמאית כמו .DMA ב.
התוכנית שהוחלפה תוחזר תמיד לאותו מקום בזיכרון. ג.
כדאי לבצע את ההעתקה לצורך שחלוף ע"י יחידת בקר עצמאית כמו .DMA ד.
6
( 5נק׳) האם תיתכן מקביליות אמיתית ( )True Concurrencyבמחשב בעל מעבד אחד ( .9
?)Uniprocessor
כן. א.
לא ,זוהי אשליה הנוצרת בגלל פער המהירות בין פעולות IOלבין מהירות מעבד. ב.
לא ,המקביליות המדומה מתאפשרת בגלל היכולת לשחזר בדיוק מחדש תהליך שהופסק ג.
זמנית.
לא ,כי המעבד יכול לשרת רק תהליך אחד בכל "רגע". ד.
( 5נק) כאשר מערכת מחשב נמצאת במצב של ,trashingאילו פעולות יש לבצע במערכת כדי .10
לצאת ממצב זה?
הקטנת מספר התהליכים הנמצאים בready queue - א.
הגדלת מספר התהליכים הנמצאים בready queue - ב.
הגדלת ה quantum -בRound Robin - ג.
הקטנת ה quantum -בRound Robin - ד.
( 5נק) איזה משיטות הזימנון ( )Schedulingהבאות סובלת מאפקט השיירה (Convoy .11
?)Effect
( 5נק) במרחב זיכרון וירטואלי של 16סיביות ,גודל הדף הוא 8192בתים .כמה דפים ישנם? .12
ואיך הם ממוספרים?
7