רוצים לאפשר העברת מידע בין תהליכונים שונים (לא שייכים לאותו תהליך אב). מתלבטים בין שימוש בזיכרון משותף (shared memory) לבין העברת הודעות (message passing) באמצעות מערכת הפעלה.
מה ניתן לומר על השיקולים לבחירה בין שתי האפשרויות הנ"ל?
א. אם מדובר בהעברת מידע יחידה (שמתבצעת פעם אחת), לא כדאי ליצור אזור זיכרון משותף להעברת הנתונים.
ב. כאשר ישנן מספר רב של העברות מידע, שימוש בהעברת הודעות ע"י מערכת ההפעלה מהיר יותר מהעברת אותה כמות נתונים ע"י זיכרון משותף.
ג. שתי אפשרויות העברת המידע פועלות פחות או יותר באותה המהירות - כיוון ששתיהן מערבות את מערכת ההפעלה ונדרשת החלפת הקשר עבור כל העברת מידע.
ד. העברת מידע באמצעות מערכת ההפעלה מתאימה רק להעברת מידע בין תהליכונים משותפים לאותו תהליך אב, לא בין תהליכים שונים.
האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
תהליכיםקריאות מערכתהחלפת הקשרליבהזיכרוןתקשורת בין תהליכיםזיכרון משותףהעברת הודעות
טבלת הדפים של תהליך במערכת עם זיכרון וירטואלי נראית כך. כל המספרים הם דצימליים, מתחילים מאפס, וכל הכתובות הן כתובות של בייט בזיכרון. גודל הדף הוא 8192 בתים (8KByte).| Page Number | Valid bit | Frame Number |
|---|
| 0 | 1 | 1 |
| 1 | 1 | 0 |
| 2 | 0 | 0 |
| 3 | 1 | 0 |
| 4 | 0 | 3 |
| 5 | 0 | 0 |
לאיזו כתובת פיזית, אם ניתן לחשב, תמופה הכתובת הוירטואלית הבאה: 9000?
א. 808
ב. 9000
ג. 8192
ד. לא ניתן לחשב האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
סעיף ב: מהירות גישה
תשובה והסבר:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפיםTLB
א. (11 נק')
נניח שיש לנו טבלת דפים בשתי רמות. אורך כל כניסת טבלת הדפים (PTE) הוא 4 בתים. נניח שאנו רוצים שכל טבלת דפים בודדת (ראשית וכל אחת ממשניות) תתפוס בדיוק דף זיכרון אחד.
מה צריך להיות הפורמט החלוקה לסיביות של כתובת וירטואלית באורך 32 סיביות שמתאים לזה?
הערה: למרות שלא ניתן גודל הדף, ניתן לחשב אותו ממשוואה שתאפשר את זה או בניסוי וטעיה.
תשובה, חישוב והסבר
ב. (4 נק')
כמה דפים בסה"כ יתפסו כל טבלאות הדפים ביחד (ראשית ומשניות) בהנחה שכל תהליך מקבל את מרחב הזיכרון המרבי האפשרי לפי נתוני השאלה?
הסבר וחישוב:
ג. (3 נק')
מה היתרון בשימוש בטבלת הדפים במספר רמות יחסית לטבלת הדפים ברמה אחת (שטוחה)?
האוניברסיטה הפתוחהמועד 72 · 2024 · סמסטר א
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
על ידי מי ניתן ליצור בפועל איזור זיכרון משותף SHARED MEMORY בין שני תהליכים PROCESSES?
א. ע"י התהליך הראשון שניגש לאזור שעתיד להיות משותף.
ב. ע"י התהליך השני כשהוא ניגש לאזור השייך לתהליך הראשון.
ג. ע"י מערכת הפעלה בעקבות בקשת התהליך.
ד. תלוי בגודל האזור של זיכרון משותף.
האוניברסיטה הפתוחהמועד 61 · 2023 · סמסטר ב
תהליכיםניהול זיכרוןזיכרוןקריאות מערכתליבה
א. )5 נק'( הסבירו בקצרה את המטרה העיקרית ואת אופן פעולתו של רכיב ה-DMA במערכת מחשב מודרנית.
ב. )6 נק'( מה הן החסרונות של שימוש ברכיב ה-DMA? האם הוא יכול לגרום להאטת ביצוע פקודות חישוביות?
מה הן הדרכים להתמודדות עם החסרונות (ציינו את הקיימות או הציעו חדשות)?
האוניברסיטה הפתוחהמועד 61 · 2023 · סמסטר ב
קלט/פלטזיכרוןניהול זיכרוןDMA
נתונה מערכת מחשב שתומכת בדפים בגדלים שונים: 4Kbyte ו 4Mbyte בלבד. כל דף בכל גודל יכול להימצא בכל מקום בזיכרון הפיזי RAM. תהליך שמבקש הקצאת זיכרון ראשי 8Mbyte או יותר מקבל אותו בדפים בגודל 4Mbyte ובהקצאות קטנות יותר בדפים בגודל 4Kbyte. המרחב הוירטואלי מחולק לשני אזורים שווים, בחלק הנמוך גודל הדף 4Kbyte ובחלק הגבוה 4Mbyte במרחב הזיכרון הפיזי אין חלוקה כזאת.
הקומפיילר המיוחד שפותח בשביל המערכת ופונקציות הספרייה של שפת תכנות קובעים כתובות וירטואליות של משתנים בהתאם(בכתובות גבוהות או נמוכות, לא משנה מה הדרך לעשות את זה).
א. (9 נק')
תארו את האלגוריתם(את הדרך) של MMU לתרגום הכתובת הוירטואלית לכתובת פיזית. ציינו האם נדרשים שינויים בצורת הכתובת הוירטואלית ובטבלת הדפים(בהשוואה לצורה רגילה) כדי לאפשר את תרגום הכתובת ואם כן, מה הם. הדגישו במיוחד את שיטת חישוב מספר מסגרת זיכרון פיזית ואת הגודל שלה.
ב. (5 נק')
מה החיסרון העיקרי, חוץ מקיטוע פנימי, ויתרון העיקרי בשימוש בדפים בגודל משתנה בצורה המתוארת בשאלה?
ג. (5 נק')
הציעו פתרון לחסרון שצוין בסעיף ב'.
האוניברסיטה הפתוחהמועד 82 · 2023 · סמסטר ב
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפיםTLB
נתונה מערכת מחשב שתומכת בדפים בגדלים שונים: 4 Kbyte ו-4 Mbyte בלבד. הזיכרון הפיזי RAM והמרחב הווירטואלי מחולקים לשני אזורים שווים, בחלק הנמוך גודל מסגרת הזיכרון הפיזית וגודל הדף 4 Kbyte ובחלק הגבוה 4 Mbyte.
הקומפיילר המיוחד שפותח בשביל המערכת ופונקציות הספריה של שפת תכנות קובעים כתובות וירטואליות של משתנים בהתאם (בכתובות גבוהות או נמוכות, לא משנה מה הדרך לעושות את זה).
תהליך שמבקש הקצאת זיכרון ראשי 4 Mbyte או יותר מקבל אותו בדפים בגודל 4 Mbyte ובהקצאות קטנות יותר בדפים בגודל 4 Kbyte.
א. )9 נק'( תארו את האלגוריתם (את הדרך) של MMU לתרגום הכתובת הוירטואלית לכתובת פיזית. ציינו האם נדרשים שינויים בצורת הכתובת הוירטואלית ובטבלת הדפים (בהשוואה לצורה רגילה) כדי לאפשר את תרגום הכתובת ואם כן, מה הם.
ב. )11 נק'( במערכת המתוארת בסעיף א' ובהנחה שגודל הזיכרון הפיזי במערכת הוא 64 Mbyte (קטן מאוד בשביל נוחות החישוב), המרחב הווירטואלי שכל תהליך מקבל הוא 128 Mbyte, הדגימו את תרגום כתובות וירטואליות הבאות לכתובות פיזיות (נקודות בין כל 10 ספרות רק לנוחות התמצאות):
(1) 0000100.0000000000.0000000011
(2) 1000100.0000000000.0000000100
הניחו (בהיעדר נתוני טבלת הדפים) שמספר המסגרת הפיזית שווה למספר הדף + 1 ושהדף נוכח בזיכרון.
ציינו את מספר סיביות ה-OFFSET ומספר סיביות מספר הדף בתוך כל כתובת וירטואלית.
האוניברסיטה הפתוחהמועד 61 · 2023 · סמסטר ב
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
מהי הסיבה העיקרית לשימוש ב-DMA?
א. למעבד דרוש פחות זמן לביצועה כל פקודה בודדת.
ב. שיפור ביצועי המערכת ע"י הגדלת המקביליות.
ג. הקטנת העומס על הזיכרון הראשי.
ד. מאפשר להתקן DEVICE, למשל דיסק, להשתמש ב RAM כמטמון.
האוניברסיטה הפתוחהמועד 91 · 2023 · סמסטר א
קלט/פלטזיכרון
הבדל אחד בין תהליך PROCESS לבין תהליכונים של גרעין kernel thread הוא:
א. עם ריבוי תהליכים ניתן לנצל ריבוי מעבדים, אבל ע"י kernel threads לא.
ב. kernel threads מונעים את הבעיה של חסימה כאשר אחד מבצע פעולת I/O , אבל הבעיה קיימת כשמשתמשים בריבוי תהליכים.
ג. תהליכים תמיד זקוקים לתיווך של מערכת ההפעלה כדי לתקשר ביניהם ו kernel threads לא תמיד.
ד. kernel threads מריצים רק קוד של מערכת ההפעלה, ואילו תהליכים יכולים להריץ גם קוד משתמש.
האוניברסיטה הפתוחהמועד 91 · 2023 · סמסטר א
תהליכיםתהליכוניםסנכרוןזיכרוןקריאות מערכת