Pada Postingan Kali ini saya akan memaparkan secara singkat pengertian dari
Paging dan Segmentasi, berikut dengan perbedaan antara keduanya. ^Semoga bermanfaat^
Paging merupakan kemungkinan solusi untuk permasalahan fragmentasi eksternal
dimana ruang alamat logika tidak berurutan; mengijinkan sebuah proses
dialokasikan pada memori fisik yang terakhir tersedia. Memori fisik dibagi ke dalam blok-blok ukuran
tetap yang disebut frame. Memori logika
juga dibagi ke dalam blok-blok dengan ukuran yang sama yang disebut page.
Semua daftar frame yang bebas disimpan. Untuk menjalankan program dengan ukuran n page, perlu menemukan n frame
bebas dan meletakkan program pada
frame tersebut. Tabel
page (page table) digunakan untuk
menterjemahkan alamat logika ke alamat fisik.
Selain kedua metode itu ada metode pengaturan memori lain yang berusaha
menggabungkan metode segmentasi dan paging. Metode ini disebut dengan
segmentation with paging. Dengan metode ini jika ukuran segmen melebihi ukuran
memori utama maka segmen tersebut dibagi-bagi jadi ukuran-ukuran halaman yang
sama ==> paging.
Setiap alamat dibangkitkan oleh CPU dengan
membagi ke dalam 2 bagian yaitu :
·
Page number (p) digunakan sebagai indeks ke dalam
table page (page table).
Page table berisi alamat basis dari setiap page pada memori fisik.
·
Page offset (d) mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat
memori fisik yang dikirim ke unit memori.
Implementasi Sistem Paging
Setiap sistem operasi mempunyai metode sendiri untuk
menyimpan tabel page. Beberapa sistem
operasi mengalokasikan sebuah tabel page untuk setiap proses. Pointer ke tabel page disimpan dengan nilai
register lainnya dari PCB. Pada
dasarnya terdapat 3 metode yang berbeda untuk implementasi tabel page :
1.
Tabel
page diimplementasikan sebagai kumpulan dari “dedicated” register. Register berupa rangkaian logika berkecepatan
sangat tinggi untuk efisiensi translasi alamat paging. Contoh : DEC PDP-11. Alamat terdiri dari 16 bit dan ukuran page
8K. Sehingga tabel page berisi 8 entri yang disimpan pada
register. Penggunaan register memenuhi
jika tabel page kecil (tidak lebih dari 256 entry).
2.
Tabel page disimpan pada main memori dan
menggunakan page table base registe” (PTBR) untuk menunjuk ke tabel page yang disimpan di main memori. Penggunakan memori untuk mengimplementasikan
tabel page akan memungkinkan tabel page
sangat besar (sekitar 1 juta entry).
Perubahan tabel page hanya
mengubah PTBR dan menurunkan waktu
context-switch. Akan tetapi
penggunaan metode ini memperlambat akses memori dengan faktor 2. Hal ini dikarenakan untuk mengakses memori
perlu dua langkah : pertama untuk lokasi tabel page dan kedua untuk lokasi
alamat fisik yang diperlukan.
3.
Menggunakan perangkat keras cache yang khusus, kecil dan cepat yang
disebut associative register atau
translation look-aside buffers (TLBs).
Merupakan solusi standar untuk permasalahan penggunaan memori untuk
implementasi tabel page. Sekumpulan
associative register berupa memori kecepatan tinggi. Setiap register terdiri dari 2 bagian yaitu
key dan value. Jika associative register
memberikan item, akan dibandingkan dengan semua key secara simultan. Jika item ditemukan nilai yang berhubungan
diberikan. Model ini menawarkan
pencarian cepat tetapi perangkat keras masih mahal. Jumlah entry pada TLB bervariasi antara 8 s/d
2048.
Sesuai dengan
definisinya yang merupakan gabungan dari segmentasi dan paging,
maka metode ini memiliki keunggulan yang dimiliki baik oleh metode segmentasi
mau pun yang dimiliki oleh paging. Tetapi selain itu segmentasi
dengan pemberian halaman ini juga memiliki beberapa kelebihan yang tidak
dimiliki oleh kedua metode tersebut. Kelebihan-kelebihan segmentasi dengan
pemberian halaman antara lain:
- Dapat dibagi.
- Proteksi.
- Tidak ada fragmentasi luar.
- Alokasi yang cepat.
- Banyak variasinya.
- Biaya kinerja yang kecil.
Ada beberapa perbedaan
antara Segmentasi dan Paging diantaranya adalah:
- Segmentasi melibatkan programer (programer perlu
tahu teknik yang digunakan), sedangkan dengan paging,
programer tidak perlu tahu teknik yang digunakan.
- Pada segmentasi kompilasi dilakukan secara
terpisah sedangkan pada paging, kompilasinya tidak terpisah.
- Pada segmentasi proteksinya terpisah sedangkan
pada paging proteksinya tidak terpisah.
- Pada segmentasi ada shared code sedangkan
pada paging tidak ada shared code.
- Pada segmentasi terdapat banyak ruang alamat
linier sedangkan pada paging hanya terdapat satu ruang
alamat linier.
- Pada segmentasi prosedur dan data dapat dibedakan
dan diproteksi terpisah sedangkan pada paging prosedur
dan data tidak dapat dibedakan dan diproteksi terpisah.
- Pada segmentasi pengubahan ukuran tabel dapat
dilakukan dengan mudah sedangkan pada Paging pengubahan
ukuran tabel tidak dapat dilakukan dengan mudah.
- Segmentasi digunakan untuk mengizinkan program
dan data dapat dipecahkan jadi ruang alamat mandiri dan juga untuk
mendukung sharing dan proteksi sedangkan paging digunakan
untuk mendapatkan ruang alamat linier yang besar tanpa perlu membeli
memori fisik lebih.
Komentar ini telah dihapus oleh pengarang.
BalasHapus