Segmentasi
Segmentasi
merupakan skema manajemen memori yang mendukung cara pandang seorang programmer
terhadap memori. Ruang alamat lojik merupakan sekumpulan dari segmen-segmen.
Masing-masing segmen mempunyai panjang dan nama. Alamat diartikan sebagai nama
segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin
menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan
offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor
yang digunakan sebagai pengganti nama segmen. Sehingga, alamat lojik terdiri
dari dua tuple: [segmen-number, offset].
Meskipun seorang pengguna dapat
memandang suatu objek dalam suatu program sebagai alamat berdimensi dua, memori
fisik yang sebenarnya tentu saja masih satu dimensi barisan byte. Jadi
kita harus bisa mendefinisikan pemetaan dari dua dimensi alamat yang
didefinisikan oleh pengguna kesatu dimensi alamat fisik. Pemetaan ini disebut
sebagai sebuah segmen table. Masing-masing masukan mempunyai segmen base dan
segmen limit. Segmen base merupakan alamat fisik dan segmen limit
merupakan panjang dari segmen.
Sebagai contoh, kita mempunyai nomor
segmen dari 0 sampai dengan 4. Segmen-segmen ini disimpan dalam suatu memori
fisik. Tabel segmen berisi data untuk masing-masing segmen, yang memberikan
informasi tentang awal alamat dari segmen di fisik memori (atau base) dan
panjang dari segmen (atau limit). Misalkan segmen 2 mempunyai panjang 400 dan
dimulai pada lokasi 4300. Jadi, referensi di byte 53 dari segmen 2
dipetakan ke lokasi 4300 + 53 = 4353. Suatu referensi ke segmen 3, byte 852,
dipetakan ke 3200 + 852 = 4052. referensi ke byte 1222 dari segmen 0
akan menghasilkan suatu trap ke sistem operasi, karena segmen ini hanya
mempunyai panjang 1000 byte.
Lihat gambar 2. Segmentasi.
0 Response to "SEGMENTASI"
Post a Comment