ברוכים הבאים ל-מתכ.נט, גלישה נעימה!

מתכ.נט

מתכ.נט

ציוצים אחרונים ב-@MetachNet

"אלפבת - מילון סלנג עברי" ( http://metach.net/2009/אלפבת-מילון-סלנג-עברי/ ) מאת דור צוברי 2009-11-22

ניהול זיכרון, פרק 2 – Segmentation

ניהול זיכרון, פרק 2 – Segmentation

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

שיטת ניהול הזיכרון זו דוגלת בחלוקת הזיכרון למקטעים באורכים שונים, ניתן לתאר את חלוקת הזיכרון למטריצה לא סימטרית.
מיפוי הסגמנטים נמצא בטבלה מיוחדת שנקראת segments table לכל תוכנית המתבצעת יש טבלה משלה, כאשר כל כניסה \ שורה \ entry בטבלה מתארת segment אחר.
כל תהליך מקושר ל-segment map שלו ( השתקפות של תהליך ).

טבלת הסגמנטים מורכבת מ-3 עמודות:

  • כתובת – הכתובת ההתחלתית של הסגמנט.
  • אורך – אורך הסגמנט בזיכרון בבתים ( bytes ).
  • זכויות – הרשאות של התוכנית, מה מותר ומה אסור לבצע בכל אחד ואחד מהסגמנטים.
    !> הערה: אם משנים את הסגמנט, תתבצע reallocation ( הקצאה מחודשת ).
    !> הערה: מספר הסגמנטים והתוכניות שלהם נגזרות ממספר הדפים והאופי של התהליכים השונים.

כאשר תוכנית רוצה לגשת לכתובת בזיכרון, היא מספקת כתובת מהסוג הבא:

<# seg, offset>

מקרא:

  • seg – מספר המקטע.
  • offset – המיקום היחסי של המקטע בתוך הסגמנט.

המעבד ניגש לטבלת הסגמנטים, אם היא בפוקוס, אחרת הוא מתפקסס עליה ולוקח משם את הכניסה המתאימה.
המעבד בודק האם ה-offset נמצא בתוך הסגמנט או שיש חריגה אסורה.
דבר נוסף שעושה המעבד הוא בדיקת הזכויות, לאחר הבדיקות, המעבד מוסיף את ההיסט ( offset ) לכתובת ההתחלתית של הסגמנט וכך נקבל את הכתובת הפיזית.
לכל תוכנית יש טבלת סגמנטים משלה בזיכרון והכתובת שלה נמצאת ב-PCB ( ר"ת: Process Control Block ), כאשר התוכנית מתחילה לרוץ, מערכת ההפעלה מעבירה למעבד את הכתובת של טבלת הסגמנט שלה.

פעולות באחריות מערכת ההפעלה:

  1. לדעת לגבי כל חלק בזיכרון ה-RAM, האם הוא: חופשי או מוקצה ולמי?
  2. נגזרת סגמנטים – ניהול טבלת הסגמנטים.
  3. לדווח למעבד על כל החלפה, טבלת הסגמנטים בעקבות החלפת תהליך.
  4. לתת לכל תוכנית את השירותים של גישה לזיכרון ה-RAM.

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

לפרק הקודם: ניהול זיכרון, פרק 1 – הקדמה
לפרק הבא: ניהול זיכרון, פרק 3 – Paging

נהנת? שתף עם חברים:
  • Print
  • email
  • Facebook
  • Twitter
  • Digg
  • del.icio.us
  • Reddit
  • StumbleUpon
  • Technorati
  • FriendFeed
  • LinkedIn

אודות המחבר

דור צוברי, בן 19 מרחובות. כרגע לומד במכללת אורט רחובות הנדסת תוכנה, כהמשך ללימודיו במגמת מחשבים בתיכון.

7 תגובות ל-ניהול זיכרון, פרק 2 – Segmentation

טראקבקים

כתוב תגובה

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
כל הזכויות שמורות ל-מתכ.נט ולצוות הכתבים.