SISTEM PAGING DEFINISI SISTEM PAGING Sistem Paging Adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang dijalankan harus dimuat di emeori utama. Masalah muncul ketika program lebih besar dibanding di memori utama yang tersedia. Terdapat dua solusi masalah ini,yaitu : Overlay Overlay adalah program dipecah menjadi bagian-bagian yang dapat dimuat di memori. Overlay yang belum diperlukan (tidak sedang dieksekusi) disimpan di disk, overlay ini dimuatkan ke memori begitu diperlukan (kode overlay akan dieksekusi). Memori Maya (Virtual Memory) Memori maya adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Memori maya dapat dilakukan pada sistem multiprogramming. HAL-HAL YANG BERKAITAN DENGAN SISTEM PAGING Istilah-istilah pada Sistem Paging : Alamat Maya (Virtula Address) Adalah alamat yang dihasilkan perhitungan menggunakan index register, base register,segment regoster dan sebagainya. Alamat nyata (real Address) Alamat maya adalah alamat utama di memori fisik. Page Page adalah unnit terkecil virtula address space. Page frame Page frame adalah unit terkecil memori fiisk. Memori fisik secara konseptual dibagi menjadi sejumlah unit berukuran tetap disebut page frame. Page frame sering juga disingkat frame. Page fault Page fault adalah exception untuk permintaan alokasi page ke memori. Dalam konteks memori maya, page fault sering juga disingkat fault. MMU (Memory Management Unit) MMU berfungsi : Pemetaan memori maya ke memori fisik Bila alamat memori yang diminta tidak tersedia di memori fisik, MMU menerbitkan exception adanya page fault yang melewatkan ke sistem operasi untuk menanganinya. Untuk menginplementasikan addres maya yang besar ke dalam memori yang kecil diperlukan index register, base register, segment register dan MMU ( Memory Menegement Unit ). MASALAH YANG TERJADI PADA PAGING a. Masalah Utama Sistem Paging 1) Working Set Model Prinsip Lokalitas Prinsip Lokalitas adalah proses-proses cenderung mengacu penyimpan secara tak seragam, mempunyai pola-pola sangat setempat. Working set of Program Behavior Himpunan kerja secara informal didefinisikan sebagai kumpulan page proses yang secara aktif diacu. Denning menyatakan bahwa agar suatu program berjalan secara efisien, himpunan kerja harus dijaga berada di memori utama. Selain itu akan terjadi aktivitas page fault yang berlebihan. Peristiwa page fault yang sangat berlebihan disebut trashing, yaitu setelah hanay beberapa intruksi terjadi page fault Prinsip yang digunakan oleh Working Set Model ini adalah dengan melacak dan menjamin himpunan kerja terdapat di memori sebelum proses dijalankan. Cara ini mengurangi terjadinya page fault. 2) Kebijaksanaan penggantian lokal vs global Teradapat dua pendekatan untuk mengganti page, yaitu : Penggantian lokal adalah page yang dipilih untuk diganti hanya pada partisi dimana proses diletakkan. Penggantian global adalah page yang dipilih untuk diganti adalah tempat kosong dengan tidak memperdulikan partisi proses. 3) Frekuensi page fault Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (Pafe Fault Frequency Algorithm). 4) Ukuran page Ukuran page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar sistem berperilaku opimal. Penentuan ukuran page memerlukan penilaian dan pemahaman mendalam perangkat keras, perangkat lunak dan aplikasi sistem. b. Masalah Implementasi Sistem Paging a) Back-up Intruksi Bila trejadi page fault berarti sebgaian intruksi telah dijalankan. Pengkopina program counter dan informasi register-register pemroses harus dilakukan. Setelah pergantian page selesai maka intruksi yang menyebabkan page fault dapat dijalankan kembali dengan konteksnya. Masalah yang harus diatasi adalah untuk mengulangi intruksi, sistem harus menetukan byte pertama intruksi. b) Buffer Pernagkat Maaukan / Keluaran (Penguncian Page) Pergantian page akan menimbulkan masalah mengacaukan proses yang melakukan operasi masukan / keluaran jika : Buffer perangkat masukan / keluaran ikut tergusur Adanya buffer satu perangkat masukan / keluaran menjaid rangkap. c) Pemakaian Page Bersama Apabila beberapa pemakai menggunakan program yang sama maka terjadi perngakapan page (page yang sam aterdapat di banyak bagian di memori). Lebih efisien menggunakan page secara bersama, menghindari keharusan mempunyai copyan-copyan page yang sama di saat yang sama. d) Backing Store Masalah lain adalah menyangkut dimana diletakkan page yang keluar dari memori utama. Terdapat dua algoritma untuk mengatasi hal ini, yaitu : Menggunakan ruang ganti khusus Dialokasikan berdasarkan kebutuhan e) Paging Daemon Paging bekerja bagus saat terdapat banyak page frame bebas yang dapat diklaim begitu page fault terjadi. Jika setiap page frame penuh dan telah dimodifikasi, sebelum page baru dimasukkan, pag eharus ditulis terlebih dahulu ke disk. Untuk menjamin pasokan (supply) page frame yang banyak, sistem paging biasanya mempunyai proses background, disebut Paging Daemon. f) Penanganan Page Fault (Page Fault Handling) Implementasi sistem paging harus mengatasi rincian aksi yang harus dilakukan saat terjadi page fault PENGGANTIAN PAGE Saat terjaid 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 datang. Jika page yang diganti akan kembali digunakan, maka page akan dikembalikan secepatnya yang berarti terjadi page fault berulang kali. Banyaknya page fault menghasilkan banayk overhead. Algoritma penggantian page antara lain : 1) Algoritma penggantian page acak 2) Algoritma penggantian page optimal 3) Algoritma penggantian page NRU 4) Algoritma penggantian page FIFO 5) Algoritma penggantian page modifikasi dari algoritma FIFO 6) Algoritma penggantian page LRU