Alokasi Memori 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 Alokasi Memori Pada Linux as PDF for free.

More details

  • Words: 463
  • Pages: 2
ALOKASI MEMORI PADA LINUX

Pada Linux, memori manajer dilakukan dengan tujuan mengefisienskan ruang alamat pada memori fisik, hal ini bertujuan agar proses yang dapat bekerja di memori lebih banyak dibandingkan dengan yang sudah ditentukan oleh kernel. Alokasi memori pada Linix dapat dilakukan dengan 2 macam algoritma, yaitu : 1.

Algoritma Buddy Pada algoritma ini blok memori berikutnya akan diperiksa ketika routine pelaksanaan alokasi ini dipanggil. Setelah diperiksa, jika ditemukan ada blok memori berikutnya, maka blok tersebut akan dialokasikan. Sedangkan jika tidak ditemukan maka daftar tingkat berikutnya akan diperiksa. Ketika ditemukan suatu blok bebas, maka blok tersebut akan dibagi menjadi dua, yang satu dialokasikan dan yang lain akan dipindahkan ke daftar yang di bawahnya. Alokasi ini ditangani oleh page allocator yang akan memanggil system call kmalloc() yang kemudian akan memerintahkan kernel untuk membagi blog-blog yang ada.

Contoh alokasi memori dengan algoritma Buddy Kekurangan dari algoritma ini ialah kurang efisien dalam pemakaiannya. Karena konsep kerjanya yang akan membagi 2 tiap blok, maka jika tersedia memori sebesari 1MB setiap blok yang akan digunakan akan berukuran 512 KB, sehingga akan terjadi ketidakefisienan jika proses hanya membutuhkan memori 256 KB saja. 2.

Algoritma Slab Alokasi Slab digunakan dengan tujuan mengalokasikan struktur data (obyek) kernel yang dibutuhkan di memori fisik untuk menjalankan proses tertentu. Alokai ini menggunakan algoritama slab yaitu dengan cara membentuk slab dari halaman-halaman memori fisik yang

berdekatan. Algoritma ini ditangani oleh slab allocator.sebuah cache pada disk biasanya terdiri dari satu atau lebih slab dan diisi oleh beberapa obyek yan terbentuk dari intantiasi struktur data kernel yang telah direpresentasikan oleh cache yang bersangkutan. Tiap slab yang ada dapat memiliki status sebagai berikut : Full ; yaitu saat semua obyek dalam slab telah used Empty ; yaitu saat semua obyek di dalam slab sedang free Partial ; terdapat obyek yang terpakai dan juga used Ketika sebuah cache dibentuk maka semua obyek di dalamnya akan berstatus free, statu tersebut akan berubah menjadi used ketika terjadi permintaan dari suatu proses. Selanjutnya obyek-oyek dengan status used yang talah dikelompokkan ke dalam slab-slab akan dipetakan dari cache ke dalam memori fisik.

Contoh alokasi memori dengan algoritma Slab Pada algoritma slab memori fisik tidak perlu difragmentasi karena ukuran obyek-obyek tersebut telah ditetapkan sesuai dengan yang dibutuhkan oleh proses. Selain itu, karena kerja cache yang dibentuk pada disk akan didayagunakan dengan baik, permintaan oleh memori dapat cepat terpenuhi. Selain kedua algoritma di atas, Linux juga menggunakan variasi dari algoritma clock. Prinsip kerjanya ialah pada batas atas dan batas bawah halaman bebas yang ada. Thread akan dijalankan secara periodik, jika jumlah halaman yang bebas kurang dari batas atas halaman bebas, maka thread tersebut akan membebaskan 3 halaman. Sedangkan juka halaman yang bebas kurang dari batas bawah halaman bebas, maka thread akan membebaskan 6 halaman dan tidur untuk beberapa saat sebelum berjalan kembali. Referensi : http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch09.html

Related Documents