Orang boleh pandai setinggi Langit, tapi selama ia tak menulis ia akan hilang di dalam masyarakat (Pramoedya Ananta Toer)

Paging dan Segmentasi

Selasa, 08 Januari 2013


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:
  1. Segmentasi melibatkan programer (programer perlu tahu teknik yang digunakan), sedangkan dengan paging, programer tidak perlu tahu teknik yang digunakan.
  2. Pada segmentasi kompilasi dilakukan secara terpisah sedangkan pada paging, kompilasinya tidak terpisah.
  3. Pada segmentasi proteksinya terpisah sedangkan pada paging proteksinya tidak terpisah.
  4. Pada segmentasi ada shared code sedangkan pada paging tidak ada shared code.
  5. Pada segmentasi terdapat banyak ruang alamat linier sedangkan pada paging hanya terdapat satu ruang alamat linier.
  6. Pada segmentasi prosedur dan data dapat dibedakan dan diproteksi terpisah sedangkan pada paging prosedur dan data tidak dapat dibedakan dan diproteksi terpisah.
  7. Pada segmentasi pengubahan ukuran tabel dapat dilakukan dengan mudah sedangkan pada Paging pengubahan ukuran tabel tidak dapat dilakukan dengan mudah.
  8. 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.
Share this article :

1 komentar:

 
Support : Copyright © 2011. Indrie's Site - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger