איסוף אשפה (garbage collection)
DESCRIPTION
איסוף אשפה (Garbage collection). כותרת חילופית : ניהול זיכרון דינמי (Dynamic memory allocation) ספר בתחום :. Garbage Collection: Algorithms for automatic dynamic memory management, Richard Jones and Rafael Lins, Wiley, 1999. כמה זיכרון צורכת התוכנית הבאה ?. 3. 4. p. p. 11. 12. p. 1. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/1.jpg)
(Garbage collection)איסוף אשפה
(Dynamic memory allocation): ניהול זיכרון דינמי כותרת חילופית
Garbage Collection: Algorithms for automatic dynamic:ספר בתחוםmemory management, Richard Jones and Rafael Lins, Wiley, 1999.
כמה זיכרון צורכת התוכנית הבאה ?
1
malloc
2
malloc
3
malloc
4
malloc
p
5
malloc
6
malloc
7
malloc
8
malloc
9
malloc
10
malloc
11
malloc
12
malloc
13
malloc
14
malloc
…
p
p p
)n(Oסיבוכיות מקום נוסף )O)1סיבוכיות מקום
![Page 2: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/2.jpg)
(Garbage collection)איסוף אשפה
(Dynamic memory allocation): ניהול זיכרון דינמי כותרת חילופית
Garbage Collection: Algorithms for automatic dynamic:ספר בתחוםmemory management, Richard Jones and Rafael Lins, Wiley, 1999.
כמה זיכרון צורכת התוכנית הבאה ?
1 2
3 4
5 6
7 8
9 10
11 12
13 14
…
: איך לשחרר צמתים שהמתכנת לא שחרר באמצעות פקודת הבעיהfree.
p
freefree
freefree
free free
q
q
![Page 3: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/3.jpg)
Garbage collectionאיסוף אשפה
v1v2v3x
y
z
ee
hh
משתנים של התכנית frameמחסנית
:צמתים שאין אליהם מסלול מאף משתנה תכניתאשפה
:קלט
בעיית איסוף אשפה
:פלט
לשחרר אתאת צמתי האשפה
משתנים נוצרו בזמן mallocע"י ריצה
Heap
![Page 4: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/4.jpg)
AVAIL
Garbage collectionאיסוף אשפה
v1v2v3x
y
z
ee
hh
משתני התכנית
:קלט
בעיית איסוף אשפה
:פלט
לשחרר אתאת צמתי האשפה
משתנים בזמן ריצהmallocנוצרו ע"י
הבא mallocב- מוצאים אבר מ-
![Page 5: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/5.jpg)
Reference countingספירה 1פתרון
v1v2v3x
y
z
ee
hh
2
1
12
2
1
1
count שדה Vלהוסיף לכל צומת השומר את מספר המצביעים אליו
2
1
1
![Page 6: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/6.jpg)
AVAIL
V של countעדכן את 1.אלגוריתם בכל פעם שמשנים מצביע
0 שווה V של count. אם 2 AVAILשים את הצומת ב-
v1v2v3x
y
z
ee
hh
2
1
12
2
1
1
2
1
1
0
12
![Page 7: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/7.jpg)
v1v2v3x
y
z
ee
hh
2
1
12
2
1
1
2
1
1
1
בעיה
1
אין גישהלמעגל
![Page 8: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/8.jpg)
v1v2v3x
y
z
ee
hh
Tracing collectorסימון 2פתרון
Depth First Search (DFS)אלגוריתם
![Page 9: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/9.jpg)
v1v2v3x
y
z
ee
hh
Depth First Search (DFS)אלגוריתם
אלגוריתם רקורסיביחסרון:
אלגוריתם רקורסיבי משתמש במחסנית
סבוכיות מקוםO(n)
![Page 10: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/10.jpg)
v1v2v3x
y
z
ee
hh
ללא רקורסיהDFS אלגוריתם
נניח שתמיד ישמצביע לצומת הקודמת
איך נדע אם המצביע מקורי?colorנוסיף משתנה
לכל מצביע
![Page 11: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/11.jpg)
v1v2v3x
y
z
ee
hh
a b c d e f g
Compactionדחיסה
:פלט:קלט
![Page 12: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/12.jpg)
v1v2v3x
y
z
ee
hh
a b c d e f g
Compactionדחיסה
:פלט
![Page 13: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/13.jpg)
v1v2v3x
y
z
ee
hh
a b c d e f g
. לספור את מספר הצמתים1
n = 7
. לקצות מקום2
. לעביר ולהחליף בכתובת3
. עדכון מצביעים4
שימו לב
![Page 14: איסוף אשפה (Garbage collection)](https://reader036.vdocuments.site/reader036/viewer/2022081513/56813654550346895d9ddaa3/html5/thumbnails/14.jpg)
v1v2v3x
y
z
ee
hh
a b cd e f g
. לספור את מספר הצמתים1
n = 7
. לקצות מקום2
. לעביר ולהחליף בכתובת3
. עדכון מצביעים4
סבוכיות מקוםO(1)