14 April 2010

PENGATURAN MEMORI PADA SISTEM OPERASI LINUX

Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multitasking, yang dapat berjalan di berbagai platform, termasuk prosesor INTEL 386 dan yang lebih tinggi. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, seperti Apple, Microsoft, dan Novell.

Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah, harga. Linux ini GRATIS. Berarti dapat diperbanyak, dan didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi banyak isue lainya dengan bersifat free, selain dari pertimbangan harga. Source code Linux tersedia bagi setiap orang.

Seperti pada sistem operasi pada umumnya, linux juga memiliki manajemen memori untuk memaksimalkan dan mengatasi keterbatasan memorinya. Memori manajemen pada Linux mempunyai dua komponen:
  • Berurusan dengan mengalokasikan dan membebaskan pages, kumpulan pages, dan kumpulan blok kecil dari memori.
  • Berurusan dengan pengaturan memori virtual, dimana memori dipetakan kedalam alamat ruang dari proses yang berjalan.
Memori Virtual menjaga agar alamat space terbaca dalam setiap proses dengan cara menciptakan pages dari memori virtual sesuai permintaan, dan mengatur pemakaian dari pages tersebut
Manajer Memori Virtual menjaga dua sudut pandang yang berbeda dari alamat space sebuah proses:
  • Sudut pandang logika menggambarkan instruksi berkaitan dengan tatanan dari alamat space
  •  Sudut pandang fisik dari tiap alamat space, yang tersimpan dalam table hardware pages untuk proses tersebut.
Selain penggunaan virtual memori, manajemen memori pada Linux juga menerapkan pemakaian cache, diantaranya :
1. Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.

2. Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.

3. Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.

Sumber : wikipedia bahasa Indonesia,
dari berbagai sumber.