Smart-World Surf
🔬 הרחבה — צלילה לעומק

דפדוף (Paging)

בהאוניברסיטה הפתוחה · Israel
🧭 המושג הזה בכל הקורסים →

שדרגו את הדף עם קובץ

גררו מבחן, סיכום או צילום של מחברת — אני אקרא, אוודא שזה רלוונטי, ואחדד את התוכן (מושגים, סיכויי מבחן, מומחיות).

אם לא סימנתם — הקובץ נקרא לחילוץ עובדות בלבד ואז נמחק מהמערכת (זכויות יוצרים). העובדות שנלמדו נשארות ומשפרות את הקורס.

דפדוף (Paging): צלילה עמוקה לקורס מערכות הפעלה (20594)

עדשת האוניברסיטה הפתוחה: בבחינות העבר של הקורס "מערכות הפעלה" (20594), כפי שניתן לראות בכותרות כמו "2012a - 86 - Answers", "2009b-sols", "2005_sol", "2004_sol", "2002_sol", "2001b_sol", "2000b_sol" ו-"1999a_sol", מושם דגש חזק על הבנה מעמיקה של מנגנון הדפדוף, לא רק ברמה התיאורטית אלא גם ביישום מעשי. שאלות נפוצות כוללות חישובי תרגום כתובות לוגיות לפיזיות, ניתוח מבנה טבלת העמודים וגודלה, חישוב זמן גישה אפקטיבי לזיכרון (EAT) בהינתן TLB ושיעורי כשל עמוד, והבנת ההשפעה של פרמטרים שונים (כגון גודל עמוד) על ביצועי המערכת. הציפייה היא ליכולת לפתור בעיות חישוביות מורכבות ולהסביר את ההיגיון מאחורי המנגנונים השונים.

עדשת המומחיות: דפדוף (Paging) הוא אחד ממנגנוני ניהול הזיכרון המרכזיים והנפוצים ביותר במערכות הפעלה מודרניות. מטרתו העיקרית היא לאפשר הקצאת זיכרון יעילה ובטוחה לתהליכים, תוך התגברות על מגבלות הזיכרון הפיזי ובעיות פיצול.

דפדוף (Paging): שיטת ניהול זיכרון המפרידה בין מרחב הכתובות הלוגי של תהליך למרחב הכתובות הפיזי של המחשב. היא מחלקת את הזיכרון הלוגי ל"עמודים" ואת הזיכרון הפיזי ל"מסגרות עמודים" בגודל קבוע, וממפה אותם זה לזה.

מדוע דפדוף חשוב?

  • פתרון פיצול חיצוני: דפדוף מאפשר להקצות זיכרון פיזי לא רציף לתהליך, ובכך מבטל את בעיית הפיצול החיצוני (External Fragmentation) – מצב שבו יש מספיק זיכרון פנוי בסך הכל, אך הוא מפוזר בבלוקים קטנים שאינם מספיקים להקצאה רציפה.
  • זיכרון וירטואלי: הוא מהווה את הבסיס למימוש זיכרון וירטואלי (Virtual Memory), המאפשר לתהליכים להשתמש במרחב כתובות גדול יותר מהזיכרון הפיזי הזמין, על ידי טעינת עמודים מהדיסק לזיכרון הפיזי רק בעת הצורך (Demand Paging).
  • הגנה על זיכרון: כל תהליך רואה מרחב כתובות לוגי משלו, ואינו יכול לגשת ישירות לזיכרון של תהליכים אחרים, מה שמספק הגנה מובנית.

מנגנון הדפדוף: איך זה עובד?

כאשר המעבד מייצר כתובת לוגית, היא מחולקת לשני חלקים:

  • מספר עמוד (Page Number - p): החלק העליון של הכתובת, המציין את מספר העמוד הלוגי.
  • היסט (Offset - d): החלק התחתון של הכתובת, המציין את המיקום בתוך העמוד.

יחידת ניהול הזיכרון (MMU - Memory Management Unit) משתמשת במספר העמוד כדי למצוא את מספר מסגרת העמוד הפיזית המתאימה ב-

טבלת העמודים (Page Table): מבנה נתונים, לרוב בזיכרון הראשי, הממפה מספרי עמודים לוגיים למספרי מסגרות עמודים פיזיות.
. לאחר מכן, היא מחברת את מספר מסגרת העמוד הפיזית עם ההיסט כדי ליצור את הכתובת הפיזית האמיתית בזיכרון.

TLB (Translation Lookaside Buffer): מטמון חומרה מהיר המאחסן כניסות מטבלת העמודים שנעשה בהן שימוש לאחרונה. הוא מזרז משמעותית את תהליך תרגום הכתובות על ידי הימנעות מגישה לזיכרון הראשי עבור כל תרגום.

כאשר עמוד נדרש אינו נמצא בזיכרון הפיזי (כלומר, כניסת טבלת העמודים מצביעה על כך שהעמוד אינו תקף), מתרחש

כשל עמוד (Page Fault): אירוע שבו תוכנית מנסה לגשת לעמוד זיכרון שאינו נמצא כרגע בזיכרון הפיזי. מערכת ההפעלה מטפלת בכשל על ידי טעינת העמוד מהדיסק לזיכרון הפיזי.

השוואת סוגי פיצול

פיצול חיצוני (External Fragmentation)

נוצר כאשר יש מספיק זיכרון פנוי בסך הכל כדי למלא בקשה, אך הוא מפוזר בבלוקים קטנים ולא רציפים. דפדוף פותר בעיה זו.

פיצול פנימי (Internal Fragmentation)

נוצר כאשר זיכרון מוקצה בבלוקים בגודל קבוע (כמו עמודים), והתהליך אינו משתמש בכל הזיכרון שהוקצה לו בבלוק האחרון. דפדוף יוצר בעיה זו.

נקודה קריטית למבחן: חישוב זמן גישה אפקטיבי (EAT - Effective Access Time) הוא נושא חוזר במבחנים. עליך להבין כיצד TLB (שיעור פגיעה/החטאה) ושיעור כשל עמוד משפיעים על זמן הגישה הממוצע לזיכרון. הנוסחה בדרך כלל כוללת את זמן הגישה ל-TLB, זמן הגישה לזיכרון הראשי, וזמן הגישה לדיסק במקרה של כשל עמוד.

🔗 מושגים קשורים

מושגים נוספים מאותו קורס

מערכת הפעלה (Operating System) קריאת מערכת (System Call) תהליך (Process) בלוק בקרת תהליך (Process Control Block - PCB) החלפת הקשר (Context Switch) חוט (Thread) תזמון מעבד (CPU Scheduling) מצב מרוץ (Race Condition) קטע קריטי (Critical Section) מנעול (Mutex) סמפור (Semaphore) מבוי סתום (Deadlock) אלגוריתם הבנקאי (Banker's Algorithm) זיכרון וירטואלי (Virtual Memory) פילוח (Segmentation) כשל עמוד (Page Fault) אלגוריתם החלפת עמודים (Page Replacement Algorithm) סחף (Thrashing) מערכת קבצים (File System) בלוק בקרה של קובץ (File Control Block - FCB) DMA (Direct Memory Access) מנהל התקן (Device Driver) תזמון דיסק (Disk Scheduling) וירטואליזציה (Virtualization)

📝 מבחנים מהקורס

האוניברסיטה הפתוחה · תרגלו מול המבחנים האמיתיים