Professional Documents
Culture Documents
Pada sebuah program, instruksi yang akan dieksekusi harus berada di memori fisik/main memory (RAM) Tidak seluruh bagian program diproses, misal:
Error handling
digunakan
Berarti, meskipun seluruh bagian program diunggah ke main memory, tidak semuanya terpakai. Pada memori dengan kapasitas terbatas, hal ini akan menurunkan optimalisasi utilitas dari ruang memori fisik (memori utama).
Masalah:
Bagaimana menempatkan program yang
berukuran lebih besar dari kapasitas RAM. Multiprogramming yang membutuhkan alokasi memory besar.
Virtual memory: mekanisme yang memisahkan antara memori logis dan memori fisiknya.
Mekanisme ini menempatkan keseluruhan program di memori sekunder dan membawa page yang diperlukan ke memori fisik sehingga RAM hanya akan menyimpan sebagian alamat proses yang sering digunakan (dapat diambil sesuai kebutuhan).
yang tersedia. 3. Dapat menjalankan beberapa program secara bersamaan. 4. Shared library (copy-on-write).
Merupakan implementasi Virtual Memory yang paling umum digunakan. Memiliki prinsip yang sama dengan swapping. Perbedaannya adalah pada demand paging, page tidak akan dibawa ke memori fisik sampai benar-benar diperlukan (lazy swapper/pager).
Valid-invalid Bit: digunakan untuk menentukan page mana yang sudah berada di memori utama dan mana yang tidak ada.
Bit = 1
Bit = 0
Status = valid Page berada di memori utama Status = invalid Page berada di memori sekunder atau memang tidak ada.
Page Fault: interupsi yang terjadi ketika page yang dibutuhkan oleh suatu proses tidak berada di memori utama. Ketika page fault terjadi, proses akan dihentikan sementara page yang diminta dicari di dalam memori sekunder.
Referensi alamat = legalpage diambil dari disk Referensi alamat = ilegal proses dihentikan
Page replacement algorithm: algoritma untuk menentukan page mana yang akan di swap out ketika sebuah page baru membutuhkan frame.
Page replacement digunakan untuk mengatasi over-allocating saat dilakukan swap in.
Algoritma Optimal Prinsip: mengganti page yang tidak akan terpakai lagi dalam jangka waktu terlama. Algoritma dengan page fault terendah. Sulit diimplementasikan (sistem tidak tahu page apa saja yang akan digunakan selanjutnya).
2.
Algoritma FIFO (First In, First Out) Prinsip: seperti prinsip antrian (antrian tak berprioritas). Algoritma paling sederhana. Dianggap cukup baik sampai tahun 1970-an ketika Belady menemukan anomali pada algoritma ini (Anomali Belady).
3.
Least Recently Used (LRU) Mengasumsikan page yang sudah lama tidak digunakan tidak dibutuhkan lagi sehingga dapat di-swap out. Performanya mendekati algoritma optimal dengan cost sedikit lebih besar. Menggunakan linked list untuk mendata page mana yang paling lama tidak terpakai.
4.
Algoritma Second Chance Menggunakan circular queue dan reference bit bernilai 1 atau 0. Page dengan reference bit = 1 (baru diload) tidak akan langsung diganti meski di antrian paling bawah. Berdasarkan pada algoritma FIFO yang disempurnakan.
5.
Algoritma Random
Page yang akan di-swap out dipilih secara acak. Relatif low cost, karena tidak memerlukan stack, queue atau counter. Page fault-nya tinggi, tetapi lebih unggul dalam hal memory looping reference dari Algoritma LRU.
Ialah kondisi dimana satu proses terlalu sibuk melakukan page swapping, sehingga waktu processing lebih banyak untuk paging daripada untuk eksekusi.
Cara menghindari thrashing Menambah real memory Memperbaiki desain aplikasi Scheduling Memperbaiki penggunaan memori
Efek thrashing dapat dibatasi dengan menggunakan algoritma local (priority) replacement. Yaitu pengukuran yang menunjukkan bahwa setiap program membutuhkan minimal set halaman.
Proses terkecil
Proses terbesar