Manajemen Memori (Part. 2)

paging

Paging

Paging adalah metode yang memungkinkan suatu alamat memori fisik yang tersedia dapat tersusun tidak berurutan. Paging merupakan solusi untuk masalah fragmentasi eksternal dimana ruang alamat logika tidak berurutan yang mengijinkan sebuah proses dialokasikan pada memori fisik yang terakhir tersedia.

Konsep paging

Memori virtual dibagi menjadi blok-blok yang ukurannya tetap yang dinamakan page. Memori fisik dibagi juga menjadi blok-blok yang ukurannya tetap yang dinamakan frame. Lalu kita membuat suatu page table yang akan menterjemahkan memori virtual menjadi memori fisik.

paging paging

alamat yang dihasilkan oleh CPU(memori logis) akan dibagi menjadi 2 yaitu nomor page (p) dan page offset(d):

  • Nomor page akan menjadi indeks dari page table yang mengandung alamat dasar dari setiap alamat di memori fisik.
  • Page offset akan digabung dengan alamat dasar untuk mendefinisikan alamat fisik yang akan di kirim ke unit memori.

Pada alamat memori fisis akan dibagi menjadi nomor frame (f) yang nantinya akan dicocokan pada page table. Setiap alamat yang dihasilkan oleh CPU akan dicocokan nomor page-nya pada page table lalu akan dicari frame mana yang sesuai dengan nomor page tersebut.

Keuntungan dan kerugian paging:

Ukuran masing-masing pages besar:
(+) akses memori cepat
(-) besar kemungkinan terjadi fragmentasi internal

Ukuran masing-masing pages kecil:
(+) kemungkinan terjadinya fragmentasi internal menjadi kecil
(-) akses memori lambat

Perangkat keras paging

Dikenal dengan MMU. Jika CPU ingin mengakses memori, CPU mengirim alamat memorinya ke MMU yang akan menerjemahkannya ke alamat lain sebelum mengirim kembali ke unit memori. Alamat yang dihasilkan oleh CPU disebut alamat logis sedangkan alamat yang didapat setelah melalui MMU disebut alamat fisik.

Page table

page table

Sebuah rangkaian array dari masukan-masukan (entries) yang mempunyai indeks berupa nomor page (p). Setiap masukan terdiri dari flags dan nomor frame. Alamat fisik dibentuk dengan menggabungkan nomor frame dengan offset.

  • skema page table dua tingkat:
    page table 2 tingkat
  • Page table multilevel:page table multilevel
  • Inverted page table
    inverted page table
  • Shared page table
    shared page table

Segmentasi

Salah satu cara untuk mengatur memori dengan menggunakan segmen(kumpulan logical unit). Program dibagi menjadi beberapa segmen.

Arsitektur segmentasi

Alamat logika terdiri dari dua bagian yaitu nomor segmen (s) dan offset (d) yang dituliskan dengan <nomor segmen, offset>.
Pemetaan alamat logika ke alamat fisik menggunakan tabel segmen (segment table), terdiri dari:

  • Segmen basis (base) berisi alamat fisik awal
  • Segmen limit merupakan panjang segmen

Sifat segmentasi:

  • Ukuran tiap segmen tidak harus sama.
  • Dapat diletakan di mana saja (di main memory, setelah program dimasukkan ke memori).
  • Tabel Segmen → menentukan lokasi segmen.
  • Saling berbagi.
  • Adanya proteksi.
  • Alokasi yang dinamis.

implementasi segmentasi:

segmentasi segmentasi

masalah segmentasi:

  • Segmen dapat membesar.
  • Muncul fragmentasi luar, bila ada proses yang besar.

Segmentasi vs paging:

  • Kelebihan paging: Tidak ada fragmentasi luar, Alokasi-nya cepat.
  • Kelebihan segmentasi: Saling berbagi, Proteksi.

Virtual Memory

Memori virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya.

keuntungan memori virtual:

  • Lalu lintas I/O menjadi rendah.
  • Berkurangnya memori yang dibutuhkan.
  • Meningkatnya respon.
  • Bertambahnya jumlah user yang dapat dilayani.
  • Memori virtual melebihi daya tampung dari memori utama yang tersedia.

Implementasi virtual memory :

  1. Multiprograming
  2. Memori virtual dapat dilakukan dengan cara:
    1. Demand paging disini adalah permintaan pemberian page, permintaan pemberian page menggunakan swapping, page pada permintaan pemberian page hanya di-swap ke memori jika benar-benar diperlukan. Keuntungannya sedikit I/O yang dibutuhkan, sedikit Memory yang dibutuhkan, response yang lebih cepat, lebih banyak melayani user.
    2. Demand segmentation

Keuntungan virtual memory

  1. Lalu lintas I/O menjadi rendah.
  2. Berkurangnya memori yang dibutuhkan.
  3. Meningkatnya respon.
  4. Bertambahnya jumlah user yang dapat dilayani.
  5. Memori virtual melebihi daya tampung dari memori utama yang tersedia.
Iklan

Ayo ketik komentar!

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s