SISTEM PAGING
SISTEM
PAGING
A. MEMORY
MAYA
Program
yang dijalankan harus dimuat di memori utama. Masalah yang muncul ketika
program lebih besar dibanding memori utama yang tersedia.
a. Terdapat
2 solusi untuk masalah diatas, yaitu :
-
Overlay
-
Memori maya(virtual memory)
a. .Konsep
Overlay
Program
dipecah menjadi bagian-bagian yang dapat dimuat memori. Pertukaran overlay dilakukan oleh Sistem Operasi.
Pembagian menjadi overlay-overlay
dilakukan oleh programmer.
b. Konsep
Memori Maya
Memori
maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang
tersedia. Konsep ini pertama kali ditemukan oleh Fotherrigham(1961) Inggris.
Gagasan
memory maya adalah ukuran gabungan data dan stack melampaui jumlah memori fisik
yang tersedia.
b. Tiga
cara melakukan memori maya :
1. Paging
: mengimplementasikan ruang alamat besar pada memori kecil menggunakan index
register, base register, segment register.
2. Segmentasi
3. Kombinasi
paging dan segmentasi.
c. Beberapa
istilah dalam sistem paging :
1. Alamat
maya : alamat yang dihasilkan dengan perhitungan menggunakan index register,
base register, segment register.
2. Alamat
nyata : alamat yang tersedia di memori utama fisik.
3. Page
: unit terkecil virtual address space.
4. Page
frame : unit terkecil memori fisik.
5. Page
fault : exeption untuk permintaan alokasi ‘page’ ke memori.
6. Memori
managemen unit : chip atau kumpulan chip yang memetakan alamat maya ke alamat
fisik.
d. Fungsi
MMU :
1. Pemetaan
memori maya ke memori fisik.
2. Jika
alamat memori yang diminta tidak tersedia, MMU menerbitkan exeption page fault.
e. Komponen
terpenting MMU :
1.
Register alamat maya : menyimpan alamat
maya yang di acu.
2. Tabel
page : tiap elemen tabel sedikitnya berisi informasi present dan nomor page
frame.
3. Register
alamat fisik : menyimpan alamat fisik yang disinyalkan ke bus.
f. Ketika
terjadi nomor page tidak dimemori fisik, MMU akan menerbitkan page fault.
Rangkaian aksi yang dilakukan adalah :
1.
MMU memperingatkan page tidak dipetakan
ke memori fisik.
2.
Membebaskan bagian page frame memori
fisik yang kurang.
3.
Memasukkan page yang di acu ke bagian
page frame yang dibebaskan.
4.
Mengkonsolidasi pemetaan antara memori
maya dan memori fisik.
g. Masalah
utama yang timbul karena penggunaan tabel page :
- Tabel
page dapat berukuran luar biasa besar.
- Pemetaan
harus dilakukan secara cepat.
h. Penggantian
page
adalah
saat terjadi page fault berarti harus diputuskan page frame di memori fisik
yang harus diganti.
i. Masalah
utama pada sistem paging
1.
Working set model
2.
Kebijaksanaan penggatian lokal vs global
3.
Frekuensi page fault
4.
Ukuran page
j. Masalah
implementasi sistem paging
1.
Backup instruksi yang terakhir
dijalankan sebelum terjadi page fault
2.
Buffer perangkat masukan / keluaran
3.
Page yang dipakai bersama
4.
Backing store
5.
Paging daemon
6.
Penanganan page fault
k. Penanganan
page fault
1. Perangkat
keras melakukan trap ke kernel, menyimpan program counter di stack.
2. Satu
rutin assembly di mulai untuk menyimpan register-register umum dan
informasi-informasi lain yang dapat hilang.
3. Sistem
operasi mengetahui telah terjadi page fault dan coba melakukan virtual page
yang diperlukan.
4. Begitu
alamat maya yang menyebabkan page fault diketahui, sistem operasi memeriksa
apakah alamat valid dan konsisten terhadap proteksi.
5. Jika
page frame telah dimodifikasi, page dijadwalkan untuk transfer ke disk dan
terjadi context switch, menunda proses fault dan membiarkan/menyilahkan proses
lain berjalan sampai transfer disk selesai.
6. Begitu
page frame bersih, sistem operasi melihat alamat disk dimana page diperlukan
dan dijadwalkan operasi disk untuk membawanya sebagai frame yang disediakan.
7. Ketika
interupsi disk mengindikasi page telah tiba, tabel-tabel page diperbarui untuk
merefleksi posisinya dan frame ditandai sebagai dalam keadaan normal.
8. Instruksi
fault di-backup ke keadaan ketika dimulai dan program counter direset untuk
menunjuk ke instruksi itu.
9. Proses
fault dijadwalkan dan sistem operasi mengembalikan ke rutin bahasa assembly
yang memanggilnya.
10. Rutin
ini menyimpan kembali register-register dan informasi yang dapat hilang
lainnya, serta mengembalikan ke ruang pemakai untuk
l. Segmentasi
dan kombinasi paging segmentasi
- Segmentasi
memungkinkan pemrogram memandang memori sebagai berisi banyak ruang alamat atau
segmen.
- Segmen
dapat berisi :
1. Prosedur
2. Array
3. Stack
4. Kumpulan
variabel skalar
- Keunggulan
teknik segmentasi :
1. Menyederhanakan
penanganan struktur data yang berkembang
2. Kompilasi
ulang independen tanpa mentautkan kembali seluruh program
3. Memudahkan
pemakaian memori bersama di antara proses-proses
4. Memudahkan
untuk proteksi
Read more!