Kamis, 06 Oktober 2011

SISTEM PAGING

- Memori Maya

Program yang dijalankan harus dimuat dimemori utama. Masalah muncul ketika program lebih besar dibanding memori yang tersedia.

Terdapat dua solusi masalah ini,yaitu ;
1. Overlay
2. Memory Maya ( virtual memory )

- Deskripsi Sistem Paging

Sistem Paging mengimplementasikan ruang alamat besarpada memori kecil menggunakan index register,base register,dan segment register.

Beberapa istilah pada sistem paging ;
1. Alamat Maya ( virtual address )
2. Alamat Nyata ( real address )
3. Page
4. Page Frame
5. Page Fault
6. Memory Management Unit ( MMU )

- Tabel-tabel Paging

Pemakaian tabel page pada sistem paging menimbulkan dua masalah utama,yaitu ;
1. Tabel page dapat berukuran luar biasa besar.
2. Pemetaan harusa dilakukan secara cepat.

- Memori Asosiatif

Dari observasi disimpulkan kebanyakan program cenderung malakukan banyak pengacuan ke sejumlah kecil page. Sebenarnya hanya sejumlah kecil elemen tabel page yang sering dibaca.
Berdasarkan fakta ini,sistem komputer dengan memori maya dapat memanfaatkan sifat ini untuk mempercepat proses pengacuan tanpa melibatkan tabel page. Sistem komputer dilengkapi perangkat pemetaan alamat maya ke alamat fisik tanpa lewat tabel page.

- Mekanisme kerja memori asosiatif

Jika alamat maya dikirim ke MMU untuk penerjemahan, perangkat keras memeriksa apakah nomor page maya terdapat di memori asosiatif dengan membandingkan semua isian memori asosiatif secara simultan ( yaitu bersamaan atau paralel )

- Penggantian Page

Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus diganti. Jika page yang diganti akan kembali digunakan,maka page akan dikembalikan secepatnya yang berarti terjadi page fault berulang kali.

Algoritma penggantian page antara lain ;
1. Algoritma penggantian page acak (random page replacement algorithm )
2. Algoritma penggantian page optimal
3. Algoritma penggantian page NRU ( not recently used )
4. Algoritma penggantian page FIFO ( first in,first out )
5. Algoritma penggantian page modifikasi dari algoritma FIFO
6. Algoritma penggantian page LRU ( least recently used )

- Pemodelan Algoritma Paging

- Anomali pada FIFO ( Belady’s Anomaly )
Tampaknya beralasan bila dinyatakan bahwa bila lebih banyak page yang dialokasikan untuk proses,maka page fault yang terjadi akan lebih sedikit. Belady’s justru menemukan algoritma FIFO,bahwa pada pola-pola pengacuan tertentu menyebabkan lebih banyak page fault bila alokasi page untuk proses ditambah.

- Mesin Abstrak Eksekusi Program
Setiap proses dimemori maya menghasilkan barisan pengacuan memori saat berjalan. Pengacuan memori berkorespodensi dengan satu page. Secara konseptual,pengaksesan memori dicirikan senarai (berurutan) nomor page.
Pemodelan komputer dengan satu proses, yaitu mesin mempunyai satu string pengacuan deterministik tunggal.

Mesin Abstrak
Terdapat mesin abstrak interpreter dengan properti berikut;
1. Terdapat array internal,M,menyimpan status memori. Array mempunyai n elemen seperti proses mempunyai n page memori maya.
2. Array M terbagi menjadi 2,yaitu ;
• Bagian atas/puncak,yaitu m isian,page dimemori utama.
• Bagian bawah/dasar berisi n-m isian,yaitu semua page yang pernah diacu sekali tapi telah dipindahkan dan tidak dimemori utama.
3. Mulanya array M berupa himpunan kosong karena belum ada page yang telah diacu dan tak ada page didalam memori.

- Masalah-masalah utama dalam sistem paging

