SEGMENTATION
Kelompok 55.5
Dania Tigarani Soraya Desiana Nurul Maftuhah
[email protected]
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
1
Introduction user’s view of memory vs actual physical memory
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
2
User’s View of Program
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
3
Segmentation? l
l
Manajemen memory yang memartisi logical address space menjadi segmen-segmen. Segmen adalah kumpulan logical unit yang dihasilkan oleh compiler setiap kali sebuah program di compile.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
4
Segment? l
l l
l
Setiap segmen memiliki ukuran yang berbeda. Saling independen satu sama lain. Hanya terdiri dari satu jenis tipe data, mis: array, stack, variabel, dll. Beberapa segment (mis: queue, stack) memiliki ukuran yang dinamis.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
5
Segmentation Architecture l l l l
Logical-Adress space merupakan kumpulan dari segmen-segmen. Masing-masing segment memiliki nama dan ukuran (panjang). Segment name? or segment number? Jadi, logical address : <segment-number,offset>
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
6
Segmentation Architecture (cont) l
l l l
Untuk memetakan alamat dua dimensi (alamat logic) ke alamat satu dimensi (alamat fisik) dibutuhkan segment- table. Setiap masukan dari segment table memiliki segment base dan segment limit. Segmet base à starting physic address dimana segmen tersebut berada. Segment limit à panjang (ukuran) dari sebuah segmen.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
7
Segmentation Architecture (cont) l
l l l
Logical address terdiri dari dua bagian: segment number (s) dan offset (d). S merupakan index pada segment table. Offset harus diantara 0 dan segment limit! Jika TIDAK à trap; addressing ERROR!
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
8
Segmentation Hardware
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
9
Contoh Segmentasi (1)
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
10
Contoh Segmentasi (2) l
l
Segmen 2 memiliki limit 400 bytes dan dimulai dari address 4300. Maka referensi ke byte 53 dari segmen 2 dipetakan ke lokasi 4300 + 53 = 4353. Referensi ke byte 1222 dari segmen 0 akan berakibat trap ke sistem operasi, karena limit segmen ini hanya 1000 bytes.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
11
Usage of Segmentation l Perlindungan
dari tiap segment. àAdanya bit proteksi pada setiap segmen, yang mengindikasikan apakah sebuah segmen: Read-only segment. Execute-only segment.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
12
Usage of Segmentation (cont) l
Pembagian kode, data, atau bagian program.
Sebuah informasi bersifat shareable ketika berbentuk segmen.
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
13
Pembagian Segment
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
14
Fragmentasi l
Pengalamatan memory secara dinamis:
Øbest-fit Øfirst-fit
l
Fragmentasi Eksternal
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
15
Paging vs Segmentation Consideration Need the programmer
Paging
Segmentation
No
Yes
1
many
Yes
Yes
be aware that this technique is being used? How many linear address spaces are there? Can the total address space exeed the size of physical memory?
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
16
Paging vs Segmentation(cont.1) Can procedures and data
No
Yes
No
Yes
No
Yes
be distinguished & separately protected? Can tabels whose size fluctuates be accomodated easily? Is sharing of procedures between users facilitated?
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
17
Paging vs Segmentation(cont.2) Why was this
To get a large
To allow programs
technique invented?
linear address
and data to be broken
space without
up into logically
having to buy
independent address
more physical
spaces and to aid
memory
sharing and protection
Manajemen Memory: Segmentasi
Copyright ©2004 Dania & Desiana
18