Pergantian Page Pada Linux

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Pergantian Page Pada Linux as PDF for free.

More details

  • Words: 626
  • Pages: 2
PERGANTIAN PAGE PADA LINUX

Konsep memori virtual juga digunakan oleh Linux dalam mendukung kinerja sistem., memori virtual ini dapat meningkatkan efisiensi sistem khuusnya pada sistem operasi yang berdasarkan pada konsep multiprogramming, misalnya saja saat proses menunggu bagiannya di swap in ke memori, jatah waktu prosesor dapat diberikan ke proses-proses lain. Penggantian page pada Linux dieksekusi oleh page daemon yang setiap 250msec diaktifkan dan mengecek apakah jumlah page frame yang bebas sama dengan jumlah parameter system yang disebut lostfree (biasanya berukuran ΒΌ dari memori). Jika syarat tersebut tidak terpenuhi, maka page daemon akan mulai mentransfer pages dari memori ke disk sampai sampai jumlah page frames lostfree tersedia. Sedangkan, ketika jumlah dari lostfree tersebut lebih dari yang dibutuhkan, maka page daemon akan kembali ke status sleep karena tidak ada yang dapat dilakukannya. Kerja page daemon menggunakan algoritma clock yang dimodifikasi, banyaknya page yang dialokasikan untuk tiap proses akan bervariasi dalam waktu tertentu. Algoritma tersebut akan mencari setiap page secara sirkular. Pada putaran pertama, saat pointer menunjuk ke suatu page frame bit yang digunakan akan di-clear. Saat putaran kedua, seiap page frame yang belum diakses sejak putaran pertama akan diclear kan juga usage bitnya dan lalu akan dipindahkan ke free list \. Page frame dalam free list tersebut akan mempertahankan isinya sehingga saat page tersebut dibutuhkan, recover dari isi page dapat dilakukan sebelum page ditulis kembali. Saat ini, karena diketahui bahwa algoritma clock akan membutuhkan memori yang besar sehingga pergantian page pun membutuhkan waktu yang lama. Maka algoritma tersebut dimodifikasi ke dalam algoritma two-handed clock yang bisa dijelaskan pada gambar di bawah ini.

Dengan algoritma ini, page daemon melakukan maintanance terhadap 2pointer di dalam map utama. Saat algoritma dijalankan, yang pertama kali dilakukan ialah memebrsihkan usage hit paling akhir dan kemudian mengecek usage bit di belakangnya (backhand) jika kedua hand dijaga agar tetap dekat antara satu sama lain, page yang paling sering digunakan dapat diakses diantara front end dan back hand. Namun jika mereka terpisahkan sejauh 359o, maka algoritma modifikasi ini tidak berjalan dam kembali kepada algoritma clock yang asli. Setiap hand akan sedikit berotasi setiap kali page daemon dijalankan. Besarnya rotasi ditentukan seberapa banyak pages yang diakses untuk mendapatkan lotsfree. Saat sistem menemukan bahwa paging rate yang terjadi sangat tinggi dan jumlah free pages selalu di bawah lotsfree, maka page swapper akan mengeluarkan beberapa proses dari memori sehingga proses tersebut tidak dapat bersaing untuk mendapatkan page frames. Proses swap yang terjadi ialah sebagai berikut : swapper akan melihat apakah ada proses yang telah idle selama 20 detik atau lebih, jika ditemukan maka proses yang memiliki masa idle paling panjang akan di swap out. Sedangkan jika tidak ada proses yang telah idle selama itu maak 4 proses terbesar akan diproses dan salah satu yang telah berada paling lama di memori akan di swap out. Algoritma ini akan berulang sampai memori yang dibutuhkan telah direcovery. Disamping itu, setiap waktu swapper akan mengecek ke dalam disk apakah terdapat proses ready yang harus di swap in. Setiap proses dalam disk memikik atribut waktu saat di swap out, ukuran, nilai, dan waktu sleep. Atribut tersebut digunakan untuk menemukan proses mana yang akan dipilih oleh swapper untuk dimasukkan ke dalam disk. Secara logika, pemindahan proses dengan ukuran yang besar akan lebih mahal, sehingga proses seperti itu tidak boleh sering dipindahkan. Swap in hanya dilakukan jika terdapat pages kosong yang jumlahnya mencukupi. Struktur dan page table lah yang kemudian dipindahkan oleh swapper, swapper tidak memindahkan teks, data, dan stack page. Setiap segmentasi dari proses yang aktif memiliki tempat dalam disk saat mereka di-swap in atau swap out. Data dan stack segment dipindahkan ke scratch device namun teks program akan dimasukkan ke dalam page di dalam binary file nya. Tidak ada scratch copy untuk program teks.

Referensi Tanenbaum, Andrew. Modern Operating System. 2001. Netherland .Prentice Hall.

Related Documents