1. Working set model.
2. Kebijaksanaan penggantian lokal vs global.
3. Frekuensi page fault.
4. Ukuran page.

- Working set model
Prinsip lokalitas
Prinsip lokalitas adalah proses-proses cenderung mengacu menyimpan secara tak seragam,mempunyai pola-pola sangat setempat.
Terdapat dua jenis lokalitas,yaitu ;
* Lokalitas berdasar waktu ( temporal locality )
* Lokalitas menurut ruang ( spatial locality )


- Working set model of program behavior
Himpunan kerja secara informal didefinisikan sebagai kumpulan page proses yang secara aktif diacu. Danning menyatakan bahwea agar suatu program berjalan secara efisien,himpunan kerja harus dijaga berada dimemori utama. Selain itu akan terjadi aktifitas page fault yang berlebihan.

- Prinsip-prinsip working set model
Prinsip yang digunakan adalah melacak dan menjamin himpunan kerja yang tedapat di memori sebelum proses dijalankan.

- Kebijaksanaan penggantian lokal vs global
Terdapat dua cara pendekatan untuk mengganti page,yaitu;
* Penggantian page 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 mempedulikan partisi proses. Dengan penggantian global,page fault satu proses dapat dilayani dengan memindahkan page yang dimiliki proses lain.

- Frekunsi page fault
Untuk satu kelas besar algoritma penggantian page diketahui frekuensi page fault menurun begitu page memori fisik lebih banyak. Bila proses melampaui ambang atas frekunsi page fault maka dialokasikan page memori fisik untuk proses itu lebih banyak.

- Ukuran page
Ukuran page ditentukan perancang sistem operasi. Ukuran page harus ditentukan agar sistem berkelakuan optimal. Penentuan ukuran page memerlukan penilaian pemahaman mendalam perangkat keras,perngkat lunak,dan aplikasi sistem.

- Masalah-masalah implementasi sistem paging

Perancang sistem paging berurusan beragam implementasi sistem paging,antara lain;
• Backup instruksi yang terakhir dijalankan sebelum terjadi page fault.
• Buffer perangkat masukan/keluaran (penguncian page di memori).
• Page yang dipakai bersama.
• Backing store.
• Paging daemons.
• Penanganan page fault (page fault handling)

- Backup instruksi
Bila terjadi page fault berarti sebagian instruksi telah dijalankan. Pengkopian program counter dan informasi register-register pemroses harus dilakukan. Setelah penggantian page selesai maka instruksi yang menyebabkan page fault dapat dijalankan kembali dengan konteksnya.
Masalah yang harus diatasi adalah untuk mengulangi instruksi,sistem harus menentukan byte pertama instruksi.

- Buffer I/O (penguncian page di memori)
Penggantian page akan menimbulkan masalah mengacaukan proses yang melakukan operasi masukan/keluaran jika:

• Buffer perangkat masukan/keluaran ikut tergusur.
• Adanya Buffer satu perangkat masukan/keluaran menjadi rangkap.

- Pemakaian page bersama
Bila beberapa pemakai menggunakan program yang sama maka terjadi perangkapan page (page yang sama terdapat dibanyak dibagian memori). Lebih efisien bila menggunakan page secara bersama,menghindari keharusan mompunyai copyan-copyan page yang sama disaat yang sama.

- Backing store
Masalah lain adalah menyangkut dimana diletakkan page yang keluar dari memosi utama. Terdapat beragam algoritma untuk mengatasi hal ini yaitu:
• Menggunakan ruang penggantian khusus.
• Dialokasikan berdasarkan kebutuhan.

- Paging daemons
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 dimasukan,page lama harus ditulis lebih dulu ke disk.
Untuk menjamin suplai page frame yang banyak,sistem paging biasanya mempunyai proses background yang disebut page daemons.

- Penangan page fault (page fault handling)
Implementasi sistem paging harus mengatasi rincian-rincian aksi yang harus dilakukan saat terjadi page fault.

Tidak ada komentar:

Posting Komentar