Sistem Paging Edi Sugiarto, S.Kom
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
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.
Sistem Operasi Bagian kode dan data pemakai yang harus selalu ada di memori utama selama eksekusi program Daerah Overlay Teknik overlay ini telah ditinggalkan karena teknik memori maya telah dapat diimplementasikan dengan murah dan berkinerja bagus Fase pemrosesan Fase inisialisasi Fase keluaran
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.
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.
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
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.
Beberapa istilah dalam sistem paging : Alamat maya (virtual address) Alamat nyata (real address) Page Page frame Page fault MMU
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).
Alamat nyata Page 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.
Page frame Page Fault 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.
Pemetaan Page menjadi Page Frame Memori Maya Memori Nyata
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.
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.
Pada pemroses modern, MMU sudah menyatu di pemroses. Pemroses mengirimkan alamat maya ke MMU MEMORI PENGENDALI DISK PEMROSES MMU BUS MMU mengirim alamat fisik ke memori
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.
Properti ini disebut kontigu semu (artificial contiguity). Memori Maya Memori Nyata
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.
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
Komponen Internal MMU Register Alamat Memori Maya Nomor Page Offset Tabel Page Nomor Page Frame Offset Register Alamat Memori Nyata
Komponen MMU Register Alamat Maya Tabel page 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
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.
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
Contoh Translasi Alamat logika : 1502 Nomor Page : 1 Offset : 478 0 0 0 0 0 1 0 1 1 1 0 1 1 1 1 0 P0 00101 1 P1 00110 1 P2 00011 Nomor Frame : 6 Offset : 478 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 Alamat Fisik : 6622
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
Algoritma Penggantian Page
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
Algoritma Penggantian Page Algoritma untuk penggantian page antaralain : Algoritma penggantian page acak Algoritma penggantian page optimal Algoritma penggantian page NRU (Not- Recently Used) Algoritma penggantian page FIFO (First In First Out) Algoritma penggantian page LRU (Least- Recently Used)
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.
Reference String 2 4 5 3 1 F Fault
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.
Reference String 2 4 5 3 1 F Fault
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.
Reference String 2 4 5 3 1 F Fault
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.
Reference String 2 4 5 3 1 F Fault