2. Pendahuluan
Program yang dijalankan harus dimuat di
memori utama.
Masalah muncul ketika program yang
dijalankan lebih besar dibanding memori
utama yang tersedia
Terdapat dua solusi untuk masalah ini :
◦ Overlay
◦ Memori maya
3. Konsep Overlay
Program dipecah menjadi bagian-bagian yang
dapat dimuat di memori disebut overlay.
Overlay yang belum diperlukan (tidak sedang
dieksekusi) disimpan di disk.
Overlay dimuatkan ke memori begitu
diperlukan dengan cara pertukaran antara
memori utama dan memori sekunder (disk)
oleh sistem operasi.
4. Sistem Operasi
Bagian kode
dan data pemakai
yang harus selalu
ada di memori
utama selama
eksekusi program
Daerah Overlay
Fase inisialisasi
Fase
pemrosesan Fase keluaran
Teknik overlay ini telah
ditinggalkan karena teknik
memori maya telah dapat
diimplementasikan dengan
murah dan berkinerja bagus
5. Konsep Memori Maya
Memori maya adalah kemampuan
mengalamati ruang memori melebihi
memori utama yang tersedia.
Konsep ini dikemukakan pertama kali
oleh Fotheringham pada 1961.
Gagasan memori maya adalah ukuran
gabungan program, data, dan stack
melampaui jumlah memori fisik yang
tersedia.
6.
7. Contoh penggunaan :
◦ Program 10 Megabyte dapat berjalan di mesin
2 Megabyte, yaitu memilih bagian proses
sebesar 2 Megabyte secara hati-hati dan
ditaruh di memori.
◦ Bagian proses di swap antara disk dan memori
saat diperlukan secara otomatis oleh sistem
operasi.
8. Memori maya meningkatkan efisiensi sistem
multiprogramming.
Kecepatan eksekusi dengan teknik memori maya
melambat dipengaruhi waktu tunda pengambilan
bagian-bagian proses di memori sekunder saat
proses berjalan.
Memori maya dapat dilakukan dengan tiga cara :
◦ Sistem paging
◦ Segmentasi
◦ Kombinasi paging dan segmentasi
9. Deskripsi Sistem Paging
Sistem paging mengimplementasikan
ruang alamat besar pada memori kecil
menggunakan index register, base
register, dan segment register.
Dengan sistem paging pemakai seolah
memiliki ruang memori yang sangat besar
tanpa mengelola overlay.
10. Beberapa istilah dalam sistem paging :
◦ Alamat maya (virtual address)
◦ Alamat nyata (real address)
◦ Page
◦ Page frame
◦ Page fault
◦ MMU
11. Alamat Maya
◦ Merupakan alamat yang dihasilkan dari
perhitungan menggunakan index register, base
register, segment register, dsb.
◦ Ruang alamat yang dibentuk alamat maya
disebut ruang alamat maya (virtual address
space).
12. Alamat nyata
◦ Merupakan alamat di memori utama fisik.
◦ Ruang alamat yang dibentuk alamat nyata
disebut ruang alamat nyata (real address
space).
Page
◦ Adalah unit terkecil virtual address space.
◦ Ruang alamat maya proses merupakan
kelipatan page yang berukuran sama.
13. Page frame
◦ Adalah unit terkecil memori fisik
◦ Memori fisik secara konseptual dibagi
menjadi sejumlah unit berukuran tetap disebut
page frame.
◦ Page frame sering juga disingkat frame.
Page Fault
◦ Sering disingkat fault
◦ Adalah exception untuk permintaan alokasi
‘page’ ke memori dalam konteks memori
maya.
15. Meski pengacuan proses dilakukan berdasarkan
alamat maya, proses yang sesungguhnya
berjalan di memori nyata.
Alamat maya harus dipetakan menjadi alamat
nyata saat proses dieksekusi
Pemetaan harus di lakukan dengan cepat atau
kinerja komputer akan menurun drastis.
Sistem komputer akan menterjemahkan alamat
maya menjadi alamat fisik, bagian yang bertugas
untuk memetakan adalam MMU.
16. Memory Management Unit (MMU)
Merupakan kumpulan chip yang
memetakan alamat maya ke alamat fisik.
pada komputer tanpa memori maya,
alamat langsung diletakkan ke bus dan
menyebabkan word memori fisik diaca
atau ditulis.
Pada komputer dengan memori maya,
alamat tidak diletakkan ke bus secara
langsung tapi lewat MMU yang
selanjutnya memetakan alamat maya ke
alamat memori fisik.
17. Pada pemroses modern, MMU sudah menyatu
di pemroses.
MEMORI
PENGENDALI
DISK
PEMROSES
MMU
BUS
Pemroses
mengirimkan
alamat maya ke
MMU
MMU mengirim
alamat fisik ke
memori
18. Memori fisik berisi sejumlah page frame yang
memuat sebagian page proses.
Terdapat mekanisme translasi alamat untuk
memetakan page ke alamat fisik.
Karena masing2 page dipetakan terpisah, frame-
frame proses tidak perlu menempati memori
fisik berurutan.
Sistem memori maya memiliki properti alamat
kontigu pada ruang alamat maya namun tidak
harus kontigu di memori nyata.
19. Properti ini disebut kontigu semu (artificial
contiguity). Memori Maya
Memori Nyata
20. Fungsi MMU
MMU memiliki fungsi sebagai berikut :
◦ Pemetaan memori maya ke memori fisik
◦ Bila alamat memori diminta tidak tersedia di
memori fisik, MMU menerbitkan exception
adanya page-fault.
21. Skema Pemetaan
Pada komputer dengan memori maya,
alamat tidak diletakkan ke bus secara
langsung namun dilewatkan ke MMU
yang memetakan alaat maya ke alamat
memori fisik.
Umumnya alamat maya lebih besar dari
alamat fisik
23. Komponen MMU
Register Alamat Maya
◦ Menyimpan alamat maya yang diacu
◦ Nilai di register alamat maya dibagi menjadi 2
:
Bit beroder tinggi yang menyatakan nomor page
maya
Bit-bit sisa yang merupakan offset alamat maya
Tabel page
◦ Berisi informasi mengenai
Present bit
Nomor page frame
24. Register alamat fisik
◦ Menyimpan alamat fisik yang disinyalkan ke
bus
◦ Nilai di register alamat fisik dibagi menjadi 2 :
Bit nomor page frame
Bit sisa / offset alamat frame.
25. Untuk mendapatkan alamat fisik dapat
digunakan rumus sbb :
◦ Nomor Page = Alamat Logika div Ukuran
Page
◦ Offset = Alamat Logika mod Ukuran Page
◦ Alamat Fisik = nomor frame * ukuran frame +
offset
27. Tabel-tabel page
Pemakain tabel page pada sistem paging
menimbulkan dua masalah utama :
◦ Tabel page dapat berukuran sangat besar
Tergantung jumlah bit register alamat dan ukuran
page.
◦ Pemetaan harus dilakukan secara cepat.
Pemetaan dilakukan setiap terjadi pengacuan
memori
29. Penggantian page
Saat terjadi page fault berarti harus
diputuskan page frame di memori fisik
yang harus diganti.
Kinerja sistem akan baik jika page yang
diganti dipilih yang tidak akan digunakan
di masa mendatang.
Jika page yang diganti akan digunakan
kembali, maka page akan dikembalikan
secepatnya, alhasil akan terjadi page fault
berulang-ulang
31. Algoritma Penggantian Page
Acak
Tidak menggunakan informasi apapun dalam
menentukan page yang diganti
Semua page di memori utama memiliki bobot
sama untuk dipilih.
Teknik ini dapat memilih sembarang page
termasuk page yang sedang diacu.
Teknik ini sangat buruk.
32. 2 0 4 2 5 4 3 2 3 5 0 5 1 2 1
2 2 2 2 2 4 3 3 3 3 3 3 1 1 1
0 0 0 0 0 0 2 2 2 2 5 5 2 2
4 4 5 5 5 5 5 5 0 0 0 0 0
F F F F F F F F F F F
Reference
String
Fault
33. Algoritma Penggantian Page
Optimal
Mekanisme algoritma
◦ Dasar algoritma ini adalah memilih page yang
berpeluang dipakai kembali di masa datang
yang paling kecil.
◦ Strategi ini akan menghasilkan page fault
paling sedikit
◦ Algoritma ini adalah algoritma utopia (ideal
tanpa dapat dijadikan kenyataan) karena tak
mungkin dibuat prosedur yang dapat
mengetahui peluang pemakain kembali page
di masa mendatang.
34. 2 0 4 2 5 4 3 2 3 5 0 5 1 2 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
0 0 0 5 5 5 5 5 5 5 5 5 5 5
4 4 4 4 3 3 3 3 0 0 1 1 1
F F F F F F F
Reference
String
Fault
35. Algoritma Penggantian Page
FIFO
Mekanisme algoritma
◦ Algoritma ini memerlukan pengelolaan senarai di
memori
◦ Elemen terdepan senarai adalah page tertua dan
ujung belakang adalah page paling akhir datang
◦ Bila terjadi page fault. Page elemen terdepan
(tertua) diganti dan page baru ditambahkan di ujung
belakang senarai.
36. 2 0 4 2 5 4 3 2 3 5 0 5 1 2 1
2 2 2 2 5 5 5 5 5 5 0 0 0 2 2
0 0 0 0 0 3 3 3 3 3 5 5 5 5
4 4 4 4 4 2 2 2 2 2 1 1 1
F F F F F F F F F F
Reference
String
Fault
37. Algoritma Penggantian Page LRU
Berdasarkan observasi, page-page pada
instruksi terakhir berkemungkinan besar
akan dipakai kembali.
Page-page yang lama tidak digunakan
akan tetap tidak digunakan dalam waktu
lama
Maka algoritma LRU adalah ketika terjadi
page fault maka akan memindahkan page
yang tidak digunakan paling lama.
38. 2 0 4 2 5 4 3 2 3 5 0 5 1 2 1
2 2 2 2 2 2 3 3 3 3 3 3 1 1 1
0 0 0 5 5 5 2 2 2 0 0 0 2 2
4 4 4 4 4 4 4 5 5 5 5 5 5
F F F F F F F F F F
Reference
String
Fault