רוצים לאפשר העברת מידע בין תהליכונים שונים (לא שייכים לאותו תהליך אב). מתלבטים בין שימוש בזיכרון משותף (shared memory) לבין העברת הודעות (message passing) באמצעות מערכת הפעלה.
מה ניתן לומר על השיקולים לבחירה בין שתי האפשרויות הנ"ל?
א. אם מדובר בהעברת מידע יחידה (שמתבצעת פעם אחת), לא כדאי ליצור אזור זיכרון משותף להעברת הנתונים.
ב. כאשר ישנן מספר רב של העברות מידע, שימוש בהעברת הודעות ע"י מערכת ההפעלה מהיר יותר מהעברת אותה כמות נתונים ע"י זיכרון משותף.
ג. שתי אפשרויות העברת המידע פועלות פחות או יותר באותה המהירות - כיוון ששתיהן מערבות את מערכת ההפעלה ונדרשת החלפת הקשר עבור כל העברת מידע.
ד. העברת מידע באמצעות מערכת ההפעלה מתאימה רק להעברת מידע בין תהליכונים משותפים לאותו תהליך אב, לא בין תהליכים שונים.
האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
תהליכיםקריאות מערכתהחלפת הקשרליבהזיכרוןתקשורת בין תהליכיםזיכרון משותףהעברת הודעות
שאלה מותאמת עבור סטודנטים שלמדו בתשפ"ד (שנה שעברה - סמסטר 2024)
צוות פיתוח החליט להוסיף תמיכה בקונטיינרים CONTAINERIZATION למערכת הפעלה שלא תומכת בזה.
א. האם יהיה צורך להוסיף קריאות מערכת חדשות? הסבירו למה כן והביאו דוגמא או הסבירו למה לא.
ב. האם יהיה צורך לשנות את קוד המימוש של קריאות מערכת קיימות? הסבירו למה כן והביאו דוגמא לקריאת מערכת שצריך לשנות או הסבירו למה לא צריך.
האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
ליבהקריאות מערכתתהליכיםקונטיינריזציה
מה יהיה הפלט אחרי הרצת הקוד הבא במערכת XV6 שתומכת בקונטיינרים? ידוע שה PID הגדול ביותר שהיה במערכת לפני הרצת הקוד היה 10.
ניתן להניח שכל קריאות מערכת מצליחות.
האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
תהליכיםforkקריאות מערכתמרחבי שם
שאלה מותאמת עבור סטודנטים שלמדו בתשפ"ה (הסמסטר הנוכחי 2025א)
מה יודפס בעקבות הרצת קטע קוד הבא בתוך מערכת xv6 שתומכת בקונטיינרים, ניתן להניח שכל קריאות מערכת מצליחות:
האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
תהליכיםקריאות מערכתforkמערכת קבציםמרחבי שם
שאלה 10
הניחו שקריאות המערכת (SYSTEM CALLS) מעבירות פרמטרים רבים לגרעין המערכת.
האם:
• לגרעין המערכת צריכה להיות גישה למרחב הזיכרון של תהליך המשתמש
• לתהליך המשתמש צריכה להיות גישה למרחב הזיכרון של גרעין המערכת
תשובה והסבר:
האוניברסיטה הפתוחהמועד 67 · 2024 · סמסטר ג
קריאות מערכתליבהניהול זיכרוןזיכרון וירטואליתהליכים
איזו פעולה מן הפעולות הבאות אפשר לבצע אך ורק במצב ה kernel mode של מעבד?
א. שמירת תוכן (CONTEXT) של התהליך.
ב. החלפה בין תהליכוני משתמש threads user.
ג. השמת ערך לתוך משתנה באזור זיכרון משותף שנוצר ע"י המערכת (MEMORY SHARED).
ד. הגדרת משתמש חדש במערכת.
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
ליבההחלפת הקשרתהליכיםקריאות מערכת
ניתן ליצור איזור של זיכרון משותף MEMORY SHARED בין שני תהליכים PROCESSES ע"י שבכל טבלת הדפים יהיו מצביעים לאזור המשותף של שני התהליכים. במצב זה:
א. האזור המשותף חייב להיות ממופה לאותה כתובת וירטואלית במרחבי הכתובות של שני התהליכים.
ב. אחד התהליכים פונה לכתובת משותפת ויש fault page, אזי שני התהליכים יחסמו בוודאות.
ג. קידום ערך המשתנה הנמצא באזור המשותף צריך להיות מוגן ע"י סמפור (SEMAPHORE).
ד. כל גישה לאזור המשותף תבוצע ע"י מערכת ההפעלה ולא ישירות ע"י התהליך.
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
ניהול זיכרוןזיכרון וירטואליסנכרוןסמפוריםתנאי מרוץקטע קריטיתהליכיםטבלת דפים
במערכת 6XV שתומכת בקונטיינרים קיימת קריאת מערכת kill(pid) המאפשרת הריגת תהליך ע"פ PID שלו. תזכורת: קיימות גם קריאות getpid() ו getppid().
נתון קוד הבא וניתן להניח שמרגע הרצתו במערכת לא נוצרו תהליכים מעבר לתהליך עצמו ומה שמופיע בקוד.
כתבו את הפקודות המדויקות שצריכות להיות איפה שמופיע ??? המאפשרות להרוג את כל התהליכים שנוצרו לפני // Kill all before me בעקבות הרצת הקוד והסבירו או הסבירו למה לא ניתן לעשות את זה.
תשובה והסבר:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
תהליכיםforkקריאות מערכתמרחבי שמות
שאלה 11
במערכת 6XV שתומכת בקונטיינרים קיימת קריאת מערכת kill(pid) המאפשרת הריגת תהליך ע"פ PID שלו. תזכורת: קיימות גם קריאות getpid() ו getppid().
נתון קוד הבא וניתן להניח שמרגע הרצתו במערכת לא נוצרו תהליכים מעבר לתהליך עצמו ומה שמופיע בקוד.
כתבו את הפקודות המדויקות שאמורות להיות איפה שמופיע ??? המאפשרות להרוג את כל התהליכים שנוצרו אחרי שנוצרו התהליכים // Don't kill me.
תשובה והסבר:
האוניברסיטה הפתוחהמועד 67 · 2024 · סמסטר ג
תהליכיםforkקריאות מערכתמרחבי שם
בחרו מידע אשר איננו מצוי ב PCB (process control block) של תהליך:
א. מצב של תהליך (ריצה, המתנה וכו').
ב. מספר תהליך האב של התהליך.
ג. מצביע לטבלת הדפים של התהליך.
ד. שיטות הגישה (אקראית או רציפה) לכל הקבצים הפתוחים של התהליך.
האוניברסיטה הפתוחהמועד 68 · 2024 · סמסטר א
תהליכיםניהול זיכרוןמערכת קבצים