Sunday, 8 July 2012

Desain Issues pada Sistem Paging

Desain Issues pada Sistem Paging. Yup! Materi selanjutnya yaitu membahas perihal permasalahan - permasalahan desain / design pada sistem paging. Sebelum kita beranjak ke topik utama kita. Sebaiknya kita mengenal terlebih dahulu istilah yang akan sering dipakai pada bahan pokok. Yang pertama, kita harus mengenal dulu apa itu LOKALITAS?

Terdapat 2 jenis jenis lokalitas:
  1. Lokalitas berdasarkan waktu (temporal locality), proses cenderung terkonsentrasi acuannya ke satu intercal waktu eksekusi yang dekat. Observasi berikut mendukung prinsip, antara lain : Looping, Subrutin, stack dan variable-variabel yang digunakan untuk iterasi dan penjumlahan total.
  2. Lokalitas berdasarkan ruang (spatial locality), proses cenderung terkonsentrasi acuannya ke satu kelompok data yang berdekatan. Observasi berikut mendukung prinsip ini, antara lain: traversal pada array, eksekusi kode yang sekuen, kecenderungan pemrogram menempatan variable yang terkait saling berdekatan.
Prinsip lokalitas diperoleh dari observasi bukan dari kajian teoritis. Menunjukkan kecenderungan prilaku lingkungan system bukan sempurna eksak.

Konsekuensi prinsip lokalitas yakni agenda dapat berjalan secara efisien dikala satu subset page berkecenderungan tinggi saling mengacu terdapat di memory.

Selanjutnya, duduk perkara utama dalam sistem paging adalah:
  1. Working Set Model
  2. Local versus Global Allocation
  3. Page Faults Frequency
  4. Page Size
  5. Implementation Issues
Mari kita ulas satu per-satu permasalahan desain pada sistem paging di atas.

1. Working Set Model

Working set model merupakan model lokalitas dari eksekusi proses. Model ini menggunakan parameter (delta) untuk definisi working set window. Kumpulan dari halaman dengan halaman yang dituju yang paling sering muncul disebut working set.

Berdasarkan hal ini terdapat dua teknik untuk memuatkan page, yaitu:
  1. Prepaging, teknik memuatkan page-page lebih dulu sebelum proses berjalan.
  2. Demand paging, teknik yang segera memuatkan page begitu page dibutuhkan.
Keakuratan Working set tergantung pada pemilihan :
  • Jika terlalu kecil tidak akan mewakilkan seluruh lokalitas.
  • Jika terlalu besar menyebabkan overlap.
  • Jika tidak terbatas working set yakni kumpulan halaman sepanjang eksekusi program.
  • Jika total ajakan > total bingkai, maka akan terjadi thrashing. Jika ini terjadi maka proses yang sedang berjalan akan diblok.
    * Thrashing: peristiwa page fault yang sangat berlebihan.
Salah satu cara menghindari thrashing yakni dengan menyediakan sebanyak mungkin bingkai sesuai dengan kebutuhan proses. Untuk mengetahui berapa bingkai yang diharapkan yakni dengan taktik working set. Strategi ini dimulai dengan melihat berapa banyak bingkai yang digunakan oleh suatu proses. Working set model mengatakan bahwa sistem hanya akan berjalan secara efisien jikalau proses diberikan bingkai yang cukup, jikalau bingkai tidak cukup untuk menampung semua proses maka suatu proses akan ditunda, dan menunjukkan halamannya untuk proses yang lain.

2. Local versus Global Allocation

Terdapat dua pendekatan untuk mengganti page, yaitu:
  1. Penggantian local yakni page yang dipilih untuk diganti hanya pada partisi dimana proses diletakkan.
  2. Penggantian global yakni page yang dipilih untuk diganti yakni daerah kosong dengan tidak mempedulikan partisi proses. Dengan penggantian global, page fault suatu proses dapat dilayani dengan memindahkan page yang dimiliki proses lain.
3. Page Faults Frequency

Frekuensi terjadinya page fault dapat dikendalikan dengan algoritma PFF (page fault frequency algorithm). Dengan PFF harus didefinisikan ambang batas dan ambang bawah frekuensi page fault. Bila proses melampaui ambang batas frekuensi page fault maka dialokasikan lebih banyak page memory fisik untuk prose situ. Apabila proses telah mancapai amabang bawah frekuensi page fault maka alokasi page dihentikan.

4. Page Size

Ukuran page ditentukan oleh perancang system operasi.. ukuran page harus ditentukan biar system berperilaku optimal.  Beberapa pertimbangan, antara lain:
  • Ukuran page lebih kecil berarti jumlah page dan page frame lebih banyak sehingga memerlukan table page lebih besar.
  • Ukuran page besar, berarti sejumlah gosip yang tidak diacu juga dimasukkan ke memory utama sehingga terjadi fragmentasi internal yang tinggi.
  • Transfer masukan / keluaran relative sangat mengkonsumsi waktu sehingga perlu meminimumkan  Transfer masukan / keluaran dikala agenda berjalan.
  • Program cenderung mengikuti prinsip lokalitas yang cenderung berukuran kecil.
5. Implamentation Issues

Perancang sistem paging berurusan pada beragam implementasi sistem paging, antara lain;
  1. Backup kode yang terakhir dijalankan sebelum terjadi page fault.

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

  2. Buffer perangkat masukan/keluaran (penguncian page di memori).

    Penggantian page akan menjadikan duduk perkara mengacaukan proses yang melaksanakan operasi masukan/keluaran jika:
    • Buffer perangkat masukan/keluaran ikut tergusur.
    • Adanya Buffer satu perangkat masukan/keluaran menjadi rangkap.

  3. Page yang dipakai bersama.

    Bila beberapa pemakai menggunakan agenda 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.

  4. Backing store.

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

  5. Paging daemons.

    Paging bekerja bagus dikala terdapat banyak page frame bebas yang dapat diklaim begitu page fault terjadi. Jika setiap page frame penuh dan telah dimodifikasi, sebelum page gres 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.

  6. Penanganan page fault (page fault handling)

    Implementasi sistem paging harus mengatasi rincian-rincian agresi yang harus dilakukan dikala terjadi page fault.

Bagaimana? Sudah sangat terang tidak penjelesan di atas? Kalau ada yang kalian tambahin ya silahkan berikan rujukan atau komentar di bawah ini.

Berikut Blog Rujukan dari bahan ini :
Reiyza itu sahabat sekelas saya ;) Thanks sudah sharing bahan :P Sulit sekali mencari bahan soalnya! :)

Happy Sharing,

Sumber http://bugspin.blogspot.com/

0 comments

Post a Comment