Paging
Definisi Paging
• Suatu
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.
• Paging
adalah bentuk manajemen memori yang biasa digunakan pada beberapa OS.
Konsep Paging
• Memori virtual dibagi menjadi
blok-blok yang ukurannya tetap yang dinamakan page (ukurannya adalah pangkat 2, diantara 512 bytes dan 8192
bytes, tergantung arsitektur).
• Memori fisik dibagi juga menjadi
blok-blok yang ukurannya tetap yang dinamakan frame.
Pages
• 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.
Frames
• 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
Ø Jika
kita membuat ukuran dari masing-masing pages menjadi besar:
ü Keuntungannya
akses memori akan relatif lebih cepat.
ü Kerugiannya
kemungkinan terjadinya fragmentasi internal yang sangat besar.
Ø Jika
kita membuat ukuran dari masing-masing pages menjadi kecil:
ü Kerugiannya
akses memori akan relatif lebih lambat.
ü Keuntungannya
kemungkinan terjadinya fragmentasi internal akan menjadi lebih kecil.
Struktur Paging
Perangkat Keras Paging
• Dikenal
dengan Unit Manajemen Memori (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.
• Alamat
yang didapat setelah melalui MMU disebut alamat fisik.
Page Table
• Sebuah
rangkaian array dari masukan-masukan (entries) yang mempunyai indeks berupa
nomor page (p).
• Setiap
masukan terdiri dari flags (contohnya bit valid) dan nomor frame.
• Alamat
fisik dibentuk dengan menggabungkan nomor frame dengan offset.
• Skema
Page Table Dua Tingkat
• Page
table secara Multilevel
- Inverted Page Table
- Satu masukan untuk
setiap page dari memori.
- Masukan terdiri dari
page di alamat logis yang disimpan di lokasi memori nyata, dengan
informasi tentang proses yang dimiliki oleh page tersebut.
- Mengurangi memori yang
dibutuhkan untuk menyimpan setiap tabel page, tetapi mengurangi waktu
yang dibutuhkan untuk mencari tabel saat page mengalami kerusakan.
- Menggunakan hash table
untuk membatasi mencari satu atau beberapa masukan tabel page.
§
Shared Page Table
o
Berbagi Kode
§
Dibutuhkan suatu kode read-only yang dibagi
antara proses.
§
Kode yang dibagi harus berada di lokasi yang
sama di alamat logis
o
Kode dan Data Privat
§
Setiap proses menyimpan kode dan datanya.
§
page untuk kode dan data tertutup bisa berada
dimana saja dalam ruang di alamat logis.
Segmentasi
Konsep Segmentasi
• Salah
satu cara untuk mengatur memori dengan menggunakan segmen.
• Program dibagi menjadi beberapa
segmen.
• Segmen
→ kumpulan logical unit.
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
Masalah Segmentasi
• Segmen
dapat membesar.
• Muncul
fragmentasi luar, bila ada proses yang besar.
Perbedaan Segmentasi &
Paging
• Kelebihan
paging:
• Tidak
ada fragmentasi luar.
• Alokasi-nya
cepat.
• Kelebihan
segmentasi:
• Saling
berbagi.
• Proteksi.
Virtual Memory
Definisi Virtual Memory
• Memori
virtual merupakan suatu teknik yang memisahkan antara memori logis dan memori fisiknya.
• Menyembunyikan
aspek-aspek fisik memori dari user.
• Memori
adalah lokasi alamat virtual berupa byte yang tidak terbatas.
• Hanya
beberapa bagian dari memori virtual yang berada di memori logis.
Prinsip Virtual Memory
Konsep memori
virtual yang dikemukakan Fotheringham
pada tahun 1961 pada sistem komputer
Atlas di Universitas Manchester, Inggris:
“ Kecepatan
maksimum eksekusi proses di memori virtual dapat sama, tetapi tidak pernah
melampaui kecepatan eksekusi proses
yang sama di sistem tanpa menggunakan memori virtual.”
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
• Implementasi
dari virtual memori:
• Multiprograming
• Memori
virtual dapat dilakukan dengan cara:
• Demand
paging
• Demand
segmentation