Rabu, 19 Juni 2013

Paging dan Segmentasi

Sistem Paging

Sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register, base register, dan segment register dan lain-lain.
Istilah pada sistem paging:

·         Alamat Maya
·         Alamat Nyata
·         Page
·         Page Frame
·         Page Fault
·         MMU

Pengertian dari istilah Paging

·         Alamat Maya : Alamat yang dihasilkan perhitungan menggunakan index register, base register, segment register dan sebagainya.
·         Alamat Nyata : Alamat di memori fisik.
·         Page : Unit terkecil virtual address space.
·         Page Frame : Unit terkecil memori fisik.
·         Page Fault : Exception untuk permintaan alokasi page ke memori.
·         Memory Management Unit (MMU) : chip atau kumpulan chip yang memetakan alamat maya ke alamat fisik.

Konsep Dasar

Memori fisik dibagi menjadi blok-blok dengan ukuran tertentu disebut frame. Sedangkan memori logika dibagi menjadi blok-blok yang disebut page. Setiap alamat yang diberikan oleh CPU dibagi menjadi 2 bagian, yaitu nomor page dan offset.
·         Page number digunakan sebagai indeks ke dalam table page (page table). Page table berisi alamat basis dari setiap page pada memori fisik.
·         Page offset mengkombinasikan alamat basis dengan page offset untuk mendefinisikan alamat memori fisik yang dikirim ke unit memori.

Pemetaan Page Menjadi Page Frame





Penggantian Page

Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus diganti. Banyaknya page fault menghasilkan banyak overhead.

·         Algoritma Penggantian Page
·         Algoritma penggantian page acak
Setiap terjadi page fault, page yang diganti dipilih secara acak. ini terdapat kemungkinan proses yang baru berjalan bisa digantikan oleh proses lain jadi sangat merugikan dan percobaan menunjukkan rate page fault yang sangat tinggi ketika menggunakan teknik ini.
·         Algoritma penggantian page optimal
·         Memilih page yang baru terpakai untuk digantikan oleh string acuan terbaru
·         Algoritma penggantian page LRU (Least Recently Used)
Berdasarkan observasi, page page yang digunakan pada beberapa instruksi terakhir berkemungkinan besar akan dipakai kembali nantinya. Page-page yang lama tidak digunakan akan tetap tak digunakan dalam waktu lama. Pada algoritma ini ketika terjadi page fault maka memindahkan page yang tak digunakan paling lama.
·         Algoritma penggantian page FIFO
Memilih memindahkan page yang sering digunakan yang telah berada dimemori untuk waktu yang lama.
·         Algoritma penggantian page NRU (Not Recently Used)
·         Algoritma penggantian page modifikasi dari FIFO
·         Algoritma penggantian page kesempatan kedua
·         Algoritma penggantian clock page 


Masalah pada Paging

·         Working set model
·         Penggantian lokal vs global
·         Frekuensi page fault
·         Ukuran page

Kerugian dan Keuntungan Paging

1.       Jika kita membuat ukuran dari masing-masing pages menjadi besar:
·         Keuntungan: akses memori akan relatif lebih cepat.
·         Kerugian: kemungkinan terjadinya fragmentasi internal yang sangat besar.

2.      Jika kita membuat ukuran dari masing-masing pages menjadi kecil:
·         Keuntungan: akses memori akan relatif lebih lambat.
·         Kerugian: kemungkinan terjadinya fragmentasi internal akan menjadi lebih kecil.

Segmentasi

Deskripsi Segmentasi

·         Segmentasi memungkinkan pemrogram memandang memori sebagai berisi banyak ruang alamat atau segmen.
·         Dengan segmentasi, pemrogram tidak berurusan dengan batasan memori yang disebabkan kapasistas memori utama.

Keunggulan Teknik Segmentasi

·         Menyederhanakan penanganan struktur data yang berkembang
·         Kompilasi ulang independen
·         Memudahkan pemakaian memori bersama diantara proses-proses
·         Memudahkan untuk proteksi

Perbandingan antara Paging dan Segmentasi

Ada beberapa perbedaan antara Segmentasi dan Paging diantaranya adalah :
·         Pada segmentasi kompilasi dilakukan secara terpisah sedangkan padapaging, kompilasinya tidak terpisah.
·         Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
·         Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada paginghanya terdapat satu ruang alamat linier.
·         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.

Kombinasi Paging dan Segmentasi

·         Ruang alamat pemakai dibagi menjadi sejumlah segmen sesuai kehendak pemrogram.
·         Setiap segmen dibagi menjadi sejumlah page berukuran tetap, berukuran sama dengan page frame memori utama.

Tidak ada komentar:

Posting Komentar