Sistem Paging pada Sistem Operasi


Sistem Paging

Sistem Paging adalah sistem manajemen pada sistem operasi dalam mengatur program yang sedang berjalan. Program yang berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu program lebih besar dibandingkan dengan memori utama yang tersedia.

Paging itu memecah memori fisik menjadi blok-blok yang berukuran tertentu di sebut frame, dan memecah memori logika menjadi blok-blok yang disebut page, seperti di jelaskan dalam point pengertian di atas, Jadi karena ada program yang melebihi memori utama, maka dengan paging ini, dapat di pecah-pecah menjadi beberapa bagian, sehingga program dapat di eksekusi.

Untuk mengatasi hal tersebut Sistem paging mempunyai 2 solusi yaitu :

  • Konsep Overlay
    Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang dieksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dibuat ke memori begitu diperlukan dalam eksekusinya.

  • Virtual Memory
    Yaitu kemmapuan mengamati ruang memori melebihi memeori utama yang tersedia. Konsep ini pertama kali ditemukan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.

Gagasan virtual memory adalah ukuran gabungan program , data dan stack melampaui jumlah memori fisik yang tersedia. Sistem operasi menyimpan bagian – bagian proses yang sedang digunakan di memori utama dan sisanya di disk. Begitu bagian di disk diperlukan maka bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang diperlukan.

Masalah Penggantian Page

Pada dasarnya kesalahan halaman (page fault) sudah tidak lagi menjadi masalah yang terlalu dianggap serius. Hal ini disebabkan karena masing- masing halaman pasti akan mengalami paling tidak satu kali kesalahan dalam pemberian halaman yakni ketika halaman ini ditunjuk untuk pertama kalinya. Respresentasi seperti ini sebenarnya tidaklah terlalu akurat. Berdasarkan pertimbangan tersebut sebenarnya proses – proses yang memiliki 10 halaman hanya akan menggunakan setengah dari jumlah seluruh halaman yang dimilikinya Kemudian demand paging akan menyimpan I/O yang dibutuhkan untuk mengisi 5 halaman yang berlum pernah digunakan. Kita juga dapat meningkatkan derajat multiprogramming dengan menjalankan banyak proses sebanyak 2 kali.

Jika meningkatkan derajat multiprogramming itu sama artinya dengan melakukan over-allocating terhadap memori. Jika kita menjalankan 6 proses dengan masing – masing mendapatkan 10 halaman walaupun sebenarnya yang digunakan hanya 5 halaman akana memiliki utilisasi CPU dan throughput yang lebih tingi dengan 10 frame yang masih kosong. Lebih jauh lagi kita harus mempertimbangkan bahwa sistem memori tidak hanya digunkaan untuk menangani pengalamatan suatu program. Penyangga (buffer) untuk I/O juga menggunakan sejumlah memori. Penggunaan ini dapat meningkatkan pemakaian algoritma dalam penempatan memori.

Beberapa sistem mengalokasikan secara pasti beberapa persen dari memori yang dimilikinya untuk penyangga I/O dimana keduanya baik proses penggunan maupun subsistem dari I/O saling berlomba untuk memanfaatkan seluruh sistem memori.

Hal – hal yang berkaitan dengan sistem paging :

Istilah-istilah pada Sistem Paging :

Alamat Maya (Virtual Address)

Adalah alamat yang dihasilkan perhitungan menggunakan index register, base register,segment regoster dan sebagainya.

Alamat nyata (real Address).

Alamat nyata adalah alamat utama di memori fisik.

Page : Page adalah unit terkecil virtulal 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

Referensi :



- https://nabilanurul.wordpress.com/2012/05/11/sistem-paging/          

Komentar

Posting Komentar

Postingan Populer