1שאלה - ה את קבצים source codeקיבלת ניהול מערכת של של
מדובר( file systemכלשהו ) האם לדווח ונתבקשת - ב שימוש העושה - contiguous allocationבמערכת ב או
indexed allocation - על . לענות מנת על בקוד תחפש מההשאלה?תשובה
כמצביעים שמשמשים הנתונים מבני את לחפש יש . של במקרה הקובץ של indexed allocationלבלוקים
מצביעים אף וייתכן מצביעים של מערך למצוא נצפה . של במקרה נוספים contiguous allocationלמערכים
את המציין ומספר התחלה לבלוק מצביע למצוא נצפה. שימוש הקובץ עושה בהם העוקבים הבלוקים כמות
ההפעלה במערכת גדולים Linuxמדוע בקבציםמספר ) לסוף(, GBsמאוד הראשונה הגישה זמן
הגישה זמן מאשר יותר ארוך הינו הקובץ? הקובץ לתחילת הראשונה
ריצת - processבמהלך ה working setמשתנה . סמן תוכנו מבחינת והן גודלו מבחינת הן שלו
- ה בהם החלקים את להלן working setבתרשים - , ה מצוי בהם החלקים ואת ואפקטיבי יציב
working set. שינוי בתהליך
- - ה פועל בסיסו על פעלה במערכות העיקרון מהוworking set. הסבר?
- ה – עיקרון .localityתשובה
- ב בשימוש העיקריות הבעיות ?working setמהןתשובה
- וה העתיד את חוזה בהכרח לא workingהעברset. ותוכנו גודלו את משנה
- ה של אמיתית בלתי working setמדידה היא . למעשה דורש בלבד לקירוב וניתנת מעשית
timestamp ותחזוקת מהזיכרון קריאה queueלכל - ה יסודרו כל pagesבו סדר processשל לפי
. שלהם הקריאה
במערכות האופציות להגביל mainframeאחת היא - ה מספר - processesאת זמנית בו לשהות שיכולים
להלן. מהמדדים אחד כל עבור סמן במערכת: זו אופציה ותופעל במידה ירד או יעלה ערכו האם
במערכת – • תהליך לכל המוקצה הזיכרון. יגדל: תשובה
• - ה : runnableבמצב processesמספר תשובה – כאן? ) יש " tradeoffיגדל כ סה תהליכים כמות בין
- ל פוטנציאל התורים runningשהם גודל לבין - ה (.I/Oעל
• - ה .page faultsמספר : יקטן – תשובה.scheduling overheadה- • : יקטן – תשובה
בגודל לתהליכים זיכרון יוקצה ,290K, 420Kכיצד110K - ? 350Kו, שמפת הנח זה בסדר המגיעים
: כך נראית ההתחלתית הזיכרון
של pagingמערכת בכתובות 16bitמשתמשת- 4Kשל pageוגודל ה. שני page tablesלהלן של
: במערכת תהליכים
הלוגית הכתובת את process 1של 16,000תרגםלוגית לכתובות process 2של 9000וכתובת
פיסיות.
, , סטודנט דני של במוחו רעיון עלה לבחינה שהתכונן בעת - , ה של מחדש לעיצוב הפעלה מערכות pageבקורס
table .לבלוקים ההצבעה מנגנון את להעתיק הוא הרעיון - ב שממומש כפי בדיסק קובץ שברוב. unixשל מכיוון זאת
- ה עיקר - dataהתוכניות ה בתחילת . address spaceמצוי - , ה- ימומש המוצע המימוש פי - page tableעל two-levelכ
page table : של הראשונה המחצית להלן השינוי בתוספתהראשית ) ישיר( outer-page-tableהטבלה למיפוי תוקדש
- pagesשל הטבלה framesל של השניה והמחצית בזיכרוןבמימוש שמבוצע כפי משנה לטבלאות תצביע הראשית
של הרשומות. two-level page tableהסטנדרטי את נסמן - כ הראשית הטבלה של הראשונה ואת fastבמחצית
- כ השניה במחצית השאלות. normalהרשומות על ענהבאמצעות הוא במערכת כתובות שייצוג בהנחה 32הבאות
bits - ה, אחת 4KBהוא pageגודל וכל הראשית הטבלה והן - ה ) המשנה בדיוק( page tablesמטבלאות pageתופסים
אחד.
(4 )' כמה מספר? ) fast pagesהם pagesנק לתת ישחצי. " מסוג מתחכמת תשובה תתקבל לא מדויק
- ה "(? pagesמכלל 4KB/4=1024 PTEs, 1024/2=512 PTEs => 512תשובה:
מסוג( 9^2או ) .fast pagesהם
(4 )' כמה לתת? ) normal pagesהם pagesנק יש .) מדויק מספר
- מ: אחת כל מפנה אליה טבלה בכל 512תשובהיש הראשית הטבלה של השניה במחצית ההפניות
1024 - ל : framesהפניות " כ. סה כלומר2^9*2^10=2^19
(4 )' המקסימלי הוירטואלי הכתובות מרחב גודל מהו נק(. bytesב- כחזקה? ) התשובה את לרשום ניתן
- ה: גודל כפול address spaceתשובה הדפים מספר הוא( : הדף .31^21+2^2=12^2(*19^9+2^2גודל
(8 )' קיים שגם בהינתן - TLBנק וה הוא hit ratioבמערכתα=0.9 - ה , השתפר אחוזים effective access timeבכמה
- ה ממומש בו למצב ביחס החדשה השיטה pageבאמצעותtable - הגישה ) two-level page tableכ שזמן הנח סטנדרטי
(.TLBל- זניח תשובה:
: השיפור -α+(1עםα)(512/(2^9+2^19)*2+2^19/(2^19+2^9)*3)
: השיפור α+(1- α)*3ללא.αמציבים המספר את ומקבלים
של 2מנה האלגוריתם בגינן לא Bankerסיבותפועלות בה אמיתית בסביבה ישים באמת
. . סיבה כל והסבר נמק הפעלה מערכות
: לחזות - קשה ובהן סיבות מגוון קיימות תשובה - ה יכול, max demandאת התהליכים מספר
, מכל לנו שיש הכמות זמן לאורך להשתנותresource ( למשל זמן לאורך להשתנות יכולה
.) להתקלקל יכול משאב
ביניהם חולקים תהליכים משאב 4שלושה יחידותלבצע ניתן אחד. releaseאו reserveלהן כל
מנת על יחידות שתי מקסימום צריך מהתהליכים . להיווצר יכול האם משימתו את להשלים
deadlock. , . , הוכח? ולא במידה הדגם וכן במידה
של – מצב כל deadlockתשובה אם רק יתקייםהם המשאב אחד reservedיחידות ולפחות
. אולם יחידות לעוד אינסוף עד ממתין התהליכיםהן 4אם תהליך reservedיחידות שלפחות הרי
. יוכל זה תהליך כלומר יחידות שתי תופס אחדהיחידות שתי את ולשחרר משימתו את להשלים
את לבצע יוכלו האחרים התהליכים שני ואזמשימתם.
יתרונות? memory mapped filesמהם שני מנה. בהם לשימוש
- ל הקובץ של בלוקים של במיפוי pagesמדובר , . היא לקובץ גישה כל זו בצורה זיכרון של
: . יותר מהירה גישה יתרונות לזיכרון גישה למעשה ; תהליכים מספר למפות ניתן בקובץ למידע
- ה שיתוף באמצעות קובץ מאפשר, pageלאותוrandom access.
הפעלה מערכת של פיתוח לצוות הצטרפתמנגנון. על אחראי אתה תפקידך במסגרת חדשה
כתובות. pagingה- מרחב עם עובדת המערכת, 32של כל שגודל מראש ונקבע הוא pageביט
4K .ככל להצטמצם ממך דורש הפרויקט מנהל - ה של הזיכרון בדרישות page tableהאפשר
.) בזיכרון) שמורה להיות תצטרך כמובן אשרבגודל בזיכרון להסתפק תוכל , 4Mהאם כן? אם
- ב גם להסתפק היה ניתן לא? 3Mהאם אםאם) ( 4Mכלומר האם מספיק היה 32Mלא
מספיק?
, והן המשאבים הן האמיתי בעולם מחשב במערכותלאורך קבועים אינם למשאבים התהליכים של הדרישות
עקב. מושבתים או מוחלפים מסוימים משאבים זמן . למערכת, ומוספים נקנים נוספים ומשאבים תקלות
- ו - deadlocksבמידה ידי על מבוקרים banker’sבמערכתalgorithm ,בבטחה לביצוע ניתנים הבאים מהשינויים אלו
- ל) אפשרות לייצר ?deadlockמבלי אילוצים(, אלו ותחת• - ה ( - Availableהגדלת תמיד) משאבים הוספת• - ה ( – Availableהקטנת קבוע) באופן משאבים הסרת
- ה אם - max demandרק ה מסך גדול לא תהליך כל שלavailable resources - ב safe stateוהמערכת
"Maxהגדלת • ל – כנ מהתהליכים אחד שלתמיד - Maxהקטנת • מהתהליכים אחד שלתמיד - • התהליכים מספר הגדלתתמיד - • התהליכים מספר הקטנת
תהליכים - A, B, C, Dחמישה זה Eו בסדר מגיעים(A , , Bראשון , Cשני - Dשלישי ו ( Eרביעי חמישי
בקשות עם הזמן - CPU Burstsבאותו prioritiesו . בטור המצוי שהערך ככל להלן בטבלה כמפורט
priority נמוך - ה .priorityיותר גבוה יותר שלו
סוג כל עבור הבאה הטבלה את השלם - . ה כי הנח שיבוץ context switchאלגוריתם
overhead . מעבר החישובים כל את לפרט יש זניחלדף.
זיכרון של קבועה כמות עם מחשב מערכת ברשותך(physical memory )וירטואלי בזיכרון שימוש העושה(demand-paged virtual memory.)
- ייתכןהאם ה גודל הכפלת מספר pageשבאמצעות יקטן: page faultsה- בעיגול? . לא / כןהקף , כיצד. תאר כן אם
. , מדוע הסבר לא אם - ה, שבהם במקרים על localityכן , pagesמפוזר עוקבים
שני כל שאיחוד - pagesהרי ה מספר להקטנת יביא עוקביםpage faults .
- ייתכןהאם ה גודל הקטנת , pageשבאמצעות מחצית לכדי - ה מספר : page faultsיקטן בעיגול? , לא / כןהקף כן. אם
. , . מדוע הסבר לא אם כיצד תאר - ה, שבהם במקרים של localityכן רב מספר פני על מפוזר
pages ,מכל חלק רק - pageכאשר ל למעשה משוייךlocality - שב סיכוי יותר שיש תישמר physical memoryהרי
.localityה- כולה
- : בסיס על זיכרון בניהול הבאה הקביעה על דעתך חווהפחות( segmentation)סגמנטים למצוא מצפים internalאנו
fragmentation - ה בשיטת שימוש pagingלעומת - ה שבשיטת בעוד אנו pagingהסטנדרטית הסטנדרטית
פחות למצוא בניהול external fragmentationמצפים מאשר. סגמנטים- פי על
. הגודל את להקצות ניתן בסגמנטים בשימוש נכונה הקביעה , " התהליך עלידי המבוקשת האלוקציה פ ע הסגמנט של המדויק
, . שהזיכרון מכיוון מנגד מספיק רציף זיכרון לנו יש שאכן זמן כל - , מ סובלת הסגמנטים שיטת רציף להיות צריך סגמנט לכל
external fragmentation בגודל רציפים סגמנטים מאוד הרבה שכן - , . ה שיטת מנגד זמן לאורך מוקצים מאפשרת pagingמשתנה
. אי קבוע בגודל אולם רציפים שאינם זיכרון לאיזורי הקצאהבכל להשתמש מאפשרים ההקצאה של הקבוע והגודל הרציפות
קיימת לא ולכן בזיכרון פנוי , external fragmentationאיזור אולם. גודל של במכפלות תמיד היא שההקצאה לעיתים, pageמכיוון
- ה גודל בכל שימוש נעשה לא - pageקרובות ל שמביא מהinternal fragmentation
- ב אחד ביט בדיוק כי לך ידוע כי free block bitהנחvector יודע אינך אולם שגוי הקבצים ניהול מערכת של
. הביט למציאת אלגוריתם תאר מדובר ביט באיזה.) בתשובה ) קוד לכתוב צורך אין השגוי
והשוואתו מחדש הוקטור בניית באמצעות יושג הדבר: . ספציפית המקורי לוקטור
- ל- אותו ואתחל חדש וקטור (.0צור פנוי ) - ב- בצורה rootהחל הקבצים כל על ועבור
רקורסיבית. - ב- החדש בוקטור .1סמן מוקצה בלוק כל
. שיצרת- החדש הוקטור עם הקיים הוקטור את השווה. השגוי הביט הוא השונה הביט
- ל הבאות הגישות את מבצע הסדר ) pagesתהליך לפילימין - משמאל ה, מספר את מייצגים (: pageהמספרים
1,2,3,2,4,2,1,5,6,2,3,7,4,5,6,3,7,2,6אחד page faultsכמה כל עבור להתרחש צפויים
? הכל בסך כי הנח להלן ההחלפה מאלגוריתמיהיא הזיכרון - frames 5קיבולת ה. כל כי framesזכור
, לכל הראשונה הקריאה שגם כך מלכתחילה ריקיםpage תייצרpage fault.
•(6 )' : ________LRUנק תשובה. •(6 )' החלפה ) Second Chanceנק כל שלאחר הנח
של קריאה - pageובעת ה מקבל referenceלזיכרוןbit - ה ערך frameשל - 1שנכנס ל עובר והמצביע
frame________ : ) תשובה בזיכרון הבא•(6 )' : ________Optimalנק תשובה.
1,2,3,2,4,2,1,5,6,2,3,7,4,5,6,3,7,2,6
1,2,3,2,4,2,1,5,6,2,3,7,4,5,6,3,7,2,6
1,2,3,2,4,2,1,5,6,2,3,7,4,5,6,3,7,2,6
- - ה ) פי על לבלוקים בקשות רצף cylindersלהלן ( ) בקשה לדיסק המגיעות נמצאים הם בו
היא .38, 6, 40, 2, 20, 22, 10(: 10ראשונהמעל כרגע נמצא הדיסק שראש cylinderבהנחה
מעבר, 20 , 6הוא cylinderומשך מהו מילישניות , המשך ומהו בפועל שיבוצע הקריאות רצף
: , בשיטה משתמשים אם הבקשות לשירות הכולל•First-come, first-served•Shortest Seek Time First•SCAN.) הדיסק ) לסוף התחלתי תנועה כיוון
10, 22, 20, 2, 40, 6, 38
, יחיד מעבד עם מחשב מערכת ' 1נתונה בגודל ודיסק זיכרון יגהבייט 300ג . עם' עובדת המחשב של ההפעלה מערכת יגהבייט demand paged virtualג
memory( לוקאלית החלפה מדיניות CPUותזמון( local replacementעםבסיס- רמות )multi-level feedback queue (MLFQ)על שתי ( – levelsעם
לפי התזמון מבוצע לפי round robinבראשונה לרמה FCFSובשניה כאשר ( - כלומר השניה פני על עדיפות יש תמיד במערכת(. preemptiveהראשונה
במהותם שהם תהליכים שני '. cpu-boundedרצים ' ב: ותהליך א תהליך ' יש א ' gigabytes 50בגודל working setלתהליך יש ב working setולתהליך
היא. megabytes 100בגודל לתהליכים הראשונית הזיכרון הקצאת כי הנח( equal allocationמסוג פעלה ) המערכת וכי שווה הקצאה מקבל תהליך כל
. , רצים התהליכים שני כאשר שלה היציב למצב והגיעה מספיק זמן פרק(6 ( )' במצב הם כאשר מהתהליכים איזה עדיפות( Readyנק לדעתך יקבל
- ה על בשיבוץ .CPUגבוהה נמק? - ' - ' שה מכיוון ב תהליך פני על עדיפות יקבל א 50שלו )working setתהליך
. ) הוא' אם גם הזיכרון מגודל משמעותית גדול יגה יבלה, cpu-boundedג הואבפעולות זמנו רוב ולעולם I/Oאת לזיכרון צריך שהוא הדפים הבאת לצורך
- ה את יסיים - time sliceלא - , . ה פי על ולכן - MLFQשלו תהליך priorityה, של - , . ה' שני מצד תעלה , working setא ' ולכן הזיכרון מגודל קטן ב תהליך של
- priorityה- פי על .MLFQשלו תקטן
(6 )' מעבד מוסיפים היו לו תשובתך משתנה היתה כיצד נק. ? נמק למערכת זהה נוסף
מוסיפים , CPUכאשר במקביל לרוץ התהליכים שני נוסףיחס ' העדיפותאולם , יקבל עדיין א תהליך קרי משתנה לא
. יותר גבוהה עדיפות( 6 )' להשתמש במקום לו תשובתך משתנה היתה כיצד נק
במדיניות שימוש מתבצע היה לוקאלית החלפה במדיניות. ? נמק גלובאלית החלפה
' לבחור א תהליך יכול ' pagesכעת בתור ב תהליך victimsשל ' - ' - ב. ול בזיכרון דפים יותר א ל יהיה לאט לאט ולפנותם
' - להיות, יתחילו ב ל אשר עד שלו page faultsפחות והעדיפות . של העדיפות בהדרגה לו Aתגדל שיהיו ככל ותקטן תלך
. בזיכרון דפים יותר
מערכת של העיקריים התפקידים שלושת הם מה - ל הקשור בכל ?memory managementההפעלה
כרגע • נמצאים בזיכרון חלקים אלו אחר לעקוב. " תהליכים אלו י וע בשימוש
כאשר • לזיכרון להעלות יש תהליכים אלו להחליט. זיכרון מתפנה
הנדרש • ככל לתהליכים זיכרון של הקצאה " את" שסיימו תהליכים של הזיכרון איסוף ו
פעולתם.הזיכרון – • על הגנה שהתקבלו נוספות תשובות
, וירטואלית מכתובות תרגום תהליכים שללפיזית.
- ב שבשימוש העיקריים היתרונות הם עבור virtual machineמה ? משתמשים? עבור מפתחים
• : מספר על אפליקציה אותה את לבדוק מאפשר מפתחים עבורשל מחדש העלאה או נוספת בחומרה צורך ללא הפעלה מערכות
הפרדה, ) רצים תהליכים מספר בין מלאה הפרדה מאפשר המחשב " " ,)' האמיתית ההפעלה במערכת פגיעה מונע וכו בזיכרון מלאה
- ,) ב) צורך מונע מחדש התקנה מונע המחשב restartובכך שלהוירטואליזציה ) את להפעיל זה שצריך מה כל קריסה של במקרה
. + : מהאחרים(. – אחד הראשון היתרון מלאה תשובה מחדשבמקור – • שפותחו שונות אפליקציות להריץ מאפשר משתמשים עבור
שונות הפעלה לבצע למערכות והעלאתו restartמבלי המחשב שלשונה הפעלה מערכת עם מספר, מחדש בין מלאה הפרדה מאפשר
,)' במערכת ) פגיעה מונע וכו בזיכרון מלאה הפרדה רצים תהליכים - ,) ( " ב " צורך מונע מחדש התקנה מונע ובכך האמיתית ההפעלה
restart ( להפעיל זה שצריך מה כל קריסה של במקרה המחשב של + : – .) אחד הראשון היתרון מלאה תשובה מחדש הוירטואליזציה את
מהאחרים.
- ה של העיקריים היתרונות layeredמהםapproach - ?system designל הפעלה מערכת של
• - ה – יותר designתשובה קל ולכן מודולרישכל, מכיוון המערכת את ולשנות לתחזק לדבג
של ספציפי מאוד מקטע על רק משפיע שינוי - ל ) בניגוד שינוי designהמערכת כל שבו רגיל
.) המערכת של רבים מרכיבים על להשפיע יכול
כך round robinאלגוריתם מסויימת הפעלה במערכת מומש - ב - ready queueשהכניסות ל מצביעים למעשה . PCBsהם
אותו • על שיצביעו מצביעים שני של האפקט יהיה מה - ב ?ready queueתהליך
•? זה מסוג מימוש של והחסרונות היתרונות הם מה• - ה אלגוריתם את לשנות ניתן הבסיסי round robinכיצד
. הכפולים המצביעים ללא גם אפקט אותו שיושג כך• In effect, that process will have increased its priority since by getting
time more often it is receiving preferential treatment.• The advantage is that more important jobs could be given more time,
in other words, higher priority in treatment. The consequence, of course, is that shorter jobs will suffer.
• Allot a longer amount of time to processes deserving higher priority. In other words, have two or more quantums possible in the Round-Robin scheme.
עם העובדת מחשב מערכת - demand pagingנתונה ה בהdegree of multiprogramming - ל כרגע . 4מקובעת
- ה ניצולת ובמדידת - CPUבמידה ה paging diskוניצולת , תוכל האם הבאים הנתונים התקבלו שבוצעו האחרונות
- ? ה הגדלת האם במערכת קורה בדיוק מה לתארdegree of multiprogramming - ה נצילות להגדלת תסייע
CPU?• - ה הדיסק, 13%היא CPUניצולת .97%ניצולת• - ה הדיסק, 87%היא CPUניצולת .3%ניצולת• - ה הדיסק, 13%היא CPUניצולת 3%ניצולת
• Thrashing is occurring.• CPU utilization is sufficiently high to leave things alone, an increase
degree of multiprogramming.• Increase the degree of multiprogramming.
המונה" MyWineמועדון "• יין לייצור סגור חברים מועדון ומחסן 8הוא חברים - . להכין. מנת על זמן נקודת בכל יין הכנת על להחליט יכול חבר כל אספקה
- ב, להשתמש החבר על גדולים )2יין שמרים(, carboysקנקנים מתסיס(yeast lock( ,)ממותק פירות מתחיל(. yeastושמרים( )juiceמיץ התהליך
ערבוב ) תחנת באמצעות גדול בקנקן יחדיו המרכיבים כל mixingבערבובstation , מתסיס( . באמצעות בקנקן תסיסה תהליך מתרחש מכן לאחר
שנמשך, . 4השמרים התהליך בסוף רק נדרש השני הגדול הקנקן שבועותהנקרא- ) תהליך השמרים משאריות היין את להפריד מנת (. decantingעל
ערבוב )2במועדון גדולים )mixing station ,)6תחנות carboys ,)7קנקניםשמרים ) ממותק )yeast lock ,)15מתסיסי פירות מיץ 2נדרשים( ) juiceקנקני
- ) ו יין קנקן להכנת מיץ חבילה ) 20קנקני נדרשת ליין שמרים של חבילות , .) החברים כל יין להכין מסיים החברים אחד כאשר יין קנקן לכל אחת
. ושמרים פירות מיץ חדש יין להכין מתחיל חבר שאותו לפני מהיין טועמים. תדיר באופן מוזמנים
• , היין מועדון פעולת לסמלוץ במועדון החברים אחד כתב אשר תוכנית להלןהוא מהחברים אחד כל , processכאשר מונעת. התוכנית החבר לטענת
deadlocks - ה בעיית את .race conditionופותרת• , ? איזה הסבר וכן במידה החבר צודק race conditionואיזה deadlockהאם
, . , אלו ולא במידה וכיצד נמנעו להתרחש עלולים - deadlockשהיו raceו conditions ( - ניתן למנעם מנת על לשנות יש שורות ואלו להיווצר עלולים
?) התוכנית על לסמן
תשובה:••Deadlock . ההפרדה הגדולים לקנקנים נוגע להתרחש היה שעשוי
קנקן ומשאב התהליך לצורך גדול קנקן משאב בין בקוד שנעשית - . ה מצבי הבעיה את פותרת מהשמרים ההפרדה לצורך raceגדול
condition - ה באמצעות להיפתר אמורים ולמיץ , mutexלשמרים - להיות מנת על כי לפני 100%אם אותו לשים היה צריך מדויקים
- אז ורק תהליכים שני יבדקו שלא מנת על הכמות של הבדיקה , . המיץ של לשורה הגיע שמישהו ייתכן כלומר ההפחתה את יבצעו , הסמאפור לפני מתבצעת הבדיקה כי שלילי ערך וקיבל והשמרים
- ל ולא ולידית לא לתוצאה יגרום זה או race conditionאבל , יוכל. לא אז לקנקן מחכה שהוא במצב מישהו אם לבסוף לדדלוקבתרד ) שמדובר להניח שאפשר למרות האחרים של מהיין לטעום
נפרד(